on xenial help sign in
Cursor plugin: add scroll wheel handling
commit83cfb659e4306a558f554a5d1977b43beb79ed88 authorDaniel d'Andrada <daniel.dandrada@canonical.com> dateThu 19 Nov 2015, 12:15 (11 years ago) parent78bdee5
4 files changed+16−4
CMakeLists.txt+1−1 debian/control+3−3 plugins/Cursor/MousePointer.cpp+11 plugins/Cursor/MousePointer.h+1
CMakeLists.txt+1−1
@@ -57,7 +57,7 @@ find_package(Qt5DBus 5.4 REQUIRED)
5757find_package(Qt5Concurrent 5.4 REQUIRED)
5858find_package(Qt5Sql 5.4 REQUIRED)
5959
60−pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=10)
60+pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=11)
6161
6262# Standard install paths
6363include(GNUInstallDirs)
debian/control+3−3
@@ -29,7 +29,7 @@ Build-Depends: cmake,
2929 libqt5xmlpatterns5-dev,
3030 libsystemsettings-dev,
3131 libudev-dev,
32− libunity-api-dev (>= 7.102),
32+ libunity-api-dev (>= 7.103),
3333 libusermetricsoutput1-dev,
3434 libxcb1-dev,
3535 pkg-config,
@@ -128,7 +128,7 @@ Depends: qml-module-qtquick-layouts,
128128 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.3.1627) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.3.1627),
129129 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
130130 ubuntu-thumbnailer-impl-0,
131− unity-application-impl-10,
131+ unity-application-impl-11,
132132 unity-notifications-impl-3,
133133 unity-plugin-scopes | unity-scopes-impl,
134134 unity-scopes-impl-7,
@@ -174,7 +174,7 @@ Pre-Depends: ${misc:Pre-Depends},
174174Depends: ${misc:Depends},
175175 ${shlibs:Depends},
176176Provides: unity-application-impl,
177− unity-application-impl-10,
177+ unity-application-impl-11,
178178Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1)
179179Description: Fake environment for running Unity 8 shell
180180 Provides fake implementations of some QML modules used by Unity 8 shell
plugins/Cursor/MousePointer.cpp+11
@@ -62,6 +62,17 @@ void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::Mouse
6262 buttons, modifiers);
6363}
6464
65+void MousePointer::handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::KeyboardModifiers modifiers)
66+{
67+ if (!parentItem()) {
68+ return;
69+ }
70+
71+ QPointF scenePosition = mapToItem(nullptr, QPointF(0, 0));
72+ QWindowSystemInterface::handleWheelEvent(window(), timestamp, scenePosition /* local */, scenePosition /* global */,
73+ QPoint() /* pixelDelta */, angleDelta, modifiers, Qt::ScrollUpdate);
74+}
75+
6576void MousePointer::itemChange(ItemChange change, const ItemChangeData &value)
6677{
6778 if (change == ItemSceneChange) {
plugins/Cursor/MousePointer.h+1
@@ -41,6 +41,7 @@ public:
4141public Q_SLOTS:
4242 void handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
4343 Qt::KeyboardModifiers modifiers) override;
44+ void handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::KeyboardModifiers modifiers) override;
4445
4546protected:
4647 void itemChange(ItemChange change, const ItemChangeData &value) override;