diff options
Diffstat (limited to 'src/qmmpui/playlistcontainer.cpp')
| -rw-r--r-- | src/qmmpui/playlistcontainer.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/qmmpui/playlistcontainer.cpp b/src/qmmpui/playlistcontainer.cpp index cb774726c..1ca4d79dc 100644 --- a/src/qmmpui/playlistcontainer.cpp +++ b/src/qmmpui/playlistcontainer.cpp @@ -140,6 +140,17 @@ static bool _fileModificationDateGreaterComparator(PlayListTrack* s1,PlayListTra return QFileInfo(s1->value(Qmmp::URL)).lastModified() > QFileInfo(s2->value(Qmmp::URL)).lastModified(); } +//by group +static bool _groupLessComparator(PlayListTrack* s1,PlayListTrack* s2) +{ + return QString::localeAwareCompare (s1->groupName(), s2->groupName()) < 0; +} + +static bool _groupGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) +{ + return QString::localeAwareCompare (s1->groupName(), s2->groupName()) > 0; +} + void PlayListContainer::doSort(int sort_mode, QList<PlayListTrack*>& list_to_sort, bool reverted) { QList<PlayListTrack*>::iterator begin; @@ -193,6 +204,10 @@ void PlayListContainer::doSort(int sort_mode, QList<PlayListTrack*>& list_to_sor compareLessFunc = _fileModificationDateLessComparator; compareGreaterFunc = _fileModificationDateGreaterComparator; break; + case PlayListModel::GROUP: + compareLessFunc = _groupLessComparator; + compareGreaterFunc = _groupGreaterComparator; + break; default: compareLessFunc = _titleLessComparator; compareGreaterFunc = _titleGreaterComparator; |
