Revamp mapcanvas gesture handlers & fix propagation issues #2822
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is a complete rewrite of MapCanvas gesture handlers.
Due to multiple issues in Qt (like QTBUG-108689, QTBUG-108821 and more..),
TapHandlers
,DragHandlers
andPinchHandlers
were a pain to use and maintain.The new implementation is minimal and contains only
PinchArea
with nestedMouseArea
. Drags and double-clicks are implemented on our own now.Important: we no longer support tap&drag gesture to zoom in/out the map.
If needed, it will not be hard to add it to the current implementation though
There are still some bits and pieces needed to get rid of the propagation issues (will be a part of this PR):
TapHandler
s withMouseArea
s everywhere (@iiLubos)We need quite a massive testing to make sure the map gestures work properly 😏
Fixes #2549
Fixes #2683
Fixes #2684
Fixes #2617