From 2c9feb7544a3c3e226f5db4ef8cfd68642c5d781 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 9 Jul 2025 23:53:01 +1000 Subject: internal: fix scrolling for high res devices Implements first part of #202 --- widgets/CustomMouseArea.qml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 widgets/CustomMouseArea.qml (limited to 'widgets/CustomMouseArea.qml') 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; + } + } +} -- cgit v1.2.3-freya