aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlisttask.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-04-10 11:28:01 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-04-10 11:28:01 +0000
commit90f13f20aa9bf0e076065125e8edfdbcdaf785a4 (patch)
treebeeb445cb175408613bdbe72a4560bef6b0df2f1 /src/qmmpui/playlisttask.cpp
parent76f1c92734c5a4b9432b07eb182c6e96908a29b0 (diff)
downloadqmmp-90f13f20aa9bf0e076065125e8edfdbcdaf785a4.tar.gz
qmmp-90f13f20aa9bf0e076065125e8edfdbcdaf785a4.tar.bz2
qmmp-90f13f20aa9bf0e076065125e8edfdbcdaf785a4.zip
added estra sorting function
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4843 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/playlisttask.cpp')
-rw-r--r--src/qmmpui/playlisttask.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/qmmpui/playlisttask.cpp b/src/qmmpui/playlisttask.cpp
index f1859135e..4b6d4b4e4 100644
--- a/src/qmmpui/playlisttask.cpp
+++ b/src/qmmpui/playlisttask.cpp
@@ -121,7 +121,9 @@ PlayListTask::PlayListTask(QObject *parent) : QThread(parent)
}
PlayListTask::~PlayListTask()
-{}
+{
+ clear();
+}
void PlayListTask::sort(QList<PlayListTrack *> tracks, int mode)
{
@@ -176,6 +178,26 @@ void PlayListTask::sortSelection(QList<PlayListTrack *> tracks, int mode)
start();
}
+void PlayListTask::sortByColumn(QList<PlayListTrack *> tracks, int column)
+{
+ if(isRunning())
+ return;
+ clear();
+ m_task = SORT_BY_COLUMN;
+ m_input_tracks = tracks;
+ m_tracks = tracks;
+
+ for(int i = 0; i < tracks.count(); ++i)
+ {
+ TrackField *f = new TrackField;
+ f->track = tracks[i];
+ f->value = f->track->formattedTitle(column);
+ m_fields.append(f);
+ }
+ MetaDataManager::instance()->prepareForAnotherThread();
+ start();
+}
+
void PlayListTask::removeInvalidTracks(QList<PlayListTrack *> tracks, PlayListTrack *current_track)
{
if(isRunning())