summaryrefslogtreecommitdiffstats
path: root/src/input/frontend/qmousehandler.cpp
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-03-18 21:05:34 +0000
committerMike Krus <mike.krus@kdab.com>2020-03-19 06:12:46 +0000
commit662c47d6e9c806f6c0d654e7ecce9a66a4f35154 (patch)
tree0e31ab3f2a3e3ca5eccdcd27c594083ea9c496dd /src/input/frontend/qmousehandler.cpp
parentafc0e80a2b91603b31c407b5e03029dca557498f (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>
Diffstat (limited to 'src/input/frontend/qmousehandler.cpp')
-rw-r--r--src/input/frontend/qmousehandler.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/input/frontend/qmousehandler.cpp b/src/input/frontend/qmousehandler.cpp
index 89d76a057..068fe1964 100644
--- a/src/input/frontend/qmousehandler.cpp
+++ b/src/input/frontend/qmousehandler.cpp
@@ -58,7 +58,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());
});
@@ -77,15 +77,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:
@@ -96,6 +96,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: