From a49bf86a45f691e14296bc2420dafbf565cf7248 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 23 Aug 2013 08:29:29 +0000 Subject: added sorting by group git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3649 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/playlistcontainer.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/qmmpui/playlistcontainer.cpp') 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& list_to_sort, bool reverted) { QList::iterator begin; @@ -193,6 +204,10 @@ void PlayListContainer::doSort(int sort_mode, QList& list_to_sor compareLessFunc = _fileModificationDateLessComparator; compareGreaterFunc = _fileModificationDateGreaterComparator; break; + case PlayListModel::GROUP: + compareLessFunc = _groupLessComparator; + compareGreaterFunc = _groupGreaterComparator; + break; default: compareLessFunc = _titleLessComparator; compareGreaterFunc = _titleGreaterComparator; -- cgit v1.2.3-13-gbd6f