diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-03-18 21:05:34 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-03-24 05:43:28 +0000 |
commit | 0a8af876d1edb8b4cc23ce07828d086e1e4dbe22 (patch) | |
tree | 70e5dcba9dbfa0146faa8b340f1a130efc6769d1 | |
parent | cdc9efb609894298d8d854a0ec75f9cb8e89f195 (diff) |
Implement Mouse Click and Double Click on MouseHandler
Looks like it actually never worked.
Task-number: QTBUG-75219
Change-Id: I54e7c58be57c41461c95c48ec3e76aa45bf340a1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/input/backend/mouseeventfilter.cpp | 1 | ||||
-rw-r--r-- | src/input/frontend/qmousehandler.cpp | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/input/backend/mouseeventfilter.cpp b/src/input/backend/mouseeventfilter.cpp index 618a64b15..6f741a941 100644 --- a/src/input/backend/mouseeventfilter.cpp +++ b/src/input/backend/mouseeventfilter.cpp @@ -76,6 +76,7 @@ bool MouseEventFilter::eventFilter(QObject *obj, QEvent *e) } case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: + case QEvent::MouseButtonDblClick: case QEvent::MouseMove: // Creates copy and store event to be processed later on in an InputAspect job m_inputHandler->appendMouseEvent(QMouseEvent(*static_cast<QMouseEvent *>(e))); diff --git a/src/input/frontend/qmousehandler.cpp b/src/input/frontend/qmousehandler.cpp index c36ac50f1..f08a7afe5 100644 --- a/src/input/frontend/qmousehandler.cpp +++ b/src/input/frontend/qmousehandler.cpp @@ -59,7 +59,7 @@ QMouseHandlerPrivate::QMouseHandlerPrivate() { m_shareable = false; m_pressAndHoldTimer->setSingleShot(true); - m_pressAndHoldTimer->setInterval(500); + m_pressAndHoldTimer->setInterval(800); QObject::connect(m_pressAndHoldTimer, &QTimer::timeout, [this] { emit q_func()->pressAndHold(m_lastPressedEvent.data()); }); @@ -78,15 +78,15 @@ void QMouseHandlerPrivate::mouseEvent(const QMouseEventPtr &event) { Q_Q(QMouseHandler); switch (event->type()) { - case QEvent::MouseButtonPress: { + case QEvent::MouseButtonPress: m_lastPressedEvent = event; m_pressAndHoldTimer->start(); emit q->pressed(event.data()); break; - } case QEvent::MouseButtonRelease: m_pressAndHoldTimer->stop(); emit q->released(event.data()); + emit q->clicked(event.data()); break; #if QT_CONFIG(gestures) case QEvent::Gesture: @@ -97,6 +97,7 @@ void QMouseHandlerPrivate::mouseEvent(const QMouseEventPtr &event) emit q->doubleClicked(event.data()); break; case QEvent::MouseMove: + m_pressAndHoldTimer->stop(); emit q->positionChanged(event.data()); break; default: |