diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-10-02 06:27:28 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-10-02 06:27:28 +0000 |
| commit | 047d5bb26c81578808fb4b8583888f8dcdff533e (patch) | |
| tree | d07ca9aeedc68c72f1f76066c199d957476cc56d | |
| parent | 5b86ac4c17a8f59eabe440966c3308b9094d50c8 (diff) | |
| download | qmmp-047d5bb26c81578808fb4b8583888f8dcdff533e.tar.gz qmmp-047d5bb26c81578808fb4b8583888f8dcdff533e.tar.bz2 qmmp-047d5bb26c81578808fb4b8583888f8dcdff533e.zip | |
Show track details when double-clicking on song title in main window
(patch by Thomas Perl) (#812)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5642 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/plugins/Ui/skinned/textscroller.cpp | 16 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/textscroller.h | 1 | ||||
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 13 | ||||
| -rw-r--r-- | src/qmmpui/playlistmodel.h | 5 |
4 files changed, 35 insertions, 0 deletions
diff --git a/src/plugins/Ui/skinned/textscroller.cpp b/src/plugins/Ui/skinned/textscroller.cpp index c06a95915..214df8225 100644 --- a/src/plugins/Ui/skinned/textscroller.cpp +++ b/src/plugins/Ui/skinned/textscroller.cpp @@ -28,6 +28,8 @@ #include <qmmp/qmmp.h> #include <qmmp/soundcore.h> #include <qmmpui/metadataformatter.h> +#include <qmmpui/playlistmanager.h> +#include <qmmpui/playlistmodel.h> #include "skin.h" #include "actionmanager.h" #include "textscroller.h" @@ -205,6 +207,20 @@ void TextScroller::mouseMoveEvent (QMouseEvent *e) QWidget::mouseMoveEvent(e); } +void TextScroller::mouseDoubleClickEvent(QMouseEvent *e) +{ + if(e->button() == Qt::LeftButton) + { + PlayListManager *manager = PlayListManager::instance(); + PlayListModel *model = manager->currentPlayList(); + model->showDetailsForCurrent(this); + } + else + { + QWidget::mouseDoubleClickEvent(e); + } +} + void TextScroller::processState(Qmmp::State state) { switch(state) diff --git a/src/plugins/Ui/skinned/textscroller.h b/src/plugins/Ui/skinned/textscroller.h index 32cc1cb5a..919f4644b 100644 --- a/src/plugins/Ui/skinned/textscroller.h +++ b/src/plugins/Ui/skinned/textscroller.h @@ -60,6 +60,7 @@ private: void mousePressEvent(QMouseEvent *); void mouseReleaseEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); void preparePixmap(const QString &text, bool scrollable = false); QString m_defautText; QString m_bufferText; diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp index e381b109f..768dd6e36 100644 --- a/src/qmmpui/playlistmodel.cpp +++ b/src/qmmpui/playlistmodel.cpp @@ -624,6 +624,19 @@ void PlayListModel::showDetails(QWidget *parent) } } +void PlayListModel::showDetailsForCurrent(QWidget *parent) +{ + if (m_current_track) + { + QList<PlayListTrack *> l; + l.append(m_current_track); + QDialog *d = new DetailsDialog(l, parent); + TagUpdater *updater = new TagUpdater(d, l); + connect(updater, SIGNAL(destroyed(QObject *)),SLOT(updateMetaData())); + d->show(); + } +} + int PlayListModel::firstSelectedUpper(int row) { for (int i = row - 1;i >= 0;i--) diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h index d8602d531..bc39fe2aa 100644 --- a/src/qmmpui/playlistmodel.h +++ b/src/qmmpui/playlistmodel.h @@ -458,6 +458,11 @@ public slots: */ void showDetails(QWidget *parent = 0); /*! + * Shows the details for the current song (if any). + * @param parent parent widget. + */ + void showDetailsForCurrent(QWidget *parent = 0); + /*! * Ensures that the current track is visible. */ void doCurrentVisibleRequest(); |
