aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/tqtc/lts-6.2.8' into ↵Tarja Sundqvist2024-02-2096-406/+1797
|\ | | | | | | | | | | | | | | | | tqtc/lts-6.2-opensource Conflicts solved in a file: dependencies.yaml Change-Id: Ib4083daa41a689b937d2aeb522e93e3aab0be1c4
| * qmltyperegistrar: Do not guess types with upper case namesUlf Hermann2023-03-211-5/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We generally need to guess value types since there are value types without metaobjects of their own, such as QRectF and QSizeF. However, if they have upper case element names, they are clearly not in that category. Guessing those as value types will make further tools produce follow-up mistakes. Fixes: QTBUG-111986 Change-Id: Ic15ef8c726eb3913c87eb4a300794f321f59fafa Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit c2fd73b516f6021f0ebb9f5cfd4de79f3f437f51) Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
| * doc: Fix native texture interface header nameLaszlo Agocs2023-03-201-0/+4
| | | | | | | | | | | | | | | | Fixes: QTBUG-95807 Change-Id: I0676fdb9bd7e8312d736bf0f4eb6775415d86296 Reviewed-by: Christian Strømme <christian.stromme@qt.io> (cherry picked from commit 3bc05bf7f422fccd8c29bd1eb1376c37264d31ee) Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Doc: add \since to Text's renderTypeQuality propertyMitch Curtis2023-03-201-0/+1
| | | | | | | | | | | | | | | | | | Amends cbbbfe3bff29d8db84771e07ac6f16209b0969d1. Change-Id: If1247a4f2d347f5c8b4993e24b04736db45df80d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 18b4a5ceefc2d250013bb6feefa34bd2e120bd55) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * CMake: Add docs for NO_PLUGIN and clarify NO_GENERATE_PLUGIN_SOURCEUlf Hermann2023-03-161-1/+16
| | | | | | | | | | | | | | | | Fixes: QTBUG-111577 Change-Id: I7f259c3b710d0be16844d159e3204ee2e51f2a06 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> (cherry picked from commit f0f274e354820affbad5331868191824c834a99d)
| * JIT: Add missing {STORE|LOAD}_ACC() to CreateCallContextUlf Hermann2023-03-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot assume anything about the accumulator register after calling PushCallContext::call(). Also add a note about not needing to re-load the accumulator on ThrowException. Fixes: QTBUG-111935 Change-Id: I7196585e1d2697c215f4fe87d8d7ac9b98b622a3 Reviewed-by: <carl@carlschwan.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 15ec024152a1d1d99a4934f7b2408e7af7b2552a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * doc: Update QML eventPoint; fix GrabTransition linkShawn Rutledge2023-03-155-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. 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> (cherry picked from commit 60ebb044c87c1e5cf8e0b4a7f135aac283203122) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * doc: Customize and update docs for PointHandlerShawn Rutledge2023-03-157-5/+463
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many of the inherited docs were inappropriate or insufficiently specific to PointHandler. Now we have more snippets with more ideas for how it can be used. As a drive-by, fix a typo in the docs for PointerDeviceHandler::acceptedPointerTypes and add a link to the new PointerDevice page added in e283c05af745210d4a1f6c0aa9c33bf4da23a1e0 Fixes: QTBUG-74020 Fixes: QTBUG-106878 Change-Id: I028e1577ac5d4ef0b927c94259d6ab25b6028885 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 4c6d0b2bf09329dd8b036761f8f2924f54af3a07) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Document the Pointer Handlers exampleShawn Rutledge2023-03-1510-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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 Fixes: QTBUG-96915 Change-Id: Iee2f4ef774de7862d93c7e4cdf7b2b5e0553bec4 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 024794255d7d1df10fa5239cb70212c9703ff60f) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * doc: Add snippets and animations illustrating TapHandler.GesturePolicyShawn Rutledge2023-03-158-29/+365
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | People are constantly confused by GesturePolicy and its default value, so we really need a "glanceable" reference in the docs to show the differences between use cases. Also clarify the pitfalls with the default DragThreshold value. We switch from the \value tag to a 2-column \table because the \image would otherwise break the table, and also because it saves space and acts as a meaningful reminder to have the animation right under the enum value that is being documented. Task-number: QTBUG-70397 Task-number: QTBUG-73262 Task-number: QTBUG-100534 Task-number: QTBUG-107239 Task-number: QTBUG-111310 Change-Id: I1ff45f58a8a8edf55f4a8696d881aa9e0bedcfe3 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit a6e196ce9cd327df53ef9b9db3020f7775ee1754) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * doc: Add qml PointerDevice, pointingDeviceUniqueId and PointerEventShawn Rutledge2023-03-151-0/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | We need a link target for the GrabTransition enum argument in the PointerHandler::grabChanged QML signal doc, and a few other places. Fix warnings about failing to link in a couple of places. Fixes: QTBUG-102160 Task-number: QTBUG-104761 Change-Id: I92a544d363a6ff9e990c7d56c110bc5db1202bb3 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit e283c05af745210d4a1f6c0aa9c33bf4da23a1e0) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Fix multiple object creation in LoaderSanthosh Kumar2023-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QML Loader creates multiple object of same component during initial loading, if sourceComponent is assigned within state configuration and it evaluates to be true. This happens due to the effect of evaluating stage change (here in this case, setting loader source component) during component completion which internally creates component object and makes loader status be ready, even before Loader instantiates object. This patch adds a guard to check loader status and avoids object creation if status is already ready. Fixes: QTBUG-111559 Change-Id: I6c3456cd3bc35a717c139fbd3670c305304f480a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 492dc98a288763d3d026e9557ffadc018cede350) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Doc: fix links in contains/containmentMask docsMitch Curtis2023-03-091-4/+4
| | | | | | | | | | | | | | Change-Id: Iae701dec938c5f126ebf90953af0733de775b385 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit ee3d11f70bf7d5d7f3b0f4f0b531a0ed2a20e721) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * openvg: Add missing breakKai Uwe Broulik2023-03-071-0/+1
| | | | | | | | | | | | | | | | | | Fixes unintentional fall-through. Change-Id: Iab82677c5f81d16fefb3db04e10601a98cb81c67 Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 27703167caedb38e2c2e057c9211b6cb047230dd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Fix scoping of index in SwipeDelegate snippetDaniel Smith2023-03-031-2/+1
| | | | | | | | | | | | | | Fixes: QTBUG-111566 Change-Id: Idf3d5fd140f2b69215844ff25b24bfc2abfc14b1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 925c6b06b17e78f125cc5119efe702774298b154)
| * ListView: Mention section's support for required propertiesFabian Kosmale2023-03-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | It was used in the code snippet, but we didn't explain so far why it was there. Change-Id: I53005d897f4a3732b7707c7cc0e88f2842ca7433 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit a703701394820fcfffb544a5bf7c464410cdc0a2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QQmlEngine: Improve import path method documentationFabian Kosmale2023-03-021-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of (partially) repeating the defaults listed in "QML Import Path", link to that section. Moreover, warn that setImportPath doesn't preserve the default paths. Task-number: QTBUG-109799 Change-Id: I6c2acb6efd1bd0984b3b540a75c7bced44127050 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 2d8b15cc1c71f0720f55f681732a608700696319) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QtQml: Always throw when requesting an enum from an invalid singletonUlf Hermann2023-03-021-1/+6
| | | | | | | | | | | | | | | | | | | | | | The interpreter does this and so should the enum lookup adapter for generated C++ code. Fixes: QTBUG-109816 Change-Id: I576480c3ca808743ddc0ceaf2f0bd8a1de776a41 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 8cbb30a650c2a2c8fb4b8cc39f347ff370850e74)
| * doc: remove docs for PinchHandler.acceptedButtonsShawn Rutledge2023-03-021-0/+7
| | | | | | | | | | | | | | | | | | Mouse buttons are irrelevant to PinchHandler, of course. Change-Id: Idfe65d3408ff3a33314979174a886f3e51f2eb7b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 69fa61a11f4689246e8d5ce8edfbeae41dfa08b2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * doc: remove docs for HoverHandler.dragThresholdShawn Rutledge2023-03-021-0/+7
| | | | | | | | | | | | | | | | | | | | Like acceptedButtons, HoverHandler.dragThreshold is irrelevant. Task-number: QTBUG-95395 Change-Id: I059e99449cff946b2caa945022b1f4bd4d2f845b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 17e8e21511ce3f5a2cc764655f12355454ae0522) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Doc: mention the order in which top-level transition animations are runMitch Curtis2023-03-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This is mentioned in the documentation for the transitions property and in "Playing Animations in Parallel or in Sequence", but is easy to miss if you only read the detailed description. It's an important detail that users should know, so add it. Change-Id: I6f074506ddc8a7b02e6114741d9fadef48cdc8ab Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 0bb5a91d8d9b227dccd93d46b97668c14e20101d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QtQml: Fix coercion of undefined to float and doubleUlf Hermann2023-02-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It should result in NaN, not in 0. [ChangeLog][QtQml][Important Behavior Changes] Converting a JavaScript value to a double or float now always assumes JavaScript type coercion semantics. In particular, converting a value that is not actually a number now results in NaN where it previously sometimes resulted in 0. Fixes: QTBUG-111179 Change-Id: If24444ae9014c8972761c565a6920f06699e485c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit b9834e0ee9f086add6dd8a42e5cb40f87f91756b)
| * doc: Add the handlerPoint.device propertyShawn Rutledge2023-02-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | Amends a1c91787264f6f535b5cf094b57ee53058856df4 Task-number: QTBUG-76381 Change-Id: I7fdd15abbe15805815f5d2b2fc298501e1ab34d7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 6215a53f29a6204332799450c5f21fc151e69c78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QQmlMetaType: Clear property caches on qmlClearTypeRegistrationsUlf Hermann2023-02-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise we may retain dangling pointers referencing invalid property caches. Some metaobjects are created on the heap. If the memory manager decides to re-use the heap space for new metaobjects, we can retrieve the invalid property caches. Task-number: QTBUG-110933 Change-Id: Ic00bb852151bcf58ba6ae798a6bf2cea686a9e10 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 6937f2e50dd60c58350a464eb83ba9d11c7146f9)
| * Defining QML Types from C++: Add CMake documentationFabian Kosmale2023-02-161-20/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | So far, we only documented the qmake workflow. Adjust the docs to mention how the same can be achieved in CMake. As a drive-by, use a versionless import in the QML example code. Fixes: QTBUG-107902 Change-Id: I08ac1262d0d93572077ec86be3b02ce1524bf52a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 31262074fb3a64fd4b281b03da4032733accee4c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Doc: Mention QDS and UI files in Best PracticesLeena Miettinen2023-02-141-3/+24
| | | | | | | | | | | | | | | | | | | | | | Developers can easily break QDS .ui.qml files if they edit them as code. Link to the description of UI files in QDS Manual. Fixes: QTBUG-110354 Change-Id: Id5dc0e9fd420e0e4807a39d4f8d7d121e5137636 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> (cherry picked from commit 5fabb872e0041aaf134b33e140d8f8512c31455b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QML: Invalidate any existing cache files when saving a CU to diskUlf Hermann2023-02-113-2/+20
| | | | | | | | | | | | | | | | | | | | | | Otherwise we just re-load the old cache file next time. That's clearly not intended. Fixes: QTBUG-111078 Change-Id: Ia65b46880eca2b6e8c4792a09f20716125beada3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 0a5eff09203ebb2547431de689d9c07e6c97f636) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Avoid crash updating source of shader-less effectEskil Abrahamsen Blomfeldt2023-02-082-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a ShaderEffect did not have any shaders, we would register a "fake" bindPoint for the 'source' property with bindPoint 0. However, when actually linking the default shader program, the actual bindPoint is 1 (also matches what is in shadereffect.frag). When the property corresponding to the source updated, we would thus register an update for binding point 0. The initial value for binding point 1, from when the shader effect was loaded, would never be overwritten and when we iterated over the variables later and tried to cast do a qobject_cast on the (initial, now dangling) pointer stored for binding point 1, it would crash. Fixes: QTBUG-110111 Change-Id: I96c3e81908db8cce682b5447800fcb7a3fe5e0b9 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit f70844868a834fe988eb0716f6af4cbaacf89727) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Flipable: switch sides at 90 degrees regardless of camera distanceJiDe Zhang2023-02-081-6/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickRotation::applyTo(QMatrix4x4 *matrix) uses QMatrix4x4::projectedRotate() to apply rotation in pseudo-3D. QQuickFlipablePrivate::updateSide() was previously applying QQuickRotation to QTransform to decide which side should be showing; but when using QTransform::map(QPointF) to get the position of the transformed point, it is affected by the distance-to-plane value. QMatrix4x4::projectedRotate() uses 1024 as distance from "camera" to plane; so if the items on the plane are too large, some coordinates on the plane may be behind the camera during rotation, which could cause QQuickFlipable to mistakenly think that the current side has become QQuickFlipable::Back. Now we directly calculate the side of QQuickFlipable in 3D space rather than performing projection, to avoid being affected by the camera distance value. We use QMatrix4x4 instead of QTransform. Fixes: QTBUG-75954 Change-Id: Ibb08f6f6de690f5b56c3130a1f7b09beb250c807 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 036b6159edeb8e5ffe7a1c5e83ac99c3ab2e9988) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Fix QQuickCanvasItem in case of invalidateSceneGraph()Thomas Senyk2023-02-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding requestPaint() at the end of invalidateSceneGraph() will make sure that painting is trigger properly again, including the (re-)creation of the painting context. As that request of painting will also recreate the painting context, it will also allow the creation of a new QSGNode Without this patch a nullptr will be returned as QSGNode until a "proper" dirty or update() happens due to property changes or explicit update calls. Change-Id: If1e79d135d3d1f5253cb41a3be1630cfed3865dd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 185b0d5f215df0254b38ac8a7dfb72c20ce9bc1e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Fix QQuickImageParticle in case of QRhi re-createThomas Senyk2023-02-023-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch QQuickImageParticle will now properly re-query the m_rhi member the next time updatePaintNode() is called Additionally a new (override) QQuickImageParticle::invalidateSceneGraph() will call reset() so that potential sub-nodes (e.g. SpriteParticle) will also be re-created Last but not least: QQuickSpriteEngine::startAssemblingImage() was missing to reset it's sprites container (without that the sprites would pile up and eventually fail with "Too many animations" error) Change-Id: I172fd23ddfac475542aabc6cc17d8fee74f728b2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit b899dff5d496e8bebb6bb81e37951d03f8469f63) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Doc: Disambiguate description of module URIsUlf Hermann2023-02-012-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While you can, technically, have URIs that contain '$', or '幽', '霊', '文', and '字', you really shouldn't. Amends commit 9e4f6d92111bff0d422609704673cc0d9a46cafd. Fixes: QTBUG-106074 Change-Id: Ic0f13b6ea2bb704d2bd9f4fa5841aa69a88cd5a7 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit a29f3160898823cb300172c57ff6a7cd7bb74aba)
| * ListModel: Use PersistentValue to keep track of objectsUlf Hermann2023-01-312-132/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | This is the simplest way to prevent the garbage collector from destroying the object while at the same time allowing a manual destruction. Task-number: QTBUG-95895 Task-number: QTBUG-96167 Fixes: QTBUG-91390 Change-Id: Ic3f3146bc555991068ce3367971e050f745d235d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 718f3469f693eb179f1504a41b18280656a2325d)
| * Fix positioning of text decoration with some fontsVladimir Belyavsky2023-01-301-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually it just reverts 4db31cbd4e29cf5387f4332537f8ea9e0e9f62ae. When calculating a position for a decoration, we should just apply the decoration's offset to the line's baseline (line.y + line.ascent). The regression was introduced by 54b5287adf4f5b004fcf47840c7f2e1e561a90c1 in Qt 5.6, when we switched from prepending leading to the baseline of text and started appending it instead. Fixes: QTBUG-96700 Fixes: QTBUG-97594 Change-Id: I7f816b71859ffcb6b1c641f0c8b8e1d810bfc525 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 5d082dc9b87cfce68676f2fc1666a54afd8399b1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * qmlformat: Add ECMAScript class reformatterSemih Yavuz2023-01-271-2/+60
| | | | | | | | | | | | | | | | | | | | | | | | qmlformat currently discards ES classes, and only reformats the element list inside that class. Implement a class declaration visitor which reformats ES classes in qml file. Fixes: QTBUG-110321 Change-Id: I9fa2561902dbcfde5e8fb041bc5dedcc56bb66cc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit d962fe4abbf185abb1bc7464a00a93bc0e9d288b) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| * Doc: explain how to manage currentIndex without breaking bindingsMitch Curtis2023-01-263-0/+13
| | | | | | | | | | | | | | | | | | | | | | There is a section for this on Container's page, so let's link to it in more places. Task-number: QTBUG-109996 Change-Id: I8c96f0cb0998d65a2c2669b6358236a14e0352dc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 70f1732ee6f9ad3c895061acd55cef3e21c5094f) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| * Fix content position of table view controlSanthosh Kumar2023-01-252-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The estimated width in the table view has been used to layout and accordingly, edges of the table be loaded. This estimated width will be passed to flickable to adjust its parameters and width/position of scroll bar. This in turn change geometry of table view with respect to view port. In some scenarios, this estimated width during layout causes table view to be misaligned. This can be avoided by calculating and updating latest content width of the table view once after loading the edges of table. Fixes: QTBUG-108664 Change-Id: I47c3325bc9e51f75c87564a2ec1de4522e4a7e60 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 19b35008e2b2bebef10a9d52c8389920df1e1953) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| * QQmlImport: Handle file selectors in qmldirFabian Kosmale2023-01-251-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With file selectors, a type can exist in the same version under different paths. Detect this case, canonicalize the filename to the selector free version, and rely on the engine to resolve a URL to the correct file. Fixes: QTBUG-107797 Change-Id: I0f74fd37936abfa08547fb439bfa5264e6ca4787 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 9bfb27be010940ca735ca7dd67a092a03289e27c) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
| * Fix type of QtQuick::BoundaryRule::easing in documentationMatthias Rauter2023-01-251-1/+1
| | | | | | | | | | | | Change-Id: I86ba0659fcd5a0c38b664738b9e0b3b28562dbf5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit d09a0778e1c243be8931c3bec95c8970ace95f7b)
| * Document QQmlExtensionPluginUlf Hermann2023-01-241-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | You should really not use it, but people should know about it. We cannot deprecate it because QtQuick Controls needs it. Fixes: QTBUG-95448 Change-Id: Idcc31d13a8eaa709944f2271389642b7fdbe84fe Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 05908e67a2a281b56bad503490e5c9121e9f285a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Fix Shape stroke color when changing alpha from 0 to non-0Laszlo Agocs2023-01-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The handling of the stroke color lacks the extra checks that are performed when setting the fill color. Switching from "transparent" to another color involves setting not just the color-dirty flag but also the geometry-dirty since alpha == 0 may skip operations such as triangulating, meaning the work has to be performed later when once again switching to an alpha > 0 color. Change-Id: Ibd6d762cfcb07ca8b9c852553c979bcb4ee9fa21 Fixes: QTBUG-109882 Reviewed-by: Christian Strømme <christian.stromme@qt.io> (cherry picked from commit 650e7d47f8e333761df86e60c290e885106b26c6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * qtest_quickcontrols_p.h: don't mark functions file-staticMarc Mutz2023-01-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a header, and at least tst_styleimports.cpp doesn't use all of the functions, so throws a -Wunused-function warning on Clang 15 for runTests(): qtest_quickcontrols_p.h:36:12: warning: unused function 'runTests' [-Wunused-function] static int runTests(QObject *testObject, int argc, char *argv[]) ^ Fix by marking the functions as inline instead. Amends e310dadef779b28845b41fb091634cd001cda9de. Change-Id: Id6cee7bdc2fe93a5e034d7ed445dc5f2c5d35360 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit e34142e6cda177b601d8e5daba00a2ab84828db1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Doc: Properly document the remaining matrix4x4 methodsUlf Hermann2023-01-171-19/+32
| | | | | | | | | | | | | | | | | | | | The documentation format for QML methods is peculiar, but this should do for now. Fixes: QTBUG-90480 Change-Id: I0fdbb7f4a704990de1356010c8b7d44764b7e41a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4b7566ade282694c1903a10867a1612cb04630dd)
| * Fix some qsizetype vs. quint32 problemsUlf Hermann2023-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | On 32bit platforms you cannot losslessly convert quint32 to qsizetype. However, in the places we are facing here, we are only interested in signed 32bit numbers anyway. Change-Id: I93a07c2847bd5bfae426dccbb6c0e33c5758442d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4e1fe071ff05b92ed12fdf59a2185e1254b411cf) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Fix build with -no-feature-networkTasuku Suzuki2023-01-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | latest QuickTestUtils needs Qt::Network (QTBUG-107472) Disable to build it and another module depending on QuickTestUtils unless network is available. Change-Id: Ib522efa68d9ca4669afaf1fc8bbb18b079995ac1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit b539b1f26bbd84927ea14837958d11b8d89491a4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Ignore DPR for image providers if the requested size is not setPeter Varga2023-01-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the requested size is not set, the QQuickImageBasePrivate::sourcesize is -1. Multiplying it with devicePixelRatio is useless because it will be still an invalid size and it will be ignored. Nonetheless, QQuickImageBase::pixmapChange() will still divide the size with devicePixelRatio resulting smaller images. The issue is reproducible with the tst_qquickimageprovider auto test if ran with QT_SCALE_FACTOR=2 set. Fixes: QTBUG-109854 Change-Id: I9fea39c34144e5eae7e421bccc8dc65388dd5b32 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit 1609f8628d1469f723a762c60ccb5856637956dc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Fix connection leak in header proxy modelSanthosh Kumar2023-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In header view, the header proxy model which acts as proxy for table model, connects headerDataChanged() signal to a slot with both sender and receiver as table model object. This connection happens each time header view instantiates or model in the header view need to be reset. In a case, where header view reinstantiated (released and loaded) and table model not released, the newly instantiated header proxy model creates a connection to the existing table model for headerDataChanged() signal and this creates a connection leak. This can be avoided by making header proxy model as receiver similar to other slots within the proxy model. Fixes: QTBUG-108610 Change-Id: I1b250f98310e16743f7fc2c4cc11cbfb3d9fff45 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 6b4939df5cd9c8f0ab37a020fb076de56787fa46) Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| * Fix Animators in case of node recreateThomas Senyk2023-01-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Those node recreations happen when the RHI backend is recreated. One such case is GLX_NV_robustness_video_memory_purge In such cases QQuickTransformAnimatorJob::invalidate() will be called, however the node will never be re-set Change-Id: I3136c220f41781689f4a271caf0543a3b659447c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 0359381bc78fb69999d3c687d617858f9666c0aa) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QQmlObjectCreator: Do not crash on read-only bindableUlf Hermann2023-01-061-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | If the binding was not actually set (because the bindable is readonly) then it's dead after the pop_front. We cannot examine it anymore, and we don't have to. Fixes: QTBUG-109597 Change-Id: I3bf0ca501aa9ad45a64ad181b685ca6d9d325231 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4dfcaa7ee8273914ea8cd9fd232064ce95cb15d1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QQuickWidget: always accept touch events and grabbed event pointsVolker Hilsheimer2023-01-041-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QQuickWidget contains a Quick UI, which can be expected to handle touch events, and it handles touch events by forwarding them to the QQuickWindow. So set the AcceptTouchEvents attribute and let the Qt Quick delivery machinery deal with the touch-mouse synthesis within the scene. Also, Qt Quick's event delivery might return event points as ignored after setting the exclusive grabber. Qt Widgets touch event delivery logic doesn't care about exclusive grabbers, and relies on the event points being accepted to make the widget that received the TouchBegin an implicit grabber. QQuickWidget needs to translate those states back, so accept all points that come back with a grabber. Add a test that verifies that a button in a popup gets all events, and that those events are translated correctly - without the fix, the "clicked" test fails, as the release is delivered, but with coordinates outside of the button. Also test that we can have two QQuickWidgets where each gets one touch point. Fixes: QTBUG-101736 Change-Id: I3a2bf05fd297ae4d72b6e236ecd8e5ddac37ce06 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit dc8f44b14501ecd4acc196f5138aeff3f7502d0a) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>