on xenial help sign in
Cursor plugin: add scroll wheel handling Fixes: #1497091
fd584ccDaniel d'Andrada
plugins/Cursor/MousePointer.cpp+11
@@ -65,6 +65,17 @@ void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::Mouse
65 buttons, modifiers);
65 buttons, modifiers);
66}
66}
67
67
68+void MousePointer::handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::KeyboardModifiers modifiers)
69+{
70+ if (!parentItem()) {
71+ return;
72+ }
73+
74+ QPointF scenePosition = mapToItem(nullptr, QPointF(0, 0));
75+ QWindowSystemInterface::handleWheelEvent(window(), timestamp, scenePosition /* local */, scenePosition /* global */,
76+ QPoint() /* pixelDelta */, angleDelta, modifiers, Qt::ScrollUpdate);
77+}
78+
68void MousePointer::itemChange(ItemChange change, const ItemChangeData &value)
79void MousePointer::itemChange(ItemChange change, const ItemChangeData &value)
69{
80{
70 if (change == ItemSceneChange) {
81 if (change == ItemSceneChange) {
plugins/Cursor/MousePointer.h+1
@@ -43,6 +43,7 @@ public:
43public Q_SLOTS:
43public Q_SLOTS:
44 void handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
44 void handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
45 Qt::KeyboardModifiers modifiers) override;
45 Qt::KeyboardModifiers modifiers) override;
46+ void handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::KeyboardModifiers modifiers) override;
46
47
47Q_SIGNALS:
48Q_SIGNALS:
48 void pushedLeftBoundary(qreal amount, Qt::MouseButtons buttons);
49 void pushedLeftBoundary(qreal amount, Qt::MouseButtons buttons);