aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistcontainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/playlistcontainer.cpp')
-rw-r--r--src/qmmpui/playlistcontainer.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/qmmpui/playlistcontainer.cpp b/src/qmmpui/playlistcontainer.cpp
index 1ca4d79dc..a717f9677 100644
--- a/src/qmmpui/playlistcontainer.cpp
+++ b/src/qmmpui/playlistcontainer.cpp
@@ -75,6 +75,16 @@ static bool _artistGreaterComparator(PlayListTrack* s1,PlayListTrack* s2)
{
return QString::localeAwareCompare (s1->value(Qmmp::ARTIST), s2->value(Qmmp::ARTIST)) > 0;
}
+//by album artist
+static bool _albumArtistLessComparator(PlayListTrack* s1,PlayListTrack* s2)
+{
+ return QString::localeAwareCompare (s1->value(Qmmp::ALBUMARTIST), s2->value(Qmmp::ALBUMARTIST)) < 0;
+}
+
+static bool _albumArtistGreaterComparator(PlayListTrack* s1,PlayListTrack* s2)
+{
+ return QString::localeAwareCompare (s1->value(Qmmp::ALBUMARTIST), s2->value(Qmmp::ALBUMARTIST)) > 0;
+}
//by path
static bool _pathAndFilenameLessComparator(PlayListTrack* s1,PlayListTrack* s2)
{
@@ -180,6 +190,10 @@ void PlayListContainer::doSort(int sort_mode, QList<PlayListTrack*>& list_to_sor
compareLessFunc = _artistLessComparator;
compareGreaterFunc = _artistGreaterComparator;
break;
+ case PlayListModel::ALBUMARTIST:
+ compareLessFunc = _albumArtistLessComparator;
+ compareGreaterFunc = _albumArtistGreaterComparator;
+ break;
case PlayListModel::FILENAME:
compareLessFunc = _filenameLessComparator;
compareGreaterFunc = _filenameGreaterComparator;