diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-04-25 13:44:23 +0200 |
---|---|---|
committer | Fredrik Orderud <forderud@gmail.com> | 2016-06-07 20:20:51 +0000 |
commit | fcea0310a307a4adf36f382806b34ff1ee3eb913 (patch) | |
tree | 53974d1857e5239d83877ecbd1aeb29fc2ccb4f3 | |
parent | 0384f29809186e6a45b13760c9dbb2f8cd3bf251 (diff) |
MouseEventFilter: handle HoverMove events
When using Scene3D, there are no MouseMove events. Instead there are HoverMove
events being generated. For that reason we intercept these to allow the
MouseHandlers to receive positionChanged events when used with Scene3D
Change-Id: I638a86a1b574e3f99163e0b1b13cb47c83acdc1e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
(cherry picked from commit dd2710011fd1cf840de0ab194bf74ca65f112221)
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/input/backend/mouseeventfilter.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/input/backend/mouseeventfilter.cpp b/src/input/backend/mouseeventfilter.cpp index fcf8eb922..ccfc4981d 100644 --- a/src/input/backend/mouseeventfilter.cpp +++ b/src/input/backend/mouseeventfilter.cpp @@ -61,6 +61,14 @@ bool MouseEventFilter::eventFilter(QObject *obj, QEvent *e) { Q_UNUSED(obj); switch (e->type()) { + // When dealing with QtQuick events, there are nove MouseMove events + // only hover events which are transmitted if hoverEnabled was set to true on the Scene3D + case QEvent::HoverMove: + { + const QHoverEvent *event = static_cast<QHoverEvent *>(e); + m_inputHandler->appendMouseEvent(QMouseEvent(QEvent::MouseMove, event->posF(), Qt::NoButton, Qt::NoButton, event->modifiers())); + break; + } case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: case QEvent::MouseMove: |