[qt/qt/qtdeclarative]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt/qtdeclarative Pushed by mirror-service into branch '6.12'. Changed from 0ac012d5bccf601c36f317789e2e99d5f263169e to a4b11babb72805f3792c00131ee397e96cd67594 Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 6d6f43bd5e070cf9b081f88d18694167a570a9e8 by Qt Cherry-pick Bot (on behalf of Olivier De Cannière) on 29/07/2026 at 21:16.. Reformatter: Consider void/var as potential type annotation identifiers We were only matching T_IDENTIFIER for the type name of a function type annotation. Other identifiers covered by a more specific tokens such as T_VOID or T_VAR were not considered and would not pass the check. This would confuse the state machine and mess up the indentation from that point onwards. Fixes: QTBUG-148521 Change-Id: I19b1f58fe4dd019b83c5520f8e4ad5b3f672b04d Reviewed-by: Sami Shalayel <[email protected]> (cherry picked from commit 881871c172f603389166d8cee4a7f5167979e612) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/6d6f43bd5e070cf9b081f88d18694167a570a9e8 Git commit 78bb8cfa11879d9e760b23adc1a059aabeb23975 by Qt Cherry-pick Bot (on behalf of Dilek Akcay) on 29/07/2026 at 21:16.. StyleKit: Default indicator foreground fillWidth/fillHeight to false Change the default values of control.indicator.foreground.fillWidth and fillHeight in FallbackStyle.qml from true to false. Indicator foregrounds don't generally need to stretch to fill their parent, and doing it by default can be surprising for users. Explicitly enable fillWidth and fillHeight for controls that rely on this behavior to preserve their existing appearance: CheckBox, CheckDelegate, RadioButton, RadioDelegate, Switch, SwitchDelegate, ProgressBar, Slider, ScrollBar, and ScrollIndicator. Remove the explicit false settings from ComboBox, MenuItem, SearchField, and SpinBox, as these controls inherit the new defaults. Change-Id: I92e9760f7220504204ec6825ce7fd157a7f762f9 Reviewed-by: Doris Verria <[email protected]> (cherry picked from commit df7a2a4636b991e04035e29ea00730e9cbf8e2d2) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/78bb8cfa11879d9e760b23adc1a059aabeb23975 Git commit a6749c7582afaf0873c0dd30da7cf3e455a186b6 by Qt Cherry-pick Bot (on behalf of Tor Arne Vestbø) on 29/07/2026 at 21:16.. CMake: Source the build-dir qt.conf from the QML import scanner When an application is built against a shared Qt, the QML modules that live in its build tree are located at run time through a qt.conf written next to the executable, listing their import path roots. Until now those roots came solely from the module's declared CMake dependencies (DEPENDENCIES/IMPORTS TARGET), which does not see modules that are only imported from QML with no corresponding CMake dependency - precisely the case the deploy-time plugin symlinks existed to cover. Source the roots from the union of the declared dependencies and qmlimportscanner, which parses the actual .qml files and so sees every import. The declared dependencies still guarantee that a target with no .qml files of its own records its dependencies' roots; the scanner adds the QML-only imports on top. The per-target partial *_qt.part.conf is now produced at build time by a small helper script, Qt6WriteQtConfPart.cmake, that consumes the scanner's output, instead of a configure-time file(GENERATE). Qt's own modules are filtered out, both by their namespaced LINKTARGET and by rejecting roots under a Qt import path (the foundational QML module has no LINKTARGET). Generation is no longer gated on the target declaring dependencies, so every QML-backing executable participates. Where the scanner does not run - a static Qt build, or a test executable without the force override - the partial is still generated at configure time from the declared dependencies alone. Whether a scan will run is settled once, in the scope of the qt_add_qml_module() call, and cached on the target. _qt_internal_qml_import_scan_enabled() hands that answer to both the finalizer that sets the scan up and the deferred writer that consumes its output, so the two cannot disagree about it. The path the scanner writes to is shared the same way, through _qt_internal_qml_imports_file(). The scanner-entry parsing macro moves to Qt6QmlPublicCMakeHelpers.cmake so the -P script can share it instead of carrying its own copy. [ChangeLog][QML][CMake] The qt.conf generated next to an executable in the build directory now records QML modules that are imported only from QML (without a corresponding CMake dependency), by sourcing the import paths from qmlimportscanner in addition to the declared dependencies. Task-number: QTBUG-101338 Change-Id: I5d0ead2fee0af9fac21445d03540ed337920a0cf Reviewed-by: Alexandru Croitor <[email protected]> (cherry picked from commit dc27fcdaf26cca3fadc92cd0c9aa5398e6b0e774) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/a6749c7582afaf0873c0dd30da7cf3e455a186b6 Git commit df4893caf340e7685ff88b868e3278b7d610c4df by Qt Cherry-pick Bot (on behalf of Sami Shalayel) on 29/07/2026 at 21:16.. qmlcontextpropertydump: don't build if not available on host Disable the building of qmlcontextpropertydump when crosscompiling with a host that does not have qmlcontextpropertydump (e.g., when the qmlcontextpropertydump feature is disabled on the host). Fixes: QTBUG-148180 Change-Id: I3d821e2bb4ee02c23e303958320714801fc1a1f9 Reviewed-by: Alexandru Croitor <[email protected]> (cherry picked from commit 4233c0c9fdaefa8802a0a6a26b915f475e7e9ad6) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/df4893caf340e7685ff88b868e3278b7d610c4df Git commit 32c260cc6a7295ee838f1c8a48f2cfaab24291d7 by Qt Cherry-pick Bot (on behalf of Oliver Eftevaag) on 29/07/2026 at 21:16.. Introduce QQuickPopup::ClosePolicy::CloseMultiple The popupType currently affects closing behavior, in that popupType: Popup.Item can cause multiple popups to close when clicked outside with a single mouse/touch click, while Popup.Window limits the number of popups that can be closed to 1 (with the exception being nested menus). This behavior was intentionally added in 459f1e4aeeee77dfc1ae541276110e2755cdaea7, without a way to override it. While the popupType: Popup.Item behavior has been like this since its introduction, it would make sense to align the closing behavior to be identical to popupType: Popup.Window. But since some users might expect multiple popups to close for a single click, we can introduce a new closePolicy flag which affects this behavior, allowing application developers to tweak this to their liking. The cascade needed to account for a few edge cases found during testing: a modal popup's dimmer blocks outside presses/releases from reaching whatever is behind it regardless of whether the popup also closed itself, which was stopping the cascade one popup early; a modal popup that blocks (but doesn't close) a press also prevented popups further down the stack from ever recording that the press started outside them, so they later refused to close on release; and Popup.Window's cascade didn't distinguish CloseOnPress/ReleaseOutsideParent from the plain Outside policies at all. All three are fixed here. [ChangeLog][Important Behavior Change][QtQuickControls][Popup][ClosePolicy] Added flag CloseMultiple. Setting this flag combination with CloseOnRelease*/CloseOnPress* will cause non-top-most popups to close, when both the popup and it's child popups are clicked outside. This was previously the default behavior for popups with the Popup.Item popupType. The default behavior has been changed to always only close the top-most popup, unless this flag is used. Fixes: QTBUG-146164 Change-Id: I53fd6b1718a95afcc654d087dddd986b866c42a1 Reviewed-by: Mitch Curtis <[email protected]> (cherry picked from commit b80b013e6844e4ade44e1c42390a346daa62e309) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/32c260cc6a7295ee838f1c8a48f2cfaab24291d7 Git commit b3f8007476b6713cd74706dbf521831c18485eb5 by Qt Cherry-pick Bot (on behalf of Tor Arne Vestbø) on 29/07/2026 at 21:16.. CMake: Retire the build-tree QML deployment step A macOS app bundle used a POST_BUILD step to symlink each build-tree QML plugin next to its qmldir under Contents/Resources/qml, so the bundle could find modules that live in the build tree. Now that the build-dir qt.conf lists those modules' import paths, the running bundle finds them in place and the symlinks - and the whole build-time deployment step - are no longer needed. Remove the POST_BUILD deployment entirely: the __QT_DEPLOY_POST_BUILD machinery in qt6_generate_deploy_qml_app_script and the symlink creation in the deploy support are gone. Deployment now happens only at install time, which copies the plugins into Contents/PlugIns and the qmldirs into Contents/Resources/qml as before. The MACOS_BUNDLE_POST_BUILD option is kept as an accepted no-op for source compatibility. install(TARGETS BUNDLE) copies the build-tree bundle wholesale, which brings the build-dir qt.conf into the installed bundle where its build-tree import paths are both wrong and unnecessary. Remove it at install time, but only if it is the file we generated - identified by the private "MergeQtConf = true" marker - so a qt.conf placed by the user is left untouched. Task-number: QTBUG-101338 Change-Id: I2111f901473729ab1abe10df7897dfc24ca4ac79 Reviewed-by: Alexandru Croitor <[email protected]> (cherry picked from commit 8cae7ea4ac7ecbc0063d37a713332e252739e745) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/b3f8007476b6713cd74706dbf521831c18485eb5 Git commit a4b11babb72805f3792c00131ee397e96cd67594 by Qt Cherry-pick Bot (on behalf of Tor Arne Vestbø) on 29/07/2026 at 21:16.. CMake: Stop passing the no-op MACOS_BUNDLE_POST_BUILD deploy option Now that the build-tree QML deployment step is gone and MACOS_BUNDLE_POST_BUILD is a silently-accepted no-op, drop it from the examples and from the qt_generate_deploy_qml_app_script documentation. The option itself is kept for source compatibility. Task-number: QTBUG-101338 Change-Id: Iee2523e1927ad67aa06bcde3d1b08fd284713e43 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit f0e500207eb4f22e9548627527ed75f3e08be5eb) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/a4b11babb72805f3792c00131ee397e96cd67594