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