diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-04-14 12:50:20 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-04-14 12:50:20 +0000 |
| commit | 4bfe51345d595d1ffc1b1ace32516f3c5fe1a896 (patch) | |
| tree | 794513a47baedfe530a3ac2feda2a553c18ec2cd | |
| parent | 555165e35704240335bd7d7ea4af6c66bee8d73b (diff) | |
| download | qmmp-4bfe51345d595d1ffc1b1ace32516f3c5fe1a896.tar.gz qmmp-4bfe51345d595d1ffc1b1ace32516f3c5fe1a896.tar.bz2 qmmp-4bfe51345d595d1ffc1b1ace32516f3c5fe1a896.zip | |
added sorting on mouse click
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4847 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.cpp | 12 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.h | 3 | ||||
| -rw-r--r-- | src/qmmpui/playlisttask.cpp | 7 |
3 files changed, 17 insertions, 5 deletions
diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 75cb299fa..4d207ef1e 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -33,6 +33,7 @@ #include <qmmp/qmmp.h> #include <qmmpui/qmmpuisettings.h> #include <qmmpui/playlistheadermodel.h> +#include <qmmpui/playlistmanager.h> #include "skin.h" #include "playlistheader.h" @@ -211,7 +212,7 @@ void PlayListHeader::mousePressEvent(QMouseEvent *e) else { m_press_offset = e->pos().x() - m_rects.at(m_pressed_column).x(); - m_task = MOVE; + m_task = SORT; } } } @@ -224,12 +225,21 @@ void PlayListHeader::mousePressEvent(QMouseEvent *e) void PlayListHeader::mouseReleaseEvent(QMouseEvent *) { + if(m_task == SORT) + { + qDebug("sort column"); + PlayListManager::instance()->selectedPlayList()->sortByColumn(m_pressed_column); + } m_task = NO_TASK; update(); } void PlayListHeader::mouseMoveEvent(QMouseEvent *e) { + if(m_task == SORT) + { + m_task = MOVE; + } if(m_task == RESIZE && m_model->count() > 1) { m_model->resize(m_pressed_column, m_old_size + e->pos().x() - m_pressed_pos.x()); diff --git a/src/plugins/Ui/skinned/playlistheader.h b/src/plugins/Ui/skinned/playlistheader.h index b43e2c962..648e24fe1 100644 --- a/src/plugins/Ui/skinned/playlistheader.h +++ b/src/plugins/Ui/skinned/playlistheader.h @@ -88,7 +88,8 @@ private: { NO_TASK = -1, RESIZE, - MOVE + MOVE, + SORT } m_task; diff --git a/src/qmmpui/playlisttask.cpp b/src/qmmpui/playlisttask.cpp index 4b04ca82a..12fe44091 100644 --- a/src/qmmpui/playlisttask.cpp +++ b/src/qmmpui/playlisttask.cpp @@ -184,10 +184,11 @@ void PlayListTask::sortByColumn(QList<PlayListTrack *> tracks, int column) if(isRunning()) return; clear(); + m_reverted = !m_reverted; m_task = SORT_BY_COLUMN; m_input_tracks = tracks; - m_tracks = tracks; m_column = column; + m_sort_mode = PlayListModel::TITLE; //TODO add pattern check for(int i = 0; i < tracks.count(); ++i) { @@ -246,7 +247,7 @@ void PlayListTask::run() { qDebug("PlayListTask: started"); - if(m_task == SORT || m_task == SORT_SELECTION) + if(m_task == SORT || m_task == SORT_SELECTION || m_task == SORT_BY_COLUMN) { bool(*compareLessFunc)(TrackField*, TrackField*) = 0; bool(*compareGreaterFunc)(TrackField*, TrackField*) = 0; @@ -373,7 +374,7 @@ bool PlayListTask::isChanged(PlayListContainer *container) QList<PlayListTrack *> PlayListTask::takeResults(PlayListTrack **current_track) { - if(m_task == SORT) + if(m_task == SORT || m_task == SORT_BY_COLUMN) { foreach (TrackField *f, m_fields) m_tracks.append(f->track); |
