summaryrefslogtreecommitdiff
path: root/widgets/CustomMouseArea.qml
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/CustomMouseArea.qml')
-rw-r--r--widgets/CustomMouseArea.qml21
1 files changed, 21 insertions, 0 deletions
diff --git a/widgets/CustomMouseArea.qml b/widgets/CustomMouseArea.qml
new file mode 100644
index 0000000..7c973c2
--- /dev/null
+++ b/widgets/CustomMouseArea.qml
@@ -0,0 +1,21 @@
+import QtQuick
+
+MouseArea {
+ property int scrollAccumulatedY: 0
+
+ function onWheel(event: WheelEvent): void {
+ }
+
+ onWheel: event => {
+ // Update accumulated scroll
+ if (Math.sign(event.angleDelta.y) !== Math.sign(scrollAccumulatedY))
+ scrollAccumulatedY = 0;
+ scrollAccumulatedY += event.angleDelta.y;
+
+ // Trigger handler and reset if above threshold
+ if (Math.abs(scrollAccumulatedY) >= 120) {
+ onWheel(event);
+ scrollAccumulatedY = 0;
+ }
+ }
+}