diff --git a/src/qml/MapCanvas.qml b/src/qml/MapCanvas.qml index 0df53d8bb8..cd92b55ee1 100644 --- a/src/qml/MapCanvas.qml +++ b/src/qml/MapCanvas.qml @@ -51,6 +51,9 @@ Item { //! Emitted when a release happens after a long press signal longPressReleased(var type) + //! Emitted when a zoom action is about to occur, allowing for pre-zoom adjustments + signal aboutToWheelZoom + /** * Freezes the map canvas refreshes. * @@ -441,6 +444,7 @@ Item { grabPermissions: PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByItems onWheel: event => { + aboutToWheelZoom(); if (event.angleDelta.y > 0) { zoomIn(point.position); } else { diff --git a/src/qml/qgismobileapp.qml b/src/qml/qgismobileapp.qml index 5715a17b9c..01e828d54f 100644 --- a/src/qml/qgismobileapp.qml +++ b/src/qml/qgismobileapp.qml @@ -579,6 +579,11 @@ ApplicationWindow { } } + onAboutToWheelZoom: { + if (gnssButton.followActive) + gnssButton.followActiveSkipExtentChanged = true; + } + GridRenderer { id: gridDecoration mapSettings: mapCanvas.mapSettings