summaryrefslogtreecommitdiffstats
path: root/src/input
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
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')
-rw-r--r--src/input/backend/mouseeventfilter.cpp1
-rw-r--r--src/input/frontend/qmousehandler.cpp7
2 files changed, 5 insertions, 3 deletions
diff --git a/src/input/backend/mouseeventfilter.cpp b/src/input/backend/mouseeventfilter.cpp
index 48b30725a..baa78ac25 100644
--- a/src/input/backend/mouseeventfilter.cpp
+++ b/src/input/backend/mouseeventfilter.cpp
@@ -77,6 +77,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 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: