summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorronso0 <ronso0@mixxx.org>2019-09-23 03:08:03 +0200
committerronso0 <ronso0@mixxx.org>2019-09-23 03:08:03 +0200
commit5cb7a1e919c76e98ac21e5bb50fb0394b0cbd613 (patch)
tree2565356fc84844ba7439a9b44a92d5b9d77c754e
parenta7ae01df752b557ddcff261b3500a5189143927b (diff)
open cover art view on left click release
-rw-r--r--src/widget/wcoverart.cpp18
-rw-r--r--src/widget/wcoverart.h3
2 files changed, 19 insertions, 2 deletions
diff --git a/src/widget/wcoverart.cpp b/src/widget/wcoverart.cpp
index dfdab51473..4d64463b67 100644
--- a/src/widget/wcoverart.cpp
+++ b/src/widget/wcoverart.cpp
@@ -231,13 +231,27 @@ void WCoverArt::mousePressEvent(QMouseEvent* event) {
if (event->button() == Qt::RightButton && m_loadedTrack) { // show context-menu
m_pMenu->setCoverArt(m_lastRequestedCover);
m_pMenu->popup(event->globalPos());
- } else if (event->button() == Qt::LeftButton) { // init/close fullsize cover
+ } else if (event->button() == Qt::LeftButton) {
+ // do nothing if left button is pressed,
+ // wait for button release
+ m_clickTimer.setSingleShot(true);
+ m_clickTimer.start(500);
+ }
+}
+
+void WCoverArt::mouseReleaseEvent(QMouseEvent* event) {
+ if (!m_bEnable) {
+ return;
+ }
+
+ if (event->button() == Qt::LeftButton && m_loadedTrack &&
+ m_clickTimer.isActive()) { // init/close fullsize cover
if (m_pDlgFullSize->isVisible()) {
m_pDlgFullSize->close();
} else {
m_pDlgFullSize->init(m_loadedTrack);
}
- }
+ } // else it was a long leftclick or a right click that's already been processed
}
void WCoverArt::mouseMoveEvent(QMouseEvent* event) {
diff --git a/src/widget/wcoverart.h b/src/widget/wcoverart.h
index 1c71a365da..c89255cd56 100644
--- a/src/widget/wcoverart.h
+++ b/src/widget/wcoverart.h
@@ -5,6 +5,7 @@
#include <QDomNode>
#include <QMouseEvent>
#include <QWidget>
+#include <QTimer>
#include "mixer/basetrackplayer.h"
#include "preferences/usersettings.h"
@@ -47,6 +48,7 @@ class WCoverArt : public QWidget, public WBaseWidget, public TrackDropTarget {
void paintEvent(QPaintEvent* /*unused*/) override;
void resizeEvent(QResizeEvent* /*unused*/) override;
void mousePressEvent(QMouseEvent* /*unused*/) override;
+ void mouseReleaseEvent(QMouseEvent* /*unused*/) override;
void dragEnterEvent(QDragEnterEvent *event) override;
void dropEvent(QDropEvent *event) override;
@@ -67,6 +69,7 @@ class WCoverArt : public QWidget, public WBaseWidget, public TrackDropTarget {
CoverInfo m_lastRequestedCover;
BaseTrackPlayer* m_pPlayer;
DlgCoverArtFullSize* m_pDlgFullSize;
+ QTimer m_clickTimer;
};
#endif // WCOVERART_H