aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
-rw-r--r--src/qmmpui/playlistmodel.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 50ffe35b1..bbdb64a14 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -639,6 +639,17 @@ static bool _titleGreaterComparator(PlayListItem* s1,PlayListItem* s2)
{
return QString::localeAwareCompare (s1->value(Qmmp::TITLE), s2->value(Qmmp::TITLE)) > 0;
}
+
+//by album+disc
+static bool _discnumberLessComparator(PlayListItem* s1,PlayListItem* s2)
+{
+ return QString::localeAwareCompare (s1->value(Qmmp::DISCNUMBER), s2->value(Qmmp::DISCNUMBER)) < 0;
+}
+
+static bool _discnumberGreaterComparator(PlayListItem* s1,PlayListItem* s2)
+{
+ return QString::localeAwareCompare (s1->value(Qmmp::DISCNUMBER), s2->value(Qmmp::DISCNUMBER)) > 0;
+}
//by album
static bool _albumLessComparator(PlayListItem* s1,PlayListItem* s2)
{
@@ -722,6 +733,10 @@ void PlayListModel::doSort(int sort_mode,QList<PlayListItem*>& list_to_sort)
compareLessFunc = _titleLessComparator;
compareGreaterFunc = _titleGreaterComparator;
break;
+ case DISCNUMBER:
+ compareLessFunc = _discnumberLessComparator;
+ compareGreaterFunc = _discnumberGreaterComparator;
+ break;
case ALBUM:
compareLessFunc = _albumLessComparator;
compareGreaterFunc = _albumGreaterComparator;