diff options
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp index bd75a57ca..5fd7ec1db 100644 --- a/src/qmmpui/playlistmodel.cpp +++ b/src/qmmpui/playlistmodel.cpp @@ -862,7 +862,10 @@ void PlayListModel::updateMetaData() void PlayListModel::onTaskFinished() { if(m_task->isChanged(m_container)) //update unchanged container only + { + m_task->clear(); return; + } if(m_task->type() == PlayListTask::SORT || m_task->type() == PlayListTask::SORT_SELECTION) { @@ -870,6 +873,13 @@ void PlayListModel::onTaskFinished() m_current = m_container->indexOf(m_current_track); emit listChanged(STRUCTURE); } + else if(m_task->type() == PlayListTask::SORT_BY_COLUMN) + { + m_container->replaceTracks(m_task->takeResults(&m_current_track)); + m_current = m_container->indexOf(m_current_track); + emit listChanged(STRUCTURE); + emit sortingByColumnFinished(m_task->column(), m_task->isReverted()); + } else if(m_task->type() == PlayListTask::REMOVE_INVALID || m_task->type() == PlayListTask::REMOVE_DUPLICATES) { |
