aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* qml generator: Reduce redundancy in animation output6.11Eirik Aavitsland33 hours2-8/+40
| | | | | | | | | | | | | | | | | Whenever three consecutive keyframes have the same value, the middle one is redundant. Simplify the produced QML code by removing such keyframes. The practical result is that consecutive PauseAnimations get squashed into one. For animated (morphing) paths, simplify further by detecting if two consecutive paths are identical. Then the second is redundant, so drop it and instead make the PathInterpolated factor point at the first one for the keyframe(s) for the second. Change-Id: I7a77c73c6fd98f574fcf26f4dad45ca92a0def0b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 04466da863f51a852cbb19814c05016018d7ca54) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKit: insert cached string into hash tableRichard Moe Gustavsen38 hours1-0/+1
| | | | | | | | | | | | | | | Amending commit 9975c733be The previous commit introduced caching of path strings, as the same paths are typically used repeatedly. However, it failed to actually insert the generated strings into the cache. This patch amends that change by ensuring the cache is properly populated with the generated path strings. Change-Id: I4222f083b722947b168f1dadfba265a9aa4be702 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit bb7391d241e186cb33b71c0cfdfb438cd5f7edf9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: adjust the button margins to ensure the title is centeredRichard Moe Gustavsen38 hours1-2/+6
| | | | | | | | | | | | | | | | | The title (content) margins for a button had different margins at the top compared to the bottom. The result was that the label didn't end up centered on the button on macOS 26. This patch will adjust the button title margins so that the button label ends up centered on macOS 26. It will also slighly adjust the margins on macOS16.4, and earlier, to make label (more) centered on those platforms as well. Pick-to: 6.10 6.8 6.5 Change-Id: Icd7571202add65ec312787b0aa94fd1bc49ef72a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit a89bad645801060d54c3d7e60224b09652b4b0a6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: adjust SearchField focus rect and radiusRichard Moe Gustavsen38 hours1-7/+17
| | | | | | | | | | | | Adjust the focus ring slightly, so that it fits the TextField on both macOS 26 and macOS 16.4 (and before). Pick-to: 6.10 Change-Id: Iad1d23284f593a90a252bfdf7c5f6f4d79d309a9 Reviewed-by: Dilek Akcay <dilek.akcay@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit f994fe43aabee3f2112892cee2938f3484acee3e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: adjust button layout margins according to macOS 26Richard Moe Gustavsen38 hours1-4/+11
| | | | | | | | | | | | | | | The layout margins on macOS 26 was wrong, which meant a the focus ring on top of it would look really wrong (if button focus was enabled from system settings). This patch will adjust the layout rect so that it looks correct on macOS 26. Pick-to: 6.10 6.8 6.5 Change-Id: I828a4a25d3ffa58dd1fc942c25db1dcbb59f7525 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 4e31c33eea2d9cbe6181b2628643f7c8c4466588) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: add some padding inside a Frame and GroupBoxRichard Moe Gustavsen38 hours2-0/+9
| | | | | | | | | | | | | | | | | | | Previously, the padding was taken from NativeStyle.Frame, which effectively returned the margins from QQuickCommonStyle. These margins only account for the frame border width and nothing else. As a result, controls appear glued to the edge of a Frame when using the macOS style, unless the application explicitly overrides the margins. This patch therefore hard-codes margins matching those used by the Fusion style, giving Frame and GroupBox a bit more visual “air”, similar to the other styles. Pick-to: 6.10 6.8 6.5 Change-Id: I6a80530d07a43bcaa6761cf3fc2d8a14e1fd0977 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 9d5e00cc8a0f6232671f0500e99c5ffd87d084ca) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: draw ComboBox correctly on macOS 26Richard Moe Gustavsen41 hours2-11/+38
| | | | | | | | | | | | | | | | | | | | On macOS 26, the down indicator in editable ComboBoxes was drawn with scaling applied, causing it to appear distorted. In addition, the focus frame was misaligned for both editable and non-editable ComboBoxes. This patch ensures that ComboBoxes are drawn with 9-patch scaling disabled. Previously, enabling 9-patch scaling caused the down indicator to be scaled together with the background, resulting in incorrect rendering. The patch also adjusts margins to properly center the label and align the focus frame with the control’s frame. Pick-to: 6.10 6.8 6.5 Change-Id: I0aafd77dd7ec098589c92fbc161a530a777b1d91 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 49033046e64ce238073dd4b0cf00c8010999e434) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QmlCompiler: Mark contextUnit as unused when skipping a functionUlf Hermann4 days1-0/+1
| | | | | | | | | | | | Amends commit b5e586f98444e8f83647b5a1451c4e7537b1d0ec. Fixes: QTBUG-141729 Pick-to: 6.10 6.8 Change-Id: Iecef73282837c38b0a65f04a52d83d148a58d2a6 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> (cherry picked from commit 76b4edba854c63692a1b9b1d95db979c8ab6a4d9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Don't return too early from QQuickMenu::setVisible() when parentItem is nullOliver Eftevaag4 days2-7/+9
| | | | | | | | | | | | | | | | | | | | | | QQuickPopup::componentComplete() will automatically search for a parentItem in case there's no explicit binding on parent. Since componentComplete() also calls d->transitionManager.transitionEnter() in case visible was set to true via the visible property, it would make sense to simply set the visible member variable to true on a QQuickMenu::setVisible(true) call, and delay calling transitionEnter() on the transition manager until componentComplete() is called. If for whatever reason the parentItem is explicitly set to nullptr after componentComplete(), we can still prevent the menu from opening. I don't see any potential issues with having the safeguard in QQuickPopup::setVisible(), instead of QQuickMenu::setVisible(). Fixes: QTBUG-138193 Pick-to: 6.10 6.8 Change-Id: I869c81a6dc6977a4c7e1d88e2507ade08b84dabd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 8bd5f700355a788b4c6c2c1a4116a2b9f8a594f0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Popup Windows: Don't close when a pointer event hits the non-client areaOliver Eftevaag4 days1-2/+6
| | | | | | | | | | | | | | | | | | On WebAssembly, when clicking on a dialogs TitleBar, the dialog would just close. That's because the event would get forwarded to the dialog that the title bar belongs to, but since the non-client area is outside the dialog window, it would close itself. This behavior was unintended. Fix it by not closing the window if a non-client area was hit. Pick-to: 6.10 6.8 Change-Id: Id54da63e0eee22f9c3b01301762f633c99821255 Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 0c74b65a6627a31c0b3b0e49db0e994bbeecd35a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix some translatable messagesFriedemann Kleint4 days7-11/+10
| | | | | | | | Change-Id: I16d586f1a793206daa00c5a7d14b1fdac33f516d Reviewed-by: Robert Löhning <robert.loehning@qt.io> Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 49f7693d560f8e5c9a097b9a40328e410fef2061) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlImportInstance: Avoid URI confusionFabian Kosmale4 days1-1/+4
| | | | | | | | | | | | | | | | | | | QQmlImportInstance::resolveType is meant to resolve a type name to a type in the import represented by the instance. It should not find the QQmlType of a type sharing the same name in a different import. However. to find types defined in C++, it has to use QQmlMetaType::qmlType. It passes its URI to that function to filter out unrelated types. However, a directory import without a qmldir will have an empty URI. QQmlMetaType::qmlType will interpret this as "find the type in any module", which is obviously not what we want. Fixes: QTBUG-142407 Pick-to: 6.10 6.8 6.5 Change-Id: I45bcf1c764d7e7cf9d479283970587a4e6519ce4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 0364a73c65629412e8b3959692e7cd405894099a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Check return field for toString()Ulf Hermann4 days1-0/+2
| | | | | | | | | | | | In theory you could call toString() without providing space for the return value. We generally check argv[0] before writing to it. Pick-to: 6.10 6.8 6.5 Change-Id: I496eca3f428d0f8452a5bc0b1cb8ea78ee3805bb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 88dbb39e3b347e67eb0e5ee059c2545a1fbcaed9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add asynchronousShapes option to QML generator, VectorImage and svgtoqmlEirik Aavitsland4 days7-4/+51
| | | | | | | | | ...as well as to the cmake command to run svgtoqml at build time. Change-Id: Ib9c2115f7ac34285cc5c9d67c64e2d2ebbcd738a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 93a5230499bd04a5b4affad972ef919f7125746e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* SearchField: Prevent indicator warnings in testbenchDilek Akcay4 days1-4/+4
| | | | | | | | | | | | | | | In the SearchField testbench manual test for the macOS style, some warnings were appearing because the x and y positions of the indicators are used in this style, but are set to null in certain test cases. A condition was added to check whether the indicators are set before accessing their positions, preventing these warnings. Fixes: QTBUG-141882 Pick-to: 6.10 Change-Id: I1c7a208ff32e570e384a2c41689cbfbb6d218be6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 54b5bfb667fba5de1f1e3c89e1329ca0301cbce0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickItem::clipRect: Don't participate in bindingsFabian Kosmale4 days1-1/+1
| | | | | | | | | | | | | | We don't want clipRect to capture width and height. While technically that would make sense (after all, the clipRect does change if you modify width and height), it makes internal usage of the function problematic: We could end up creating binding loops if it's triggered by the width or height setter (which is the case with an upcoming change to transformChanged). Change-Id: I3e19a9687a025e35969d16f300ca2d1b6fc8a624 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 5e7b5ba024c243910b0931ee83175408024ce80c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Basic FileDialog: Make sidebar text color readableOliver Eftevaag4 days4-20/+48
| | | | | | | | | | | | | | | | | affe09e2ee432b0f9512f57d846dbf0caa8a3465 caused the sidebar's text color to be the same as the background, making it unusable. Fix it by creating a binding pattern similar to Button.qml, except that it should use the same colors as FileDialogDelegate.qml. While fixing the text color, I also noticed that the background delegate for sidebar differed from FileDialogDelegate.qml, so lets make a reusable delegate that is used by both controls. Change-Id: Ic220026c2271bac83fcc84827ffd993dfa793f1c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit ad9df2b7b3329c2aaf847ece0a5cd239d28ef48b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* AOT stats: do not use high_resolution_clockFabian Kosmale4 days1-3/+5
| | | | | | | | | | | | There is actually no guarantee that it's monotonic. Instead, use QElapsedTimer (we could also use monotonic_clock, but the Qt API is more convenient, except for the missing chrono return type). Pick-to: 6.10 Change-Id: Iccdc988d0ff54dd9403f99d05b2c22fe8459ebe2 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 5b2b9afb39cf25139bc8cc93cf646fcd9634c2de) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* ColorDialog: use canvas to draw color picker for software rendererMorteza Jamshidi5 days5-8/+219
| | | | | | | | | | When backend renderer is software ShaderEffect doesn't render anything, so we use canvas renderer as a fallback. Fixes: QTBUG-139362 Change-Id: Id22305ab48d52f9bf2373c88f87cbb10c115999c Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit eaebe6716d0bc7aea7503048e243d269837411c8)
* Doc: Add a note that you don't need to run qmllint in IDEsAlexei Cazacov5 days1-0/+4
| | | | | | | | | | | | | | The qmllint page describes qmllint as a standalone console tool, but users don't have to run it in terminal. The IDEs display qmllint output as you type. This functionality is included to the QML Language Server, which is used in IDEs. Fixes: QTBUG-139636 Pick-to: 6.10 Change-Id: Ib46116d341f59ae51a24504062e56ced8553b194 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit f12941c0d25256114758cb0ce2666ea4283e2d6e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* FluentWinUI3: don't override propertiesMitch Curtis5 days2-6/+4
| | | | | | | | | | | | | | | | | | | | | | These warnings cause tests to fail: Member state of the object StyleImage_QMLTYPE_29589_QML_29616 overrides a member of the base object. Consider renaming it or adding final or virtual specifier Member __notCustomizable of the object SearchField_QMLTYPE_168 overrides a member of the base object. Consider renaming it or adding final or virtual specifier Amends d3ba7eb9badc931450f1c033d1bfc1763ca5ecb5 and 141993c0a5b2a2b6ea244c6bee2ca3141b1a020a. Pick-to: 6.10 Change-Id: I03d83cdae27715b391ea67372e0b25267d729c77 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Dilek Akcay <dilek.akcay@qt.io> (cherry picked from commit e570a516fe312a414bb3b64bc316aff2127329b7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKitStyle: Give a parent to palette pointer memberDoris Verria5 days1-1/+1
| | | | | | | | | This ensures correct lifetime management of it. Change-Id: I7fd183abf6ab83d8bdc39d9406d044891c14ed6f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 03aee86424c44cef79d03364dcaa56fd25b370ab) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKit: Move palettes from QQuickTheme to parent classDoris Verria5 days9-114/+155
| | | | | | | | Task-number: QTBUG-130067 Change-Id: Ie9c466591fbfbf54d9575d3684636b13c1061d64 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit ca3912d549c7d121745476b8cb096b51a4defeb4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKit: Don't directly point to the reader's palette from the styleDoris Verria5 days2-5/+20
| | | | | | | | | | | | | Add an own QQuikcPalette * member type to the style that should be synced with the style reader's palette, but don't directly point to it. This avoids changing the reader's palette from the style, or that the style palette changes outside of a property read which is problematic. Task-number: QTBUG-130067 Change-Id: I3524c3472a5c250f1f943d2b1b6c66d6fcb93929 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 415706f174377052b0c1e5e101fb4e37a9b159f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmllint: dont assert on grouped property function definitionSami Shalayel5 days1-1/+2
| | | | | | | | | | | | | | | | | | Add an if-condition to avoid triggering the assert inside of qmllint. The runtime does not register this function declaration and therefore does not trigger the assert. QTBUG-142091 will make qmllint warn about the invalid function definition. Amends 009ef40c8c3a2c85860b4b309077a4dac90ad7a5. Pick-to: 6.10 Fixes: QTBUG-142468 Change-Id: I2077908fdc83fd31bdda67a11f0e8a6949a102ae Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 0855e8f92027cd8a8826c08f07425e381658d8e2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Basic FileDialog: Don't let Folderbreadcrumbbar be smaller than upButtonOliver Eftevaag5 days1-1/+1
| | | | | | | | | | | | The up button's size was 40x40, which was taller than the rest of the Folderbreadcrumbbar. This didn't look right. Pick-to: 6.10 6.8 Change-Id: I8d847b04e4a17ba570d366ebc7d584af36542519 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit 70b885d2cd4eff2aa1ee08368893105666d5a92b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* quicklintplugin: don't warn on Action not being ActionsSami Shalayel5 days1-2/+4
| | | | | | | | | | | | | | It seems we forgot to add Action to the list of allowed types when the warning was changed to include Action in 7bdeea2c309150c8b49558b135232926d6a89c50. Pick-to: 6.10 6.8 Fixes: QTBUG-142549 Change-Id: I52e0ec0110e4d3915f36e3a54843d25b86d21a16 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 4862a753659a02540b2473b8df955bf590a5445b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmlls: don't crash on unknown idSami Shalayel5 days1-0/+6
| | | | | | | | | | | | | | | | | It seems that we recognize "anchors" from PropertyChanges { anchors.topMargin: 12 } as an id, which might sometimes not exist. Adapt the highlighting code to not crash if the id does not exist, and highlight it as unknown so the user sees that its "bad". Pick-to: 6.10 Fixes: QTBUG-142574 Change-Id: I00fcea8bfb3d16a95d40af024c4273dae19ce747 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 8cb6ee235a9415743cdfab2eba1dd1d1d713a8e3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* vectorimage: Fix shadowing warningEskil Abrahamsen Blomfeldt6 days3-3/+3
| | | | | | | | | | | | After making the QSvgVisitor::traverse() functions virtual, the compiler now complains that the non-virtual traverse() in the subclass shadows these. Specifically this was seen on macOS. Change-Id: I6a3575c9445ba5d5b59c746ed57b7d99d72ada7c Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io> (cherry picked from commit 145e91d07ed9e058dcccd3e0496fb274f1f5c06b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmlls: process user-triggered requests before lintingSami Shalayel6 days2-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The module constructors connect to QQmlCodeModelManager::updatedSnapshot and the connected methods are guaranteed to execute in the same order as the connect calls was called. First, handle user-triggered operations (go to somewhere, find usages, etc) Second, handle semantic highlighting, so the user sees "ah qmlls finished loading my file" and can already start doing stuff. Third, handle operations that the user didn't trigger, like the document outline. And at last, once everything else is done, lint the file. This is the step that probably takes most time and should be done at the end, as it might potentially process many files because of imports etc. The difference can be seen in QTBUG-142748, where we used to collect qrc files from the build folder by iterating the build folder during the linting, while making the user wait for its completion request. The current behavior now suggests completions before searching the build folder. Pick-to: 6.10 Task-number: QTBUG-142748 Change-Id: I47d5ead79153868721c1b0d95e9b62a14157ef8c Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 87d8043697b7d4b5e3c028a281f8424cb9536c54) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* iOS Switch: Change color of indicator in high contrast modeOliver Eftevaag6 days13-1/+2
| | | | | | | | | | | | | Some of the controls uses image assets as their background. The Switch is one of those controls, and it's also the control that changes its appearance the most when "Increase contrast" is toggled on. Done-with: Karolina Bang <karolina.bang@qt.io> Fixes: QTBUG-142421 Change-Id: I350716155bd9a75c241ddc601821de3ded6f7fcb Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit c7250f089267aeaa21c00c6741dfa16897652123) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android: update Qt Quick for Android examples to SDK 36Rami Potinkara6 days1-1/+1
| | | | | | | | | | | | | This patch updates qtdeclarative examples to use SDK 36 as a target and compile version SDK. Task-number: QTBUG-138552 Task-number: QTBUG-138549 Pick-to: 6.10 6.8 Change-Id: If655c6654790b4be3704325aceca6df4947362d4 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> (cherry picked from commit f4147c749fa7207ed1ca86e3c2033816292c049f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* SearchField: Update the control's documentationDilek Akcay7 days2-1/+36
| | | | | | | | | | | | | SearchField documentation was outdated. The description of currentIndex was updated, and a note was added for the iOS style explaining that the control doesn't provide a popup in order to preserve the native look. Pick-to: 6.10 Change-Id: I6ff23f51c0cf73a44baad7236c176363b3970f8e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit c3408ef5d69819abc3b991774cf92684d4dffab4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: Fix links from Qt.labs.platform dialogs to QtQuick.Dialogs dialogsOliver Eftevaag7 days6-6/+6
| | | | | | | | | | The links were broken. This will hopefully make them work, by referencing QtQuickDialogs in the square brackets. Change-Id: Iad32d85d94caa9624213d07d1da85fbdd6a24e6d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit e56bc1351c4ef308dad1da0b105493bef9ffd148) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QSGThreadedRenderLoop: fix typo in tracingTim Blechmann7 days1-1/+1
| | | | | | | | Pick-to: 6.10 6.8 Change-Id: I0f48169d4678fc72dc16946bd6c4bf566ef48729 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit a09de708eea5e9680234e9656c93ccc63058c30f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QmlPreview: Don't give up when positioning a window at (0, 0)Ulf Hermann7 days1-4/+0
| | | | | | | | | | | | That's a perfectly fine place to position a window. Pick-to: 6.10 6.8 Task-number: QTBUG-142436 Change-Id: Ief27328f428ecbe54f57b79dd7408f55eba1d965 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> (cherry picked from commit a229973af85a4a2373bff67981bd7016372ddead) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Docs: fix various linksVolker Hilsheimer8 days4-8/+10
| | | | | | | | | | Use the correct syntax for the scope of the link target for Qt Quick types. Change-Id: Ica96c1b736a9b8ddd29a63c21d6a7094bd598ed8 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 8ba31901cbeb626da9e77504d056810f0b1654ec) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Re-order QQmlTypeData::TypeReference and ScriptReferenceUlf Hermann8 days1-7/+6
| | | | | | | | | | | This drops the size from 72 bytes to 48 byes on x86_64. We have a lot of type references. ScriptReference stays the same size, but the padding moves to the end. Change-Id: Iab377ea1e5cec983a32c9c2d80369f624e3c8fa9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit c8ef71697e8604aa46ffde12bf0d946bf1f4fe41) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Do not load resolved CompilationUnits from other enginesUlf Hermann8 days4-46/+11
| | | | | | | | | | | | | | | | | | | | | | | If the type loader doesn't have a QQmlDataBlob in its cache, then this engine hasn't ever loaded and resolved the respective compilation unit. We can't skip the type resolution then because the current engine may have different URL interceptors, import paths, plugin paths etc than the one that previously loaded the CU. This leads to different type resolutions. This should not re-open QTBUG-134398 since now the base compilation units are not shared between engines anymore, despite still being stored in the type registry. Amends commit 27c2c989a3d10557da15de3d45bb5bd7b96d14e8. Amends commit 6468df7657f6af4de8727363c7f7d97b680b1867. Pick-to: 6.10 6.8 Fixes: QTBUG-142658 Change-Id: I10139492c38b4a943ecca41928ec96097cd8bfbe Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit d6eb00f537fc8924f7844c98426fbd0c8882621b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* VectorImage: Support CSS easing curvesHatem ElKharashy8 days2-1/+43
| | | | | | | | | | | | | Supports linear and any cubic bezier based easing curves supported by Qt Svg. For the current time being, whenever the easing curve is set to a step function in Qt Svg, we revert to the default value which is the "ease" keyword in CSS. Task-number: QTBUG-142333 Change-Id: Ifb6b3a2dfe955b5a247399e201efe0d7877bf235 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 311cf7300f939b0560069684ff71d1197a54f1b9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKit: reimplement broken QQStyleKitDebug::propertyPath()Richard Moe Gustavsen8 days4-33/+58
| | | | | | | | | | | | | | | | | | | | | | | | | QQStyleKitDebug previously printed property paths under the assumption that nested property groups followed the same parent–child hierarchy as they are written in the style. After a recent optimization in QQStyleKitPropertyGroup, this assumption is no longer valid. As part of that optimization, all property groups now have the root QQStyleKitControlProperties as their parent in order to avoid unnecessary hierarchy traversals. This change broke the logic used to reconstruct property paths for debugging. This patch introduces QQStyleKitPropertyGroup::pathToString(), which reconstructs a property path in the same order as it is written in the style. While this functionality may also enable future optimizations, it is currently used to restore correct and readable debug output. Task-number: QTBUG-130067 Change-Id: I60e0aac3320c703b5b0995daa5a68a8ea1f015c5 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit c755209ce457db55e65066c5ca15cfa888e2dcf6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove hideLine flag from QQuickEllipseShapeAlexey Zerkin9 days3-24/+10
| | | | | | | | | | After migration from QML version hideLine flag became useless in EllipseShape Task-number: QTBUG-142557 Change-Id: I95b6407908385e4a406a15d3f36d5049e2725314 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit fae19a6b01eb3166740f74a93225f412610d4cfb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* VectorImage: Fix compilation after Qt Svg changesHatem ElKharashy10 days2-7/+7
| | | | | | | | | | | Qt Svg has renamed QSvgTinyDocument to QSvgDocument. The name now better reflects the implementation and the required changes in Vector Image are done in this commit. Change-Id: Ib558cc622b325575e24c9028d98134e4321416f7 Reviewed-by: Robert Löhning <robert.loehning@qt.io> (cherry picked from commit 7c256e2fd8d779e9c9b560181bfba9d9f2356d38) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKit, optimization: track which properties a style/theme storesRichard Moe Gustavsen11 days4-19/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces an optimization that allows the propagation engine to skip checking a style/theme/variation if it does not store a value for the property being queried. This significantly reduces the number of QHash lookups needed during property resolution. For example, when resolving all property values for a Button in the hovered state, the number of “failed” lookups dropped from 1632 to 168 when tested with the Haze style. The large improvement is likely due to the typical separation of concerns between styles and themes (at least in Haze): styles primarily define structural properties such as implicit size and corner radii, while themes define colors. Additionally, many properties in the Fallback style remain untouched by both style and theme. Under such conditions, which should be common, this optimization becomes highly effective. Task-number: QTBUG-130067 Change-Id: I25d3e350a70243b8e5f96b08f9217a3404866572 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit fc162d455eedbb68f22f302dee45f7faf4146dd0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKit: use QHash instead of QMapRichard Moe Gustavsen11 days2-2/+2
| | | | | | | | | | | | | | It's apparently not only faster, but also more memory efficient to use a QHash. QMap can be better if one needs to iterate over the keys in sorted order. But that is never the case for StyleKit. So switch to use QHash instead of QMap for the affected containers. Task-number: QTBUG-130067 Change-Id: I6f430acbd32555cba85de8191aefa71140b07111 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 193720401d4851fd9ed3158c0b084136d572f471) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* StyleKit: remove unused function declarationRichard Moe Gustavsen11 days1-2/+0
| | | | | | | | | | Remove left-over and unused function declaration Task-number: QTBUG-130067 Change-Id: I0f56b9f60905d3474f9804ef39b2541344d4a3d0 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 4c99212bd17e55b9b8472c992e417365cb3e27e2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QmlCompiler: Get length from strings wrapped in QJSPrimitiveValueUlf Hermann12 days1-3/+14
| | | | | | | | | | | | | | We need to consider the original type of the value in order to see what we can do with it and we need to convert it (back) to string where necessary. Pick-to: 6.10 Fixes: QTBUG-142550 Change-Id: Ic0eb2c7a22636cfb2d97297421b911555bd32bb1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit ee6a47ab3fc0dfcfb7301562b9b6dd5807d71079) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Update docs about constructible value typesUlf Hermann12 days1-21/+5
| | | | | | | | | | | | | | You shouldn't use type assertions to create value types. That was a terrible idea. We can document the interaction with the 'new' operator now, though. Task-number: QTBUG-124662 Pick-to: 6.10 6.8 Change-Id: I94dbf47cfd72ef20a2d4758450634708590f8fec Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Elias Steurer <i@kelteseth.net> (cherry picked from commit def060a2ed60d323fafd4aa90777dd1f5d65543f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Improve documentation for console.exceptionUlf Hermann12 days1-2/+4
| | | | | | | | | | | | | console.exception() unironically throws an exception if you call it without arguments. Otherwise it's almost the same as console.error() but prints a stack trace in addition. Pick-to: 6.10 6.8 Fixes: QTBUG-119460 Change-Id: I99cc1c009310059d7bd5bbd8308436b832f41da7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 95ede80c64b87e2fbb69d36a77ac346a6a4631b7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* VectorImage: Sanitize source string used in outputEskil Abrahamsen Blomfeldt12 days1-3/+22
| | | | | | | | | | | | | | | Source string is used as object name in output, so we sanitize it to make sure it does not contain illegal characters. SVG already mandates a limited character set here, but rather than trust the parser we sanitize before passing to the generator like the Lottie visitor does. Fixes: QTBUG-142556 Pick-to: 6.10 6.8 Change-Id: I0684e726ab69a0735dcb5f91369b090d58a90b7b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit cfc3e783fed4e876c2c29d008b5ef43c547b16b7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>