From c3bc4443f01969a691ade3993b94c1b40e7d18f3 Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 12 Jan 2014 19:55:05 -0600 Subject: [PATCH 1/7] Started work on added drag and drop from deck to deck --- src/widget/wtrackproperty.cpp | 16 ++++++++++++++++ src/widget/wtrackproperty.h | 3 +++ src/widget/wtracktext.cpp | 15 +++++++++++++++ src/widget/wtracktext.h | 7 +++++++ 4 files changed, 41 insertions(+) diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index 55326fd3a4a..2bf733acb82 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -1,3 +1,7 @@ + +#include +#include + #include "widget/wtrackproperty.h" WTrackProperty::WTrackProperty(QWidget* pParent) @@ -41,3 +45,15 @@ void WTrackProperty::updateLabel(TrackInfoObject*) { } } } + +void WTrackProperty::dropEvent(QDropEvent *event) { + if (event->mimeData()->hasUrls() && + event->mimeData()->urls().size() > 0) { + QUrl url = event->mimeData()->urls().first(); + QString fileName = url.toLocalFile(); + qDebug() << fileName; + event->accept(); + } else { + event->ignore(); + } +} diff --git a/src/widget/wtrackproperty.h b/src/widget/wtrackproperty.h index 30f9b1f615c..f63f394e0bf 100644 --- a/src/widget/wtrackproperty.h +++ b/src/widget/wtrackproperty.h @@ -1,6 +1,8 @@ #ifndef WTRACKPROPERTY_H #define WTRACKPROPERTY_H +#include + #include "widget/wlabel.h" #include "trackinfoobject.h" #include "skin/skincontext.h" @@ -12,6 +14,7 @@ class WTrackProperty : public WLabel { virtual ~WTrackProperty(); void setup(QDomNode node, const SkinContext& context); + void dropEvent(QDropEvent *event); public slots: void slotTrackLoaded(TrackPointer track); diff --git a/src/widget/wtracktext.cpp b/src/widget/wtracktext.cpp index 6e029e35fd1..a2aacf97a1f 100644 --- a/src/widget/wtracktext.cpp +++ b/src/widget/wtracktext.cpp @@ -1,4 +1,7 @@ +#include +#include + #include "widget/wtracktext.h" WTrackText::WTrackText(QWidget* pParent) @@ -33,3 +36,15 @@ void WTrackText::updateLabel(TrackInfoObject*) { m_pLabel->setText(m_pCurrentTrack->getInfo()); } } + +void WTrackText::dropEvent(QDropEvent *event) { + if (event->mimeData()->hasUrls() && + event->mimeData()->urls().size() > 0) { + QUrl url = event->mimeData()->urls().first(); + QString fileName = url.toLocalFile(); + qDebug() << fileName; + event->accept(); + } else { + event->ignore(); + } +} diff --git a/src/widget/wtracktext.h b/src/widget/wtracktext.h index 06993cfcd32..80dc8a9ba6e 100644 --- a/src/widget/wtracktext.h +++ b/src/widget/wtracktext.h @@ -1,6 +1,8 @@ #ifndef WTRACKTEXT_H #define WTRACKTEXT_H +#include + #include "widget/wlabel.h" #include "trackinfoobject.h" @@ -10,6 +12,11 @@ class WTrackText : public WLabel { WTrackText(QWidget *parent); virtual ~WTrackText(); + void dropEvent(QDropEvent *event); + + signals: + void trackDropped(QString fileName, QString group); + public slots: void slotTrackLoaded(TrackPointer track); void slotTrackUnloaded(TrackPointer track); From 4bb95ec575cfb56cef12541833d62914c6b6ec9b Mon Sep 17 00:00:00 2001 From: Tom Date: Thu, 16 Jan 2014 02:26:34 -0600 Subject: [PATCH 2/7] Added WTrackProperty droppedTrack functionality --- src/skin/legacyskinparser.cpp | 8 ++++++-- src/widget/wtrackproperty.cpp | 30 +++++++++++++++++++++++++----- src/widget/wtrackproperty.h | 9 ++++++++- 3 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/skin/legacyskinparser.cpp b/src/skin/legacyskinparser.cpp index ae29e666065..243535d9732 100644 --- a/src/skin/legacyskinparser.cpp +++ b/src/skin/legacyskinparser.cpp @@ -789,14 +789,18 @@ QWidget* LegacySkinParser::parseText(QDomElement node) { QWidget* LegacySkinParser::parseTrackProperty(QDomElement node) { QString channelStr = lookupNodeGroup(node); - + const char* pSafeChannelStr = safeChannelString(channelStr); BaseTrackPlayer* pPlayer = m_pPlayerManager->getPlayer(channelStr); if (!pPlayer) return NULL; - WTrackProperty* p = new WTrackProperty(m_pParent); + WTrackProperty* p = new WTrackProperty(pSafeChannelStr, m_pConfig, m_pParent); + + connect(p, SIGNAL(trackDropped(QString,QString)), + m_pPlayerManager, SLOT(slotLoadToPlayer(QString,QString))); + setupWidget(node, p); // NOTE(rryan): To support color schemes, the WWidget::setup() call must // come first. This is because WNumber/WLabel both change the palette based diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index 2bf733acb82..c97378d71e4 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -2,11 +2,14 @@ #include #include +#include "controlobject.h" #include "widget/wtrackproperty.h" -WTrackProperty::WTrackProperty(QWidget* pParent) - : WLabel(pParent) { - +WTrackProperty::WTrackProperty(const char* group, ConfigObject* pConfig, QWidget* pParent) + : WLabel(pParent), + m_pGroup(group), + m_pConfig(pConfig) { + setAcceptDrops(true); } WTrackProperty::~WTrackProperty() { @@ -46,13 +49,30 @@ void WTrackProperty::updateLabel(TrackInfoObject*) { } } +void WTrackProperty::dragEnterEvent(QDragEnterEvent *event) { + if (event->mimeData()->hasUrls() && + event->mimeData()->urls().size() > 0) { + // Accept if the Deck isn't playing or the settings allow to interrupt a playing deck + if ((!ControlObject::get(ConfigKey(m_pGroup, "play")) || + m_pConfig->getValueString(ConfigKey("[Controls]", "AllowTrackLoadToPlayingDeck")).toInt())) { + event->acceptProposedAction(); + } else { + event->ignore(); + } + } +} + void WTrackProperty::dropEvent(QDropEvent *event) { if (event->mimeData()->hasUrls() && event->mimeData()->urls().size() > 0) { QUrl url = event->mimeData()->urls().first(); - QString fileName = url.toLocalFile(); - qDebug() << fileName; + QString filename = url.toLocalFile(); + // If the file is on a network share, try just converting the URL to a string + if (filename == "") { + filename = url.toString(); + } event->accept(); + emit(trackDropped(filename, m_pGroup)); } else { event->ignore(); } diff --git a/src/widget/wtrackproperty.h b/src/widget/wtrackproperty.h index f63f394e0bf..9deb1a25bf5 100644 --- a/src/widget/wtrackproperty.h +++ b/src/widget/wtrackproperty.h @@ -1,6 +1,7 @@ #ifndef WTRACKPROPERTY_H #define WTRACKPROPERTY_H +#include #include #include "widget/wlabel.h" @@ -10,12 +11,16 @@ class WTrackProperty : public WLabel { Q_OBJECT public: - WTrackProperty(QWidget* pParent); + WTrackProperty(const char* group, ConfigObject* pConfig, QWidget* pParent); virtual ~WTrackProperty(); void setup(QDomNode node, const SkinContext& context); + void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); + signals: + void trackDropped(QString filename, QString group); + public slots: void slotTrackLoaded(TrackPointer track); void slotTrackUnloaded(TrackPointer track); @@ -24,6 +29,8 @@ class WTrackProperty : public WLabel { void updateLabel(TrackInfoObject*); private: + const char* m_pGroup; + ConfigObject* m_pConfig; TrackPointer m_pCurrentTrack; QString m_property; }; From c88540a56c6da47a0b7008bde1f073802404022f Mon Sep 17 00:00:00 2001 From: Tom Date: Tue, 28 Jan 2014 23:08:58 -0600 Subject: [PATCH 3/7] Added WTrackText droppedTrack functionality --- src/skin/legacyskinparser.cpp | 7 ++++++- src/widget/wtracktext.cpp | 29 ++++++++++++++++++++++++----- src/widget/wtracktext.h | 7 ++++++- 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/skin/legacyskinparser.cpp b/src/skin/legacyskinparser.cpp index 243535d9732..014776bdc40 100644 --- a/src/skin/legacyskinparser.cpp +++ b/src/skin/legacyskinparser.cpp @@ -753,13 +753,18 @@ QWidget* LegacySkinParser::parseVisual(QDomElement node) { QWidget* LegacySkinParser::parseText(QDomElement node) { QString channelStr = lookupNodeGroup(node); + const char* pSafeChannelStr = safeChannelString(channelStr); BaseTrackPlayer* pPlayer = m_pPlayerManager->getPlayer(channelStr); if (!pPlayer) return NULL; - WTrackText* p = new WTrackText(m_pParent); + WTrackText* p = new WTrackText(pSafeChannelStr, m_pConfig, m_pParent); + + connect(p, SIGNAL(trackDropped(QString,QString)), + m_pPlayerManager, SLOT(slotLoadToPlayer(QString,QString))); + setupWidget(node, p); // NOTE(rryan): To support color schemes, the WWidget::setup() call must // come first. This is because WNumber/WLabel both change the palette based diff --git a/src/widget/wtracktext.cpp b/src/widget/wtracktext.cpp index a2aacf97a1f..e72e58eaf4e 100644 --- a/src/widget/wtracktext.cpp +++ b/src/widget/wtracktext.cpp @@ -2,15 +2,17 @@ #include #include +#include "controlobject.h" #include "widget/wtracktext.h" -WTrackText::WTrackText(QWidget* pParent) - : WLabel(pParent) { - +WTrackText::WTrackText(const char *group, ConfigObject *pConfig, QWidget* pParent) + : WLabel(pParent), + m_pGroup(group), + m_pConfig(pConfig) { + setAcceptDrops(true); } WTrackText::~WTrackText() { - } void WTrackText::slotTrackLoaded(TrackPointer track) { @@ -37,13 +39,30 @@ void WTrackText::updateLabel(TrackInfoObject*) { } } +void WTrackText::dragEnterEvent(QDragEnterEvent *event) { + if (event->mimeData()->hasUrls() && + event->mimeData()->urls().size() > 0) { + // Accept if the Deck isn't playing or the settings allow to interrupt a playing deck + if ((!ControlObject::get(ConfigKey(m_pGroup, "play")) || + m_pConfig->getValueString(ConfigKey("[Controls]", "AllowTrackLoadToPlayingDeck")).toInt())) { + event->acceptProposedAction(); + } else { + event->ignore(); + } + } +} + void WTrackText::dropEvent(QDropEvent *event) { if (event->mimeData()->hasUrls() && event->mimeData()->urls().size() > 0) { QUrl url = event->mimeData()->urls().first(); QString fileName = url.toLocalFile(); - qDebug() << fileName; + // If the file is on a network share, try just converting the URL to a string + if (fileName == "") { + fileName = url.toString(); + } event->accept(); + emit(trackDropped(fileName, m_pGroup)); } else { event->ignore(); } diff --git a/src/widget/wtracktext.h b/src/widget/wtracktext.h index 80dc8a9ba6e..9f432189a06 100644 --- a/src/widget/wtracktext.h +++ b/src/widget/wtracktext.h @@ -1,7 +1,9 @@ #ifndef WTRACKTEXT_H #define WTRACKTEXT_H +#include #include +#include #include "widget/wlabel.h" #include "trackinfoobject.h" @@ -9,9 +11,10 @@ class WTrackText : public WLabel { Q_OBJECT public: - WTrackText(QWidget *parent); + WTrackText(const char* group, ConfigObject* pConfig, QWidget *parent); virtual ~WTrackText(); + void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); signals: @@ -25,6 +28,8 @@ class WTrackText : public WLabel { void updateLabel(TrackInfoObject*); private: + const char* m_pGroup; + ConfigObject* m_pConfig; TrackPointer m_pCurrentTrack; }; From 1715d723dfed6376786b8dd3e424b428aceee075 Mon Sep 17 00:00:00 2001 From: Tom Date: Wed, 29 Jan 2014 01:07:41 -0600 Subject: [PATCH 4/7] Added drag functionality starting from WTrackText and WTrackProperty --- src/widget/wtrackproperty.cpp | 15 +++++++++++++++ src/widget/wtrackproperty.h | 7 +++++-- src/widget/wtracktext.cpp | 15 +++++++++++++++ src/widget/wtracktext.h | 9 +++++---- 4 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index c97378d71e4..3378716465b 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -49,6 +49,21 @@ void WTrackProperty::updateLabel(TrackInfoObject*) { } } +void WTrackProperty::mousePressEvent(QMouseEvent *event) { + if (event->button() == Qt::LeftButton && m_pCurrentTrack) { + QList locationUrls; + locationUrls.append(QUrl::fromLocalFile(m_pCurrentTrack->getLocation())); + + QMimeData* mimeData = new QMimeData(); + mimeData->setUrls(locationUrls); + + QDrag* drag = new QDrag(this); + drag->setMimeData(mimeData); + drag->setPixmap(QPixmap(":images/library/ic_library_drag_and_drop.png")); + drag->exec(Qt::CopyAction); + } +} + void WTrackProperty::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasUrls() && event->mimeData()->urls().size() > 0) { diff --git a/src/widget/wtrackproperty.h b/src/widget/wtrackproperty.h index 9deb1a25bf5..ceec6fb4bb6 100644 --- a/src/widget/wtrackproperty.h +++ b/src/widget/wtrackproperty.h @@ -3,6 +3,7 @@ #include #include +#include #include "widget/wlabel.h" #include "trackinfoobject.h" @@ -15,8 +16,6 @@ class WTrackProperty : public WLabel { virtual ~WTrackProperty(); void setup(QDomNode node, const SkinContext& context); - void dragEnterEvent(QDragEnterEvent *event); - void dropEvent(QDropEvent *event); signals: void trackDropped(QString filename, QString group); @@ -29,6 +28,10 @@ class WTrackProperty : public WLabel { void updateLabel(TrackInfoObject*); private: + void dragEnterEvent(QDragEnterEvent *event); + void dropEvent(QDropEvent *event); + void mousePressEvent(QMouseEvent *event); + const char* m_pGroup; ConfigObject* m_pConfig; TrackPointer m_pCurrentTrack; diff --git a/src/widget/wtracktext.cpp b/src/widget/wtracktext.cpp index e72e58eaf4e..08f7b7212ff 100644 --- a/src/widget/wtracktext.cpp +++ b/src/widget/wtracktext.cpp @@ -39,6 +39,21 @@ void WTrackText::updateLabel(TrackInfoObject*) { } } +void WTrackText::mousePressEvent(QMouseEvent *event) { + if (event->button() == Qt::LeftButton && m_pCurrentTrack) { + QList locationUrls; + locationUrls.append(QUrl::fromLocalFile(m_pCurrentTrack->getLocation())); + + QMimeData* mimeData = new QMimeData(); + mimeData->setUrls(locationUrls); + + QDrag* drag = new QDrag(this); + drag->setMimeData(mimeData); + drag->setPixmap(QPixmap(":images/library/ic_library_drag_and_drop.png")); + drag->exec(Qt::CopyAction); + } +} + void WTrackText::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasUrls() && event->mimeData()->urls().size() > 0) { diff --git a/src/widget/wtracktext.h b/src/widget/wtracktext.h index 9f432189a06..86b9f166de7 100644 --- a/src/widget/wtracktext.h +++ b/src/widget/wtracktext.h @@ -13,10 +13,6 @@ class WTrackText : public WLabel { public: WTrackText(const char* group, ConfigObject* pConfig, QWidget *parent); virtual ~WTrackText(); - - void dragEnterEvent(QDragEnterEvent *event); - void dropEvent(QDropEvent *event); - signals: void trackDropped(QString fileName, QString group); @@ -28,9 +24,14 @@ class WTrackText : public WLabel { void updateLabel(TrackInfoObject*); private: + void dragEnterEvent(QDragEnterEvent *event); + void dropEvent(QDropEvent *event); + void mousePressEvent(QMouseEvent *event); + const char* m_pGroup; ConfigObject* m_pConfig; TrackPointer m_pCurrentTrack; }; + #endif /* WTRACKTEXT_H */ From b449fb61bb26c8d6815b201a3c90e053863b113b Mon Sep 17 00:00:00 2001 From: Tom Date: Wed, 5 Feb 2014 23:24:04 -0600 Subject: [PATCH 5/7] Updated tooltips to reflect the new drop functionality --- src/skin/legacyskinparser.cpp | 32 ++------------------------------ src/skin/tooltips.cpp | 9 ++++++--- src/test/wtrackpropertytest.cpp | 22 ++++++++++++++++++++++ src/widget/wtrackproperty.h | 5 +++-- src/widget/wtracktext.h | 3 ++- 5 files changed, 35 insertions(+), 36 deletions(-) create mode 100644 src/test/wtrackpropertytest.cpp diff --git a/src/skin/legacyskinparser.cpp b/src/skin/legacyskinparser.cpp index 43a3e693613..0977d2141ed 100644 --- a/src/skin/legacyskinparser.cpp +++ b/src/skin/legacyskinparser.cpp @@ -790,19 +790,7 @@ QWidget* LegacySkinParser::parseText(QDomElement node) { return NULL; WTrackText* p = new WTrackText(pSafeChannelStr, m_pConfig, m_pParent); - - // NOTE(rryan): To support color schemes, the WWidget::setup() call must - // come first. This is because WNumber/WLabel both change the palette based - // on the node and setupWidget() will set the widget style. If the style is - // set before the palette is set then the custom palette will not take - // effect which breaks color scheme support. - p->setup(node, *m_pContext); - if (p->getComposedWidget()) { - setupWidget(node, p->getComposedWidget(), false); - } - setupConnections(node, p); - p->installEventFilter(m_pKeyboard); - p->installEventFilter(m_pControllerManager->getControllerLearningEventFilter()); + setupLabelWidget(node, p); connect(pPlayer, SIGNAL(newTrackLoaded(TrackPointer)), p, SLOT(slotTrackLoaded(TrackPointer))); @@ -811,8 +799,6 @@ QWidget* LegacySkinParser::parseText(QDomElement node) { connect(p, SIGNAL(trackDropped(QString,QString)), m_pPlayerManager, SLOT(slotLoadToPlayer(QString,QString))); - setupLabelWidget(node, p); - TrackPointer pTrack = pPlayer->getLoadedTrack(); if (pTrack) { p->slotTrackLoaded(pTrack); @@ -831,19 +817,7 @@ QWidget* LegacySkinParser::parseTrackProperty(QDomElement node) { return NULL; WTrackProperty* p = new WTrackProperty(pSafeChannelStr, m_pConfig, m_pParent); - - // NOTE(rryan): To support color schemes, the WWidget::setup() call must - // come first. This is because WNumber/WLabel both change the palette based - // on the node and setupWidget() will set the widget style. If the style is - // set before the palette is set then the custom palette will not take - // effect which breaks color scheme support. - p->setup(node, *m_pContext); - if (p->getComposedWidget()) { - setupWidget(node, p->getComposedWidget(), false); - } - setupConnections(node, p); - p->installEventFilter(m_pKeyboard); - p->installEventFilter(m_pControllerManager->getControllerLearningEventFilter()); + setupLabelWidget(node, p); connect(pPlayer, SIGNAL(newTrackLoaded(TrackPointer)), p, SLOT(slotTrackLoaded(TrackPointer))); @@ -852,8 +826,6 @@ QWidget* LegacySkinParser::parseTrackProperty(QDomElement node) { connect(p, SIGNAL(trackDropped(QString,QString)), m_pPlayerManager, SLOT(slotLoadToPlayer(QString,QString))); - setupLabelWidget(node, p); - TrackPointer pTrack = pPlayer->getLoadedTrack(); if (pTrack) { p->slotTrackLoaded(pTrack); diff --git a/src/skin/tooltips.cpp b/src/skin/tooltips.cpp index 28a41fd33ba..1dd5792c10a 100644 --- a/src/skin/tooltips.cpp +++ b/src/skin/tooltips.cpp @@ -406,12 +406,14 @@ void Tooltips::addStandardTooltips() { add("track_artist") << tr("Track Artist") << tr("Displays the artist of the loaded track.") - << trackTags; + << trackTags + << dropTracksHere; add("track_title") << tr("Track Title") << tr("Displays the title of the loaded track.") - << trackTags; + << trackTags + << dropTracksHere; add("track_album") << tr("Track Album") @@ -427,7 +429,8 @@ void Tooltips::addStandardTooltips() { add("text") << tr("Track Artist/Title") << tr("Displays the artist and title of the loaded track.") - << trackTags; + << trackTags + << dropTracksHere; add("flanger") << tr("Flanger") diff --git a/src/test/wtrackpropertytest.cpp b/src/test/wtrackpropertytest.cpp new file mode 100644 index 00000000000..d03b94c395c --- /dev/null +++ b/src/test/wtrackpropertytest.cpp @@ -0,0 +1,22 @@ +#include + +#include +#include + +#include "mixxxtest.h" +#include "widget/wtrackproperty.h" + +class WTrackPropertyTest : public MixxxTest { + protected: + virtual void SetUp() { + m_pTrackProperty.reset(new WTrackProperty("fake", config(), NULL)); + } + + QScopedPointer m_pTrackProperty; + QTestEventList m_Events; + const char* m_pGroup; +}; + +TEST_F(WTrackPropertyTest, AlwaysTrueTest) { + ASSERT_EQ(1.0, 1.0); +} diff --git a/src/widget/wtrackproperty.h b/src/widget/wtrackproperty.h index ceec6fb4bb6..8b92866fb9c 100644 --- a/src/widget/wtrackproperty.h +++ b/src/widget/wtrackproperty.h @@ -5,9 +5,10 @@ #include #include -#include "widget/wlabel.h" -#include "trackinfoobject.h" +#include "configobject.h" #include "skin/skincontext.h" +#include "trackinfoobject.h" +#include "widget/wlabel.h" class WTrackProperty : public WLabel { Q_OBJECT diff --git a/src/widget/wtracktext.h b/src/widget/wtracktext.h index 86b9f166de7..1637cb8df6a 100644 --- a/src/widget/wtracktext.h +++ b/src/widget/wtracktext.h @@ -5,8 +5,9 @@ #include #include -#include "widget/wlabel.h" +#include "configobject.h" #include "trackinfoobject.h" +#include "widget/wlabel.h" class WTrackText : public WLabel { Q_OBJECT From 16041157a4cc678f2acaaca7d0819b471447479e Mon Sep 17 00:00:00 2001 From: Tom Date: Wed, 5 Feb 2014 23:25:45 -0600 Subject: [PATCH 6/7] Removed incomplete trackproperty test --- src/test/wtrackpropertytest.cpp | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 src/test/wtrackpropertytest.cpp diff --git a/src/test/wtrackpropertytest.cpp b/src/test/wtrackpropertytest.cpp deleted file mode 100644 index d03b94c395c..00000000000 --- a/src/test/wtrackpropertytest.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include - -#include -#include - -#include "mixxxtest.h" -#include "widget/wtrackproperty.h" - -class WTrackPropertyTest : public MixxxTest { - protected: - virtual void SetUp() { - m_pTrackProperty.reset(new WTrackProperty("fake", config(), NULL)); - } - - QScopedPointer m_pTrackProperty; - QTestEventList m_Events; - const char* m_pGroup; -}; - -TEST_F(WTrackPropertyTest, AlwaysTrueTest) { - ASSERT_EQ(1.0, 1.0); -} From a33bb764bcac3966c72767153abc0b5dd2528449 Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 10 Feb 2014 22:29:15 -0600 Subject: [PATCH 7/7] Updated dropTracksHere tooltip, moved drag creation to mouseMove event --- src/skin/tooltips.cpp | 2 +- src/widget/wtrackproperty.cpp | 4 ++-- src/widget/wtrackproperty.h | 2 +- src/widget/wtracktext.cpp | 4 ++-- src/widget/wtracktext.h | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/skin/tooltips.cpp b/src/skin/tooltips.cpp index 1dd5792c10a..5d16d6605f6 100644 --- a/src/skin/tooltips.cpp +++ b/src/skin/tooltips.cpp @@ -26,7 +26,7 @@ QList& Tooltips::add(QString id) { } void Tooltips::addStandardTooltips() { - QString dropTracksHere = tr("Drop tracks from library or external file manager here."); + QString dropTracksHere = tr("Drop tracks from library, external file manager, or other decks/samplers here."); QString resetToDefault = tr("Reset to default value."); QString leftClick = tr("Left-click"); QString rightClick = tr("Right-click"); diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index 884ba339000..77dd654efd2 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -49,8 +49,8 @@ void WTrackProperty::updateLabel(TrackInfoObject*) { } } -void WTrackProperty::mousePressEvent(QMouseEvent *event) { - if (event->button() == Qt::LeftButton && m_pCurrentTrack) { +void WTrackProperty::mouseMoveEvent(QMouseEvent *event) { + if ((event->buttons() & Qt::LeftButton) && m_pCurrentTrack) { QList locationUrls; locationUrls.append(QUrl::fromLocalFile(m_pCurrentTrack->getLocation())); diff --git a/src/widget/wtrackproperty.h b/src/widget/wtrackproperty.h index 8b92866fb9c..e809f01dada 100644 --- a/src/widget/wtrackproperty.h +++ b/src/widget/wtrackproperty.h @@ -31,7 +31,7 @@ class WTrackProperty : public WLabel { private: void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); - void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); const char* m_pGroup; ConfigObject* m_pConfig; diff --git a/src/widget/wtracktext.cpp b/src/widget/wtracktext.cpp index 6ea4fab8328..43f39f538a5 100644 --- a/src/widget/wtracktext.cpp +++ b/src/widget/wtracktext.cpp @@ -39,8 +39,8 @@ void WTrackText::updateLabel(TrackInfoObject*) { } } -void WTrackText::mousePressEvent(QMouseEvent *event) { - if (event->button() == Qt::LeftButton && m_pCurrentTrack) { +void WTrackText::mouseMoveEvent(QMouseEvent *event) { + if ((event->buttons() & Qt::LeftButton) && m_pCurrentTrack) { QList locationUrls; locationUrls.append(QUrl::fromLocalFile(m_pCurrentTrack->getLocation())); diff --git a/src/widget/wtracktext.h b/src/widget/wtracktext.h index 1637cb8df6a..6a589ceb868 100644 --- a/src/widget/wtracktext.h +++ b/src/widget/wtracktext.h @@ -27,7 +27,7 @@ class WTrackText : public WLabel { private: void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); - void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); const char* m_pGroup; ConfigObject* m_pConfig;