diff options
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 15 |
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; |
