Details
-
Suggestion
-
Resolution: Fixed
-
Not Evaluated
-
None
-
None
-
7867a683f (dev), a432970b2 (dev), 442eeba67 (dev), c4aaa7dac (6.6), f08c70832 (6.5)
Description
This is a generalization of QTBUG-68941, to which we responded by making PinchHandler.scale be the accumulated scale (for easy binding to Item.scale), while activeScale is the value that resets to 1 each time a gesture begins. We should have followed through and done that with all such properties:
- PinchHandler.rotation
- PinchHandler.translation
- DragHandler.translation
WheelHandler.rotation is already that way. There's no activeRotation because many wheel events don't have phase: with an old-fashioned wheel mouse, we can't tell when the gesture begins and ends, so I guess activeRotation would tend to stay small (just the value from the previous or current event). But WheelHandler.rotation has a setter, and QTBUG-76379 is asking for PinchHandler.scale to have a way to reset the value.
So we can generalize that too: each of these properties should have setters. If the UI provides more than one way to translate an item, and if you are using a handler's translation property in a binding, you need to be able to set that property when the item is moved by alternate means. Likewise with rotation.
Attachments
Issue Links
- is required for
-
QTBUG-115502 PdfMultiPageView: repeated pinch-zooming jumps to wrong zoom level
- Closed
-
QTBUG-100636 take BoundaryRule out of Labs to be supported API
- Reported
-
QTBUG-94172 be able to use pointer handlers directly on 3D Model objects
- Reported
- relates to
-
QTBUG-108549 PinchHandler.scale loses the accumulated scaling if target == null
- Closed
- resulted from
-
QTBUG-76379 PinchHandler should have a way to reset
- Closed
-
QTBUG-68941 Allow PinchHandler to maintain its transformation state when it has no target
- Closed
- resulted in
-
QTBUG-111204 PinchHandler native-gesture scaling is no longer cumulative
- Closed
-
QTBUG-111220 PinchHandler.persistentTranslation has inconsistent meaning with native pinch gesture
- Closed