diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-01-09 12:01:22 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-01-09 12:01:22 +0000 |
| commit | ebd7f9bc697973366de8a6bf7265051e825e0680 (patch) | |
| tree | 1feb9df1c5fe3493e9aa1dd8f5d6233a38ae9d3c /src/qmmpui/playlistcontainer.cpp | |
| parent | bc7ad688c646afd2a89e5c5ff58696f2df2c8605 (diff) | |
| download | qmmp-ebd7f9bc697973366de8a6bf7265051e825e0680.tar.gz qmmp-ebd7f9bc697973366de8a6bf7265051e825e0680.tar.bz2 qmmp-ebd7f9bc697973366de8a6bf7265051e825e0680.zip | |
renaming experimental branch
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4675 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/playlistcontainer.cpp')
| -rw-r--r-- | src/qmmpui/playlistcontainer.cpp | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/src/qmmpui/playlistcontainer.cpp b/src/qmmpui/playlistcontainer.cpp index 7772d1b3e..c7aaf3482 100644 --- a/src/qmmpui/playlistcontainer.cpp +++ b/src/qmmpui/playlistcontainer.cpp @@ -28,208 +28,3 @@ void PlayListContainer::addTrack(PlayListTrack *track) { addTracks(QList<PlayListTrack *> () << track); } - -////===============THE BEGINNING OF SORT IMPLEMENTATION =======================//// - -// First we'll implement bundle of static compare procedures -// to sort items in different ways - -//by title -static bool _titleLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->value(Qmmp::TITLE), s2->value(Qmmp::TITLE)) < 0; -} - -static bool _titleGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->value(Qmmp::TITLE), s2->value(Qmmp::TITLE)) > 0; -} -//by album+disc -static bool _discnumberLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->value(Qmmp::DISCNUMBER), s2->value(Qmmp::DISCNUMBER)) < 0; -} - -static bool _discnumberGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->value(Qmmp::DISCNUMBER), s2->value(Qmmp::DISCNUMBER)) > 0; -} -//by album -static bool _albumLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->value(Qmmp::ALBUM), s2->value(Qmmp::ALBUM)) < 0; -} - -static bool _albumGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->value(Qmmp::ALBUM), s2->value(Qmmp::ALBUM)) > 0; -} -//by artist -static bool _artistLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->value(Qmmp::ARTIST), s2->value(Qmmp::ARTIST)) < 0; -} - -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) -{ - return QString::localeAwareCompare (s1->url(), s2->url()) < 0; -} - -static bool _pathAndFilenameGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QString::localeAwareCompare (s1->url(), s2->url()) > 0; -} -//by file name -static bool _filenameLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - QFileInfo i_s1(s1->url()); - QFileInfo i_s2(s2->url()); - return QString::localeAwareCompare (i_s1.baseName(), i_s2.baseName()) < 0; -} - -static bool _filenameGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - QFileInfo i_s1(s1->url()); - QFileInfo i_s2(s2->url()); - return QString::localeAwareCompare (i_s1.baseName(), i_s2.baseName()) > 0; -} -//by date -static bool _dateLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return s1->value(Qmmp::YEAR).toInt() < s2->value(Qmmp::YEAR).toInt(); -} - -static bool _dateGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return s1->value(Qmmp::YEAR).toInt() > s2->value(Qmmp::YEAR).toInt(); -} -//by track -static bool _trackLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return s1->value(Qmmp::TRACK).toInt() < s2->value(Qmmp::TRACK).toInt(); -} - -static bool _trackGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return s1->value(Qmmp::TRACK).toInt() > s2->value(Qmmp::TRACK).toInt(); -} -//by file creation date -static bool _fileCreationDateLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QFileInfo(s1->value(Qmmp::URL)).created() < QFileInfo(s2->value(Qmmp::URL)).created(); -} - -static bool _fileCreationDateGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QFileInfo(s1->value(Qmmp::URL)).created() > QFileInfo(s2->value(Qmmp::URL)).created(); -} -//by file modification date -static bool _fileModificationDateLessComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - return QFileInfo(s1->value(Qmmp::URL)).lastModified() < QFileInfo(s2->value(Qmmp::URL)).lastModified(); -} - -static bool _fileModificationDateGreaterComparator(PlayListTrack* s1,PlayListTrack* s2) -{ - 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; - QList<PlayListTrack*>::iterator end; - - begin = list_to_sort.begin(); - end = list_to_sort.end(); - - bool(*compareLessFunc)(PlayListTrack*,PlayListTrack*) = 0; - bool(*compareGreaterFunc)(PlayListTrack*,PlayListTrack*) = 0; - - switch (sort_mode) - { - case PlayListModel::TITLE: - compareLessFunc = _titleLessComparator; - compareGreaterFunc = _titleGreaterComparator; - break; - case PlayListModel::DISCNUMBER: - compareLessFunc = _discnumberLessComparator; - compareGreaterFunc = _discnumberGreaterComparator; - break; - case PlayListModel::ALBUM: - compareLessFunc = _albumLessComparator; - compareGreaterFunc = _albumGreaterComparator; - break; - case PlayListModel::ARTIST: - compareLessFunc = _artistLessComparator; - compareGreaterFunc = _artistGreaterComparator; - break; - case PlayListModel::ALBUMARTIST: - compareLessFunc = _albumArtistLessComparator; - compareGreaterFunc = _albumArtistGreaterComparator; - break; - case PlayListModel::FILENAME: - compareLessFunc = _filenameLessComparator; - compareGreaterFunc = _filenameGreaterComparator; - break; - case PlayListModel::PATH_AND_FILENAME: - compareLessFunc = _pathAndFilenameLessComparator; - compareGreaterFunc = _pathAndFilenameGreaterComparator; - break; - case PlayListModel::DATE: - compareLessFunc = _dateLessComparator; - compareGreaterFunc = _dateGreaterComparator; - break; - case PlayListModel::TRACK: - compareLessFunc = _trackLessComparator; - compareGreaterFunc = _trackGreaterComparator; - break; - case PlayListModel::FILE_CREATION_DATE: - compareLessFunc = _fileCreationDateLessComparator; - compareGreaterFunc = _fileCreationDateGreaterComparator; - break; - case PlayListModel::FILE_MODIFICATION_DATE: - compareLessFunc = _fileModificationDateLessComparator; - compareGreaterFunc = _fileModificationDateGreaterComparator; - break; - case PlayListModel::GROUP: - compareLessFunc = _groupLessComparator; - compareGreaterFunc = _groupGreaterComparator; - break; - default: - compareLessFunc = _titleLessComparator; - compareGreaterFunc = _titleGreaterComparator; - } - - if(reverted) - qStableSort(begin,end,compareGreaterFunc); - else - qStableSort(begin,end,compareLessFunc); -} - -////=============== THE END OF SORT IMPLEMENTATION =======================//// |
