aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/handlers/qquickpinchhandler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Set explicit default security level of all files with default securityJan Arve Sæther2025-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The files (folders) already processed are listed in each issue in epic QTBUG-134547 These files were processed half a year ago. In order to make it clear that all of these files are already processed, mark them with an explicit default security header. For the record, this was generated with this script: find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py in the folders listed in each subtask of QTBUG-134547 (add-cra-header.py only exist at my desktop, but it simply adds the default security header if it doesn't already have any existing security header) QUIP: 23 Fixes: QTBUG-134547 Pick-to: 6.10 6.9 6.8 Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* doc: Fix string, real, point and size QML property documentationDavid Boddie2024-12-051-2/+2
| | | | | | Pick-to: 6.8 Change-Id: I2de731368e403696ecf9d74a0ac68d1982d5ce24 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* doc: Fix string, vector2d and matrix4x4 QML property documentationDavid Boddie2024-12-051-3/+3
| | | | | | Pick-to: 6.8 Change-Id: I30dc4f1573e5bfbf11bc0c69060fd5b77f1681e2 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* PinchHandler: Set target properties only if respective axis enabledVladimir Belyavsky2024-10-261-2/+10
| | | | | | | | | | | If the user has disabled the rotation or scale axis, the target item's rotation or scale property must not be set at all, to avoid breaking bindings that were set differently. Fixes: QTBUG-130517 Pick-to: 6.8 6.5 Change-Id: I8f84f6845532f748bbdcc3af91a398d6659156ca Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Avoid detach in range-for loops over QQMultiPtHandler::currentPoints()Shawn Rutledge2024-08-291-2/+2
| | | | | | | | We used std::as_const() in some places, but not consistently. Pick-to: 6.8 Change-Id: Idd948dbe4675c0d287e046c6c7db53d4476b6d30 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: Replace \instantiates with \nativetypePaul Wicking2024-08-201-1/+1
| | | | | | | | | | | Since the implementation of the `\nativetype`-command in QDoc, the `\instantiates`-command is deprecated. Replace the use of the deprecated command in favor of its replacement. Pick-to: 6.8 Task-number: QTBUG-128216 Change-Id: I23d9f66d3f6db2e5f827d7868497a432bb9b0626 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* QtQuick: Straighten out some logging categoriesUlf Hermann2024-06-191-1/+1
| | | | | | | | | | | | Either make them static or declare them in a header. We want them to be static wherever possible, in order to reduce the number of visible symbols. If they can't be static, however, they should at least be declared in only one place. Task-number: QTBUG-67692 Change-Id: I485bb7e4379e86f72619f848399ad58c76586851 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: fix snippet markers in pinchHandler snippetVolker Hilsheimer2024-06-111-1/+1
| | | | | | | | | | | | | Rename the snippet file so that qdoc doesn't look into the example file with the same name (and where there is no snippet to quote). Also add space between //! and [tag], and an empty line after the SPDX header. Pick-to: 6.8 Change-Id: I013df640c2fea6c25fd459c8a3a46312d14a93de Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: MohammadHossein Qanbari <mohammad.qanbari@qt.io> Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* doc: Remove readonly tag from PinchHandler persistent propertiesShawn Rutledge2023-07-261-3/+1
| | | | | | | | | | | | | Amends a432970b258edb9ff041d221b2155df30cad4799 As a drive-by, remove redundant categorized logging output, which wrongly implied that starting scale could be set from the target scale. Pick-to: 6.5 6.6 Task-number: QTBUG-76739 Task-number: QTBUG-94168 Change-Id: I1fad79b58fa20e165fd21bc593a27cff8378b7ea Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* doc: Rename to Qt Quick Examples - Pointer HandlersShawn Rutledge2023-07-021-1/+1
| | | | | | | | This seems to be still a consistent naming convention for example docs. Pick-to: 6.6 Change-Id: I508526ec992222da1c971bc327dd9c83a21640aa Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Fix PinchHandler.persistentTranslation; test cumulative native gesturesShawn Rutledge2023-04-111-25/+16
| | | | | | | | | | | | | | | | | | | | | Since we do not want persistentTranslation to be always the same as target.position, clearly we cannot use xAxis/yAxis to store the initial target position: thus the startPos() function was wrong, and is now removed. We need to store it in a separate m_startTargetPos variable like DragHandler does, and as PinchHandler did before 7867a683fcb938939fb2837a26ac8e1941e3fe08. Add an internal doc comment to clarify the arguments to QQuickItemPrivate::adjustedPosForTransform(). tst_QQuickPinchHandler::cumulativeNativeGestures() now checks the result of adjustedPosForTransform(): how far the target item moved. Pick-to: 6.5 Fixes: QTBUG-111220 Change-Id: I04237cb82a1abaaeab873a0d887acaf322f262ce Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Document the Pointer Handlers exampleShawn Rutledge2023-03-021-1/+1
| | | | | | | | | | | Animated gifs were captured with byzanz-record, then converted to webp: gif2webp -lossy -min_size -q 40 -m 6 -mt -metadata none in.gif -o out.webp Pick-to: 6.2 6.4 6.5 Fixes: QTBUG-96915 Change-Id: Iee2f4ef774de7862d93c7e4cdf7b2b5e0553bec4 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* doc: remove docs for PinchHandler.acceptedButtonsShawn Rutledge2023-03-021-0/+7
| | | | | | | | Mouse buttons are irrelevant to PinchHandler, of course. Pick-to: 6.2 6.4 6.5 Change-Id: Idfe65d3408ff3a33314979174a886f3e51f2eb7b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* doc: Update QML eventPoint; fix GrabTransition linkShawn Rutledge2023-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | Amends outdated stuff from 507efe5a8a2390813fb620a91b0b3b6b383f599d and c248a32fe69dfe1c685105d0c6aeaeb15d7ba29f. "eventPoint" should now always link to docs added in b43a873264d012dc0a0e574ea53335a40af8aa38. Replace the phrase "event point" with a link to the QML eventPoint value type. QPointingDevice is called PointerDevice in QML, so the GrabTransition enum ought to be found in those docs, in theory, for use in the PointerHandler::grabChanged doc. Pick-to: 6.2 6.4 6.5 Task-number: QTBUG-102160 Task-number: QTBUG-104761 Change-Id: I5d1a8dedd9d98e6dee3fbca457aa38f42ea7bfb1 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix dummy variable in QQuickPinchHandler::setPersistentScaleShawn Rutledge2023-02-211-3/+3
| | | | | | Pick-to: 6.5 Change-Id: Iac2cecbda2eba15d6b11026b172cd79c3bb2463c Reviewed-by: Doris Verria <doris.verria@qt.io>
* Fix and test PinchHandler native-gesture scalingShawn Rutledge2023-02-171-1/+1
| | | | | | | | | | | | We didn't have test coverage for several gesture events in a row (the usual case in reality), nor for RotateNativeGesture at all. Amends a432970b258edb9ff041d221b2155df30cad4799 which incorrectly treated QNativeGestureEvent::value() as an absolute zoom rather than a delta. Pick-to: 6.5 Fixes: QTBUG-111204 Change-Id: Ib95cab5cd3f97229abac1668e59d20ce50d24975 Reviewed-by: Doris Verria <doris.verria@qt.io>
* doc: Rename QML type HandlerPoint to handlerPointShawn Rutledge2023-02-171-1/+1
| | | | | | | | | | | | | | It's a Q_GADGET value type so it needs a lowercase name. Link eventPoint to handlerPoint to help reduce confusion. There's already a link in the other direction. Pick-to: 6.2 6.4 6.5 Task-number: QTBUG-104761 Task-number: QTBUG-104570 Change-Id: I962d2d44690ec2f75190e07be7489eb3883d0657 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Stop using deprecated QQuickPinchHandler functions and signalsIvan Solovev2022-12-161-1/+2
| | | | | | | | | Amends a432970b258edb9ff041d221b2155df30cad4799. Task-number: QTBUG-109392 Pick-to: 6.5 Change-Id: I394f2c4b3dc430bbaa2cb55081b6047160ea291b Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Remove QQuickDragAxis::persistentValue and changed signal for nowShawn Rutledge2022-12-161-18/+8
| | | | | | | | | | | | | | | | It's better to avoid releasing with this new property until we are sure we know its proper meaning. So far it seems that it should end up being identical to the target-item property to be set, rather than e.g. DragHandler.xAxis.persistentValue being the same as DragHandler.persistentTranslation.x. That is, it's an item property's current value, not a delta to adjust the value. Reverts part of 7867a683fcb938939fb2837a26ac8e1941e3fe08 Pick-to: 6.5 Task-number: QTBUG-109373 Change-Id: Id3a78332194c714e75b69cbaef111229d75318e0 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Deprecate PinchAxis minimum/maximum scale and rotation propertiesShawn Rutledge2022-12-101-0/+8
| | | | | | | | | | | | | ...in favor of the minimum and maximum properties in the new scaleAxis and rotationAxis. [ChangeLog][QtQuick][Event Handlers] PinchHandler.minimumScale, maximumScale, minimumRotation and maximumRotation are deprecated in favor of the minimum and maximum properties in the new scaleAxis and rotationAxis. Change-Id: Iecaa4321d5ea7ebf7131b1e84fbc83ab29ad506e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Standardize Drag/PinchHandler active/persistent scale, rotation, translationShawn Rutledge2022-12-101-63/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PinchHandler.scale is persistent between gestures, whereas rotation and translation were active-gesture properties; that wasn't consistent. We fixed up DragHandler in just this way in 6.2. The translationChanged() signal now comes with a vector delta, which is often useful when writing an onTranslationChanged JS handler. Likewise, scaleChanged() and rotationChanged() come with qreal deltas. The scaleChanged() delta is multiplicative rather than additive, because an additive delta would not be useful in cases when some target item's scale can be adjusted by alternative means: you need to multiply it in your onScaleChanged function. Now that PinchHandler has 4 axes as grouped properties, some properties in the handlers themselves begin to look redundant; but at least the translation properties are useful to group x and y together. So in this patch we continue to follow the pattern that was set in 60d11e1f69470d588666b76092cd40ae5644a855. PinchHandler.scale is equivalent to persistentScale, whereas rotation is equivalent to activeRotation; so we have a reason to deprecate those properties, as in ea63ee523377bd11b957a9e74185792edd9b32e8. The persistent values have setters, to provide another way for applications to compensate when the values are adjusted by other means, as an alternative to incremental changes via a script such as rotationAxis.onValueDelta, onRotationChanged etc. [ChangeLog][QtQuick][Event Handlers] PinchHandler.activeTranslation now holds the amount of movement since the pinch gesture began. PinchHandler.persistentTranslation holds the accumulated sum of movement that has occurred during subsequent pinch gestures, and can be set to arbitrary values between gestures. Likewise, activeScale, persistentScale, activeRotation and persistentRotation follow the same pattern. The scaleChanged, rotationChanged, and translationChanged signals include delta arguments, which are useful for incrementally adjusting a non-default item property when the target is null. Fixes: QTBUG-76739 Task-number: QTBUG-94168 Change-Id: I6aaa1aa3356b85e6d27abc64bfa67781ecb4f062 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Add PinchHandler.scaleAxis, rotationAxis; hold values in axesShawn Rutledge2022-12-101-62/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pointer Handlers that manipulate target item properties should now use QQuickDragAxis consistently to: - enforce minimum and maximum values - hold the persistent and active values - make those available via properties - emit a new activeValueChanged(delta) signal when the value changes, so that it's possible to incrementally update a target item property in JS (onValueDelta: target.property += delta) In the pinchHandler.qml example, you can use the PinchHandler to adjust 4 properties of one Rectangle independently (it requires coordination). m_boundedActiveValue controls whether m_activeValue will be kept between minimum and maximum. For rotation, tst_QQuickPinchHandler::scaleNativeGesture() expects it to be, although that seems questionable now, and may be addressed later. [ChangeLog][QtQuick][Event Handlers] PinchHandler now has scaleAxis and rotationAxis grouped properties, alongside the existing xAxis and yAxis; and all of these now have activeValue and persistentValue properties. The activeValueChanged signal includes a delta value, giving the incremental change since the previous activeValue. The persistentValue is settable, in case some target item property can be adjusted in multiple ways: the handler's stored value can then be synced up with the item property value after each external change. These features are also added to DragHandler's xAxis and yAxis properties. Task-number: QTBUG-68108 Task-number: QTBUG-76380 Task-number: QTBUG-76379 Task-number: QTBUG-94168 Change-Id: I78a5b43e9ba580448ef05054b6c4bc71b1834dd6 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* doc: Add note to PinchHandler.translation property about macOS trackpadShawn Rutledge2022-11-301-0/+3
| | | | | | | | | Translation doesn't happen with trackpad native gestures. Fixes: QTBUG-109002 Pick-to: 5.15 6.2 6.4 Change-Id: I7d42b0d737d45405732a389560a6c77624831c9e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* PinchHandler null target: remember accumulated scale between pinchesShawn Rutledge2022-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | This restores behavior from b4d31c9ff5f0c5821ea127c663532d9fc2cae43e which got broken in fc636af3a723ee8b4ee42cf71864ae0df5ca4621. As documented, PinchHandler.scale is the accumulated scale that would be applied to the target item (even if there is no target), whereas activeScale is the scale during one pinch gesture. After the first gesture, these two values are supposed to diverge, even if there is no target; that way you can bind scale to some property, to scale something else in the same way that PinchHandler would normally scale its target. Pick-to: 6.2 6.4 Fixes: QTBUG-108549 Task-number: QTBUG-68941 Task-number: QTBUG-92064 Change-Id: I32ff37e394fd8466128603eddd5697ba1cc1a0ed Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-071-2/+2
| | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* PinchHandler: Enforce min/max scale limits with native gesturesShawn Rutledge2022-09-011-0/+1
| | | | | | | | | | | So far the qBound() using m_minimumScale and m_maximumScale was only applied for normal pointer events: there were no limits when using a touchpad that sends native gestures. Pick-to: 6.2 6.3 6.4 Fixes: QTBUG-106110 Change-Id: Ibf8d955e5f1dac517e0a3e9588fb117d83f443a6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-111-38/+2
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Quick: includemocsMarc Mutz2022-04-291-0/+2
| | | | | | | | | | | Including moc files directly into their classes' TU tends to improve codegen and enables extended compiler warnings, e.g. about unused private functions or fields. Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-102948 Change-Id: I695daa12613de3bada67eb69a26a8dce07c4b85e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Document PinchHandler's active property as read-onlyMitch Curtis2021-10-261-0/+1
| | | | | | | | The property is declared in QQuickPointerHandler, and it has no setter. Change-Id: Ica97ae3fb47d41755d722ce5597362d9b8e56ad4 Pick-to: 6.2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Respect PinchHandler min/maximumPointCount props with native gesturesShawn Rutledge2021-07-091-2/+3
| | | | | | | | | | QNativeGestureEvent::fingerCount() is new in 6.2, and on Wayland touchpads it's actually populated, so we can now do this. Fixes: QTBUG-95070 Pick-to: 6.2 Change-Id: Ia365ff34003be8ae8f7f860c195f08b66f6c4a4e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* doc: Remove bogus PinchHandler.minimumTouchPoints prop; improve actualShawn Rutledge2021-07-091-12/+12
| | | | | | | | | | PinchHandler.minimumTouchPoints was probably just an early idea for the name, because MultiPointTouchArea has it. Anyway it's now honoring the inherited minimum/maximumPointCount properties from MultiPointHandler. Pick-to: 5.12 5.15 6.1 6.2 Change-Id: I6408da9dfe1d31a38da2777efa2c5d79ad17390f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Update sceneGrabPosition in MultiPointHandler's points, on grabShawn Rutledge2021-06-021-1/+1
| | | | | | | | | | We seem to have gotten by without this somehow; but the debug output in QQuickPinchHandler::handlePointerEventImpl() made it clear that it wasn't being done: it would always say the points moved from 0,0 to their present locations. Change-Id: If611adea6ecf0c056ae7d9b34ca86a7530cfc144 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* PinchHandler: scale incrementally when new pinch gesture beginsShawn Rutledge2021-03-251-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | When the gesture begins, we begin multiplying the target item's scale by 1.0 at first; it doesn't make sense to start immediately with the accumulated scale remembered from previous pinch gestures, because the target item remembers its own scale. When QQuickPinchHandler::wantsPointerEvent() returns false because some irrelevant gesture was received (for example a PanNativeGesture), that's not a good reason to deactivate. Deactivating and re-activating with each ZoomNativeGesture event results in extreme behavior, because PinchHandler depends on the BeginNativeGesture and EndNativeGesture events to reset internal state. Likewise, the fact that the button state is NoButton is not a good reason for wantsPointerEvent() to return false. Added an autotest: the first of its kind that actually simulates the native gesture events. Fixes: QTBUG-92064 Pick-to: 5.15 6.0 6.1 Change-Id: I3a9b92d70f99497ee58ad8557d90d521fbe16d41 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Remove QQuickPointerEvent etc.; deliver QPointerEvents directlyShawn Rutledge2020-09-181-25/+28
| | | | | | | | | | | | | | | | | | | | | | | QEventPoint does not have an accessor to get the QPointerEvent that it came from, because that's inconsistent with the idea that QPointerEvent instances are temporary, stack-allocated and movable (the pointer would often be wrong or null, therefore could not be relied upon). So most functions that worked directly with QQuickEventPoint before (which fortunately are still private API) now need to receive the QPointerEvent too, which we choose to pass by pointer. QEventPoint is always passed by reference (const where possible) to be consistent with functions in QPointerEvent that take QEventPoint by reference. QEventPoint::velocity() should be always in scene coordinates now, which saves us the trouble of transforming it to each item's coordinate system during delivery, but means that it will need to be done in handlers or applications sometimes. If we were going to transform it, it would be important to also store the sceneVelocity separately in QEventPoint so that the transformation could be done repeatedly for different items. Task-number: QTBUG-72173 Change-Id: I7ee164d2e6893c4e407fb7d579c75aa32843933a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove deprecated PinchHandler.m{in,ax}imum{X,Y} for Qt 6Jan Arve Sæther2020-02-261-43/+0
| | | | | Change-Id: Id941d7dc6b6ce9207db09cf4790f4401515dbda5 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-09-221-3/+4
|\ | | | | | | Change-Id: I801567c11fcc3244a1ee7dabeb5079d49fc5c3a1
| * Add dragThreshold property to Event HandlersShawn Rutledge2019-09-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need drag threshold to be adjustable on each handler instance instead of relying only on the system default drag threshold. For example in some use cases DragHandler needs to work with a threshold of 0 or 1 to start dragging as soon as the point is pressed or as soon as the point is moved, with no "jump", to enable fine adjustment of a value on some control such as a Slider. This involves moving the dragOverThreshold() functions that handlers are using from QQuickWindowPrivate to QQuickPointerHandlerPrivate, so that they can use the adjustable threshold value. Task-number: QTBUG-68075 Change-Id: Ie720cbbf9f30abb40d1731d92f8e7f1e6534eeb5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Fix Qt6 build in preparation of qt5 submodule updateAlexandru Croitor2019-07-081-1/+1
|/ | | | | | | | Fixes the QTextStream usages. Change-Id: I0c009a82fb644a9f3c3d42ec410d18b680977f23 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-05-021-2/+2
|\ | | | | | | Change-Id: I5d2c3da38df35922b2147c3c0bc55c6c3bae2fe5
| * PinchHandler: change qCInfo to qCDebugShawn Rutledge2019-04-291-2/+2
| | | | | | | | | | | | | | | | qCInfo is enabled by default, so this turns into noise for users. Task-number: QTBUG-70083 Change-Id: Ie7f50d393055846bd2f9935c2bbe72830b1b24a3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Refactor transform code in pinchhandler to a separate functionJan Arve Sæther2019-04-021-21/+4
| | | | | | | | | | | | | | This is needed in order for the wheel handler to have the same behavior. Change-Id: I42851789787b8da96618d82227b34c53ace15e9b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Refactor QQuickMultiPointHandler into public and private classesShawn Rutledge2019-04-021-16/+16
| | | | | | | | | | Change-Id: Iec19664862bfbbf9a6c582dac441dda26eec57db Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Get rid of m_startMatrix as a member variableJan Arve Sæther2019-04-021-9/+10
|/ | | | | | | | | This is needed in order to refactor out the calculation of the items position due to rotation and scale around an arbitrary origin. Instead we calculate it on-demand for each touch update. Change-Id: I06ace836061c6881fe9bb58bff462d1f407b6365 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'origin/5.12.1' into 5.12Liang Qi2019-02-011-19/+37
|\ | | | | | | | | | | | | Conflicts: src/quick/handlers/qquickpinchhandler.cpp Change-Id: I1f3618ceb93049623d6bf3a208b037c33d9d1f0c
| * Fix axis constraints API and documentation:v5.12.1Jan Arve Sæther2019-01-211-19/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should have been done properly for 5.12. Since this API was introduced in 5.12.0, we simply hide the documentation for the old properties and make sure the properties we want to expose are documented: * Document the xAxis and yAxis properties. * Deprecate the {min,max}imum{X,Y} properties, and hide them in the documentation. Fixes: QTBUG-73137 Change-Id: Ic749bcfec63dc4772f193ccae2a2750c20cb63aa Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | PinchHandler: fix pedantic warningsShawn Rutledge2019-01-281-18/+18
| | | | | | | | | | | | | | | | | | - qreal<->float conversions are explicit - use qFuzzyCompare rather than == - remove padding between variables (but the class still needs padding) Change-Id: I9a9eb01f5a4108592b34e4b2f018c720ba19beb0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | PinchHandler: Avoid unwanted translations when axes are disabledShawn Rutledge2019-01-281-6/+4
|/ | | | | | Fixes: QTBUG-72822 Change-Id: I2773ba14fcb24a47fe2ec04860b4aa305a051453 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* PinchHandler: update centroid property when handling native gestureShawn Rutledge2018-09-131-0/+1
| | | | | | | | | | The gesture occurs at a location. It so happens that when the gesture begins, macOS holds the position fixed; but on other OSes, maybe the position could move around, if dragging during pinch is allowed. Change-Id: Ie3184b5002548cb8fff3b3b6c471966ae4b8f6d9 Fixes: QTBUG-70075 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Doc: Fix the QML type of MultiPointHandler.centroidShawn Rutledge2018-09-111-1/+1
| | | | | | | | We use QML types not C++ types in QML docs. This fixes links so that you can see the centroid's properties. Change-Id: I3efe04dbfefba965176030adc3e65672519b81dc Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Remove the PinchHandler.pinchOrigin property for nowShawn Rutledge2018-08-311-26/+1
| | | | | | | | | We didn't get around to implementing the appropriate behaviors. We could add it back later if we figure out how. Task-number: QTBUG-70292 Change-Id: Idca62b249f555d5e44bb97430ae0222bf314a66b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>