aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.6.2' in qt/qtdeclarativev6.6.26.6.2Qt Submodule Update Bot2024-02-091-5/+5
| | | | | Change-Id: I2f70b5c294840757a235ecd2633ca4fd1ad350c0 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.2' in qt/qtdeclarativeQt Submodule Update Bot2024-01-311-5/+5
| | | | | Change-Id: Ic9bc5003b86489c93bbe1c737bf8b24c2a7d79bd Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.2' in qt/qtdeclarativeQt Submodule Update Bot2024-01-301-5/+5
| | | | | Change-Id: Ifacf7893d99aa6a2853447b82cef68101d16c99d Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.2' in qt/qtdeclarativeQt Submodule Update Bot2024-01-271-5/+5
| | | | | Change-Id: I22655cab3d575a1c740365170d3585f63a76478e Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.2' in qt/qtdeclarativeQt Submodule Update Bot2024-01-251-5/+5
| | | | | Change-Id: Icf77d2ae0512bfce3d5f8f8b0595e5b79f91a34a Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.2' in qt/qtdeclarativeQt Submodule Update Bot2024-01-241-5/+5
| | | | | Change-Id: I162feebe282d0a5d62727271382c43c84cc5a920 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix polish issue in quick text editSanthosh Kumar2024-01-223-4/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The text edit didn't polish even after there is change in position offset, leading to alignment issues. During geometry change, the QQuickTextEdit calculates implicit size and base position offset, and then further requests a polish immediately afterwards. This sequence of update happens only if we have valid width or height set for text edit control. But in case we set width or height to undefined, there is a chance that this update would be missed. This patch removes the checking of widthValid() in QQuickTextEdit::geometryChange(), to allow those updates. The validation of width or height is already handled internally within updateSize(), so it shouldn't create an issue; and we still try to avoid emitting cursorRectangleChanged() too often. Amends 1770fa632facf2f1e4bb05e7689efc939d46cfef Task-number: QTBUG-117667 Task-number: QTBUG-25489 Pick-to: 6.5 Change-Id: Ia20cd06e78842f5edb0c395d6322a660f86f6b5e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit d84c1304112d2198a12e647fd44f57ee0e8dc437) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 3bff953242758365d81e278a6ee0f95f2deb6f1d) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Filesystem Explorer: Guard against mobile usageDennis Oberst2024-01-225-4/+16
| | | | | | | | | | | | | | | It was observed that users try to run this example on mobile platforms. It was never designed for such a usecase and is therefore not supported. Ref: https://camg.me/qt-mobile-2023/#filesystem Additionally mention that this is a desktop example in the docs. Change-Id: I55205e3f2cb3a45aaf18f2a52ea24f54ab8e39bd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 9e4f24e7491ebd8e26a7ca4d56046e558b57154c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 15d27caf011f6cf1392585e10ae4b925d0257aba)
* QQuickWidget: accept touchpoint even if it has a passive grabShawn Rutledge2024-01-223-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In the test case from QTBUG-113558, a QQuickWidget's only event-handling object is a TapHandler with its default gesturePolicy, so that on touch press, it gets pressed; but it was missing the touch release and getting stuck in pressed state. As explained in dc8f44b14501ecd4acc196f5138aeff3f7502d0a, widgets don't care about (exclusive or passive) grabbers, and rely on points being accepted to make the widget that received the TouchBegin an implicit grabber. If the only thing that happened in the Qt Quick scene in the QQuickWidget is that the touchpoint got a passive grab, it's still a kind of interaction, and we want to ensure that the TapHandler will see the release too, to avoid getting stuck. (This means that passive grabs are not passive from the perspective of widget event delivery: the TapHandler ends up excluding delivery of the touchpoint to other widgets, even though it didn't mean to. But hopefully nobody expects cooperation with touch-handling widgets underneath the Quick scene.) Fixes: QTBUG-113558 Pick-to: 6.5 Change-Id: Ided6247b43a2405dbfdf9d195bb45ceae4cf58fd Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 59b0b59090e2ff3f04bd15120720ee6a5b0c3f4b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 9f85654f7d4613ad184ffba950e53a82e61e9cc9) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Change the way tests and examples query the qmldir file from QML plugin targetsAlexey Edelev2024-01-225-19/+16
| | | | | | | | | | | | | | | Use qt6_query_qml_module to get path to qmldir, but not TARGET_FILE_DIR. This is more accurate way. Pick-to: 6.5 Fixes: QTBUG-120479 Change-Id: I4b7f7bf3b7f69c15871e400af3e7ae945a9bfdf0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit d276d025a8f5eece16ad6c08fb552ab133fae615) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5e60f6d1417aa3a9a4059eb3131b54c43b6af5f6) Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc & Test: fix syntax of QSettings sub-groupsThiago Macieira2024-01-226-32/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These examples and .conf files were using two different syntax to create a subgroup. QSettings may not support one of them and is misbehaving. So let's use one syntax only and the one that it produces when writing the output. This code: s.beginGroup(u"Material"); s.beginGroup(u"Font"); s.setValue("Family", "Open Sans"); s.setValue("PixelSize", 20); Produces: [Material] Font\Family=Open Sans Font\PixelSize=20 Fixes: QTBUG-121035 Change-Id: I76ffba14ece04f24b43efffd17ab7ea941910c19 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit e8e818df993113f7c330f8215dccc24c2790f7c5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 450fdee836866cfc8f62f1bc829f27223946f1da) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-01-221-5/+5
| | | | | Change-Id: Ic89b08d503e97d644e22b2c2d9bb26e6920a9758 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QmlCompiler: Use a hash set for the list of conversionsUlf Hermann2024-01-212-18/+24
| | | | | | | | | | | | | | | There can be a lot of them and we don't want quadratic behavior. It might be possible to further improve on this using e.g. sorted lists and algorithms provided by the STL. However, such an implementation would be more complicated and would require weighing several trade-offs. Pick-to: 6.5 Fixes: QTBUG-121139 Change-Id: I717b49bd4af97abcaae9ae78d1e1b31d5d462952 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit af212e5e4edb73978298cd030b15deb8d8c28183) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 2108e416eabc68c0136faa5041d80866ce1da716)
* AnimatedImage: avoid loading the same web source in parallelVladimir Belyavsky2024-01-182-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickAnimatedImage::load() is an overloaded method that is called implicitly from QQuickImage/QQuickImageBase whenever an user changes basic properties such as fillMode, mipmap, sourceSize, etc. In the case of a web source, this can cause a real problem with loading failure. For example, when the user changes `fillMode` immediately after setting the `source` property, like: anim.source = <some web image> anim.fillMode = Image.PreserveAspectFit Currently the code above lead to the error "QML AnimatedImage: Error Reading Animated Image File". This happens because QQAI::load() initiates a new network request at the same time that one is already in progress. And when the first reply finishes, we try to read data from the new reply that is not ready yet. To fix this, we can simply ignore and do nothing on QQAI::load() if there is already active network request (i.e. d->reply is not nullptr). This has no effect on the actual source change, since we explicitly remove and nullify the active reply in QQAI::setSource(). By this change we also fix potential memory leak, because the old reply was previously not destroyed properly in QQuickAnimatedImage::load(). Fixes: QTBUG-120555 Pick-to: 6.5 Change-Id: I28f964b51c059855c04a4c80bdce127b3e9974a7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit fec4ac12e7a60dbd83a2b9c8bb75ad0f88d13a6a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a9b0aec18ca5d22537d350fafd795ae8d30d4053)
* TableView: don't clear existing selectionRichard Moe Gustavsen2024-01-184-49/+56
| | | | | | | | | | | | | | | | | | | If TableView.selectionMode is ExtendedSelection, and the user starts a second selection (by pressing ControlModifier while dragging), the second selection can end up clearing the first if they temporarily overlap. This change will make sure that we save the current selection when a new extended selection starts, to ensure that a cell will stay selected if either the first or the second selection selects it. Fixes: QTBUG-121132 Change-Id: I7bd6eeb4b0cc2372aa683c3c71d8e1b25c5ef17e Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit 6eb26fe88648265ff4f7f1508280a24bb2cb900d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit ac4ff59e7be0d80ae5f278491207c5776a080a50)
* CMake: Fix NO_LINT option to work properlyAlexandru Croitor2024-01-181-3/+3
| | | | | | | | | | | | | | | | Even if NO_LINT was passed to qt_add_qml_module, qt_target_qml_sources would read the property set by qt_add_qml_module too late, and would still create a lint target. Make sure we read the property earlier. Pick-to: 6.5 Fixes: QTBUG-121206 Change-Id: I409b37cab6dc0583458142ff00447d4191b4ff61 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 3fb693d7dad9070d7c574fc320b35e5ca6a5d2c7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 48a5ebd140b17b1ac9ef8a579ba49566db6bb88c)
* Make PieMenu in pointer handlers example work with mouse right-clickShawn Rutledge2024-01-181-1/+5
| | | | | | | | | | | | It opens instantly with right-click; whereas it animates open with a finger or stylus, to avoid accidental activation, as before. Pick-to: 6.5 Change-Id: I6f530fb6da67c735fe3aae4545c8040f49e8dc05 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 86081091f9078f511bb9dec3f2b1ef53d7bf4ba9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 08b00cf7e338f5f9225a05704d64ffcdf5f5853c)
* Doc: Replace Qt 5 QtGraphicalEffects code snippet with Qt 6 MultiEffectAndreas Eliasson2024-01-181-6/+7
| | | | | | | | | | | | | | | Qt Graphical Effects was deprecated in Qt 6 and replaced with the MultiEffect type. Fix code snippets in Qt 6 documentation to use the MultiEffect QML type instead of the deprecated Qt Graphical Effects type. Fixes: QTBUG-119992 Pick-to: 6.5 Change-Id: I27c11ed013880978656f86b6322bf3e4bfa18812 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit a95df6a234e4f6e08975eed71b823d41b98542f6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 134261baf97e4bcdd69dcff27a63551876aeb52c)
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-01-181-5/+5
| | | | | Change-Id: Ia5fa0359d922f7d412cd8f945e4a0d96d407e4f0 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QtQml: Do not call signal handlers on half-deleted objectsUlf Hermann2024-01-183-1/+57
| | | | | | | | | | Fixes: QTBUG-121022 Change-Id: Icdefd6bef4906700d88eca47c09d0abe54f1eec9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 9d8e78a2f2661d8a1f2909bfe8a20e15f833af2e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5d53ea98449597dbbad38752b4aac80e0aedb341)
* Correct merge reorder issue with the revert patchSanthosh Kumar2024-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | This is a follow-up patch to revert the complete change made in patch 9ad9d05f26184a79ad3fe09abdc662949088d19d and d85de8da6011731e3ff31ae1361e71fecaedb0be. There are separate patches made to revert these changes but the order in which these revert patches merged (in 6.7 branch) was incorrect. This further triggers issue in other branches. This patch fixes the issue happened due to merge reordering. Its to be noted that patch d85de8da6011731e3ff31ae1361e71fecaedb0be not been merged to 6.6 and 6.5 branches but still this patch is required to revert the complete change in those branches. Pick-to: 6.5 Change-Id: I875b13741bccc36c4a4892e5d71b6c7aa7e3b031 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 2b925eb9b925665afb83cb11addbc9cb7319ae41) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmlformat: Fix object declaration indentation in arraysJoshua Goins2024-01-176-11/+42
| | | | | | | | | | | | | | | | Object declarations inside of array patterns did not insert newlines correctly. This fixes those while not touching other types of array initializations (such as numeric literals) and the one of test data. When extra commas are added to the end of arrays, they are now kept on the correct line as well. Pick-to: 6.5 Change-Id: I8fe67ef066b84f56237449c7695990daa915b4b6 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 295a1ce389cda8f360835c89d9a3b32cbcba7eb6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 2b1bcfd3b6b2bdcd387e3dc645f35afa9672404b)
* Put the QML plugins to the non-config directoryAlexey Edelev2024-01-171-0/+31
| | | | | | | | | | | | | | | | | | | | | | | The generated qmldir files that are used by QML engine specify the relative path to the QML plugins that are build within modules. So it's usually expected that plugins are located on the same level as the qmldir files. In Multi-Config builds all libraries are located in the build-specific directories by default. In this case QML engine is unable to locate the plugin and the application cannot be run without extra manual steps. This fixes this issue, by using the top-level plugin OUTPUT_DIRECTORY for the "default"(first) config as RUNTIME/LIBRARY_OUTPUT_DIRECTORY. In Windows platforms we need to make the same for non-static backing libraries, since we cannot rely on RPATH there. Task-number: QTBUG-99061 Pick-to: 6.5 6.2 Change-Id: I51a8864743b87fd6ec4ba7179e13f311c5bee403 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 2dbae968e7a15aca2ff5c8795e2a6dcb2e0a5744) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 91a25a8e3c576e666ad719da302eb30e256ef5ee)
* Dialogs: Defer automatic window resolving until dialog is openedOliver Eftevaag2024-01-176-20/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qml tool, as well as the QQuickView class are creating their own window outside of the root qml file that is passed to them. This caused an issue where no dialog were able to find a window when componentComplete() was first called, which would make them return early in the QPlatformDialogHelper::show() re-implementations, and thus never show the dialogs when open() was called. This patch solves the issue by waiting until open() is called, before trying to find a window in any of the parent items. Since Window always has a contentItem, it was also possible to simplify the logic that searches for a window, by only trying to cast the parent to QQuickItem*. Another issue that came up, was the fact that dialogs with visible set to true, aka: FileDialog { visible: true } Should open as soon as possible upon its creation. To get around this, open() is called during componentComplete() if a window can be found during this time. Otherwise, the call to open() is deferred until the nearest parent item emits the windowChanged() signal. Note that calling setParentWindow() will now take priority over the implicit window search, unless the argument for setParentWindow is null. Meaning that moving a dialog to a different window, by modifying parents, will not happen for dialogs that are explicitly binding a value to parentWindow. Fixes: QTBUG-106598 Pick-to: 6.5 Change-Id: Idd7c0ecdeea6cbf26e8d41168788563ee9794118 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit f233a5ff9d04daf3ba792cc196da7e5f190b415c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit ba596daec67fb41d87d6c4a0b31f215fc0a1359d)
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-01-171-5/+5
| | | | | Change-Id: I7363fb86f86c1c8b410966c685ca8f3cadd78f07 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Doc: explain how to ensure the TestCase's window is activeMitch Curtis2024-01-171-0/+9
| | | | | | | | | Pick-to: 6.5 Change-Id: I0d2e8a8ffdabba9cd6f0aee7dad8e79728c0261b Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit c9b32cf8e82a09884501991eac25f3a5835f118f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 15ca6b69b72b1ada29ef2076fbb534677e23a5be)
* QQuickWidget: Clean up if RHI goes away under our feetTor Arne Vestbø2024-01-162-1/+39
| | | | | | | | | | | | | | | | | | | | | | | The QQuickWidget doesn't normally own the RHI; the QWidgetRepaintManager does, via QBackingStoreRhiSupport. If the top level widget is destroyed, so is its QBackingStore, and the corresponding RHI. But the QQuickWidget may outlive its top level parent, in which case it needs to update its cached reference to the RHI, and do proper cleanup before it goes away. QRhiWidget already does the same thing, for the same use-case. This was observed when recreating the top level QWidget via destroy/create as part of the RHI widget compositor logic. Fixes: QTBUG-119760 Pick-to: 6.5 Change-Id: Ic44449abcfe4271660a3ac4e132d0c4a71a21b65 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 0d342e83123b27befde95fc35760a358dbff0b16) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit df2314d7082e2da8dc33ab2ab6417e5f618b0515) Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Fix documentation for QML_ATTACHED and QML_FOREIGNUlf Hermann2024-01-161-1/+4
| | | | | | | | | | | They can in fact not be combined. Pick-to: 6.5 6.2 Change-Id: Ic01edf9328d7235511f305ed15114360b79d0a36 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 5a8663664ea49722a6f561bd2fad8fb30b4e7860) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8bd24a76b6e685bc1b0be351686365e84b1747cb)
* TableView: start a new selection when using Qt::ShiftModifier (PressAndHold)Richard Moe Gustavsen2024-01-162-3/+33
| | | | | | | | | | | | | | | | | Follow up on previous patch to qquickselectionrectangle, and implement starting a new selection when using Qt::ShiftModifier also for PressAndHold. This configuration, PressAndHold + holding Shift to start a selection, is normally not used in combination. But at the same time, there seems to be no reason why it should't work either, as using selections handles on desktop is allowed. Task-number: QTBUG-120628 Pick-to: 6.5 Change-Id: I8a7589ffd4d16e339a5654605ee0916d96c8cbf0 Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit 4335010a80a4b5128d3da66c654a458a3b53f65f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 43ebd251240b5fb07bacfae73eb47eb5234759c1)
* qmlformat: Fix property names with escape charsSemih Yavuz2024-01-164-17/+35
| | | | | | | | | | | | | | | Formatter was breaking the string literal property names if they consisted some escape sequences. Remove the complicated logic for rewriting, instead use the same literal that was scanned and assigned to propertyName. Pick-to: 6.5 Fixes: QTBUG-113776 Change-Id: I87d8c31d4893001e784536302e33f1f517f21acd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 4c059a14b8ce91e005cb67d31cd94223274ad60d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit cf99be5aceb96b5c34604a1cbe924c42e9a0acf6)
* Doc: Clarify that the compact Binding {} declarations need an idSze Howe Koh2024-01-161-4/+4
| | | | | | | | | Change-Id: Icef07f23e78c48e7321431e51c5431a8ad8b6c4d Pick-to: 6.5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 20158226892fc4172114f1bbca793aa8a0d4279f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 54205452c2cab4c4400c29f939844b2f3adaf506)
* Clarify QQuickItem::map{To,From}Item when passed a nullptrTor Arne Vestbø2024-01-151-2/+2
| | | | | | | | | | | | | | | | | Passing nullptr when mapping to/from an item results in mapping relative to the scene's coordinate system, and this is also what the "Scene Coordinates" section of "Concepts - Visual Coordinates in Qt Quick" documents. Avoid the ambiguous term "root QML view", which may be mistaken for the top level window in a child-window scenario. Pick-to: 6.5 Change-Id: Ibd386ec8248f5e398b04248d15c7cf48bd46c090 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 2ea08a9918343002a5ddf20f3c48c577fb27544c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit b0cc7939b88d855f803d48a4c41c5bf5e51d3e8b)
* TableView: start a new selection when using Qt::ShiftModifierRichard Moe Gustavsen2024-01-153-14/+43
| | | | | | | | | | | | | | | | | | If no selection exists in TableView from before, and the user shift-clicks on a cell, then start a new selection from the current cell towards the clicked cell. This is already how it works if a selection is started using the keyboard, and also standard selection behavior for other item view implementations outside of Qt (e.g Finder on macOS). Fixes: QTBUG-120628 Pick-to: 6.5 Change-Id: I2fd34e680eed9992dd7c405fbd58ae4f5b0834ec Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit aecb62403eb067ac882c5e9e95a94a03c2e2903d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 4214d705a20db54e591d2e46ea66ed1b4c834d47)
* Revert "Fix binding loop and polish issue in quick layout"Jani Heikkinen2024-01-132-80/+7
| | | | | | | | | | | | | This reverts commit 9ad9d05f26184a79ad3fe09abdc662949088d19d. Reason for revert: QTBUG-120592 Change-Id: I6cba9e88832ac0d78280fd9d6f96b319748545be Pick-to: 6.5 Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit cd5471fcd6f3d4c22fed0fdfac5abca5e51c1064) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1b6285429f5d42daf6ef6da7809803c5acaf2670)
* Extend the Q_IMPORT_QML_PLUGIN documentationAlexey Edelev2024-01-111-2/+14
| | | | | | | | | | | | | | Add the explanation what is PluginName and how it's computed when using the modern QML API. Fixes: QTBUG-119372 Pick-to: 6.5 6.2 Change-Id: I7346f7b7f82c717ee79b07f4dcec0c0d1dc733b2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> (cherry picked from commit 48241a49d96f27cfb64218a91a3aa7a8d1174a91) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit db9171d0c3011613131965e5576a4efe261f08c2)
* tst_textarea: fix warningsVladimir Belyavsky2024-01-111-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix all warnings encountered in test run: - in test_alignment() QWARN Could not set initial property horizontalAlignment - in test_flickable(): QWARN Setting initial properties failed: QQuickFlickable does not have a property called selectByMouse QWARN Setting initial properties failed: QQuickFlickable does not have a property called text - in test_font_explicit_attributes(family) QWARN qt.qpa.fonts: Populating font family aliases took 130 ms. Replace uses of missing font family "Courier" with one that exists to avoid this cost. Fixes: QTBUG-119645 Task-number: QTBUG-99231 Pick-to: 6.5 Change-Id: I9939286c46eebc188610ee0b09350be8dda833b3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit ea3d7ec08b99914ccd961ca7a46ea8abdbc3f54d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 476adce4a7cfc2df83f60da17dc14b821f35be13)
* tst_textfield: fix warningsVladimir Belyavsky2024-01-111-3/+5
| | | | | | | | | | | | | | | | | | | | Fix all warnings encountered in test run: - in test_alignment() QWARN Could not set initial property horizontalAlignment - in test_font_explicit_attributes(family) QWARN qt.qpa.fonts: Populating font family aliases took 130 ms. Replace uses of missing font family "Courier" with one that exists to avoid this cost. Fixes: QTBUG-119646 Pick-to: 6.5 Change-Id: I34edb8a8c85ad134f3a8844463722f71bd30bc1b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 26effad71e174d2b6df297ef3e43b3dcf2e021c9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 722763e9d69e5a17ab70848051ed86e58ab94cb7)
* TextArea/TextField: properly update placeholder text alignmentVladimir Belyavsky2024-01-112-40/+73
| | | | | | | | | | | | | | | | | | | | | | | | | Placeholder text alignment depends on actual alignment of a parent control, e.g. TextArea or TextField. Thus, if the horizontal text alignment of the parent control is set explicitly, the placeholder text must have the same alignment. Otherwise, the placeholder text alignment should respect to the natural alignment of the text. In order to do this QQuickPlaceholderText is connected to effectiveHorizontalAlignmentChanged() signal of the parent control. The problem is that the signal may not be emitted when alignment is set explicitly after the component creation, so the placeholder text alignment will not be updated respectively. To solve this we need to make sure that the signal is forcibly emitted every time when the alignment is set explicitly. Fixes: QTBUG-120052 Pick-to: 6.5 Change-Id: Ib66a7a46d523777cc54ca6b6883d3fecc800dfb2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 694a677535ef11f9c966920c5e99d304bdbd94a5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8b12eb7ed530d419538615ac85ec815a8fa6ff43)
* Amend 9ad9d05f26 to fix wrong whitespacesLars Schmertmann2024-01-111-16/+16
| | | | | | | | | | Task-number: QTBUG-117899 Pick-to: 6.5 Change-Id: I3726e0cdc743eb6c10a78d826b993cf71834663e Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit 7b9f69a69e669063c082ca5b8e3e53968978f17d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 2ad42e1f272b020f9394992b5e2dc0128fd4d6b8)
* Fix BusyIndicator invisibility under Fusion styleTim Angus2024-01-112-3/+31
| | | | | | | | | | | | | | | | | | | When an initially invisible BusyIndicator is first made visible under the Fusion style, it does not in actuality become visible. This is because the QQuickFusionBusyIndicator::itemChange() function ignores ItemVisibleHasChanged, so the appropriate actions don't take place. The fix is a partial copy and paste of QQuickMaterialBusyIndicator::itemChange's implementation which has identical logic except for calling the appropriate ::itemChange() super function. Task-number: QTBUG-108808 Pick-to: 6.5 Change-Id: Id92c62a1eef4fc278ab91097f04db5b41a5d2c8a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 321110041143065a6939b157a0e85510ec5a0841) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8f2aa4de88db7a4d5c7c35d30df0688fa1e52594)
* Only update the filename text field when the user selects a fileOliver Eftevaag2024-01-118-5/+64
| | | | | | | | | | | | | | | | | | | | Apparently, it's normal for file dialogs to not update the text field that represents the filename of the currently selected file, if the selected file is a directory. To achieve that behavior, I'm removing the binding on the text property, and instead call setText() to update the text field when either the user selects another file in the file dialog list view, or when the selectedFile is changed externally. But only if the selectedFile is an actual real file, and not a directory. Fixes: QTBUG-119917 Pick-to: 6.5 Change-Id: I8dbf41ba403d09419a2d66130bdad59e66c9d1cf Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit 8e734b2fc027dc53fca1f344d1ab234a0756ea89) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit ddee70ac8cebbba4e1f394d3d8b7149ef0436bc0)
* Update 3rd party directories to SPDX-License-RefLucie Gérard2024-01-1131-1179/+63
| | | | | | | | | | Task-number: QTBUG-120262 Change-Id: I57c610421e9d499175856ff6f9520710b18c8a3c Signed-off-by: Lucie Gérard <lucie.gerard@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io> (cherry picked from commit 086ee38bf87439d1fafdb87133829f9097fa73f9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 36e3f037d5dcb326e514daa7dcef715dfc87f52b)
* ExecutableAllocator: Use non-recursive mutex againFabian Kosmale2024-01-091-1/+1
| | | | | | | | | | | | | Amends/parially reverts 4bac72aa13e6818460f6b71127d3af5bd7e00ca5, which replaced recursive Qt5 mutexes with QRecursiveMutex – but ExecutableAllocator used QMutex::NonRecursive, so this instance was misguided. Change-Id: I33fd9e903b8861a7907bc8bde7632045198ef5c7 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 63a635d9237be5bc4445727ba772527066daaf70) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5d6c8c2f391a39180e2664cf1ee1e39edbe7cff6)
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-01-081-5/+5
| | | | | Change-Id: I8b1b1f48282afedea3e678c9989c6f08f9d90ad6 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Avoid crashing in the quickwidgets example after closing the subwindowShawn Rutledge2024-01-071-3/+15
| | | | | | | | | | | | | Closing the window deletes m_quickWidget; so we disable the menu items for grabbing from it, because those cannot work. Also add asserts. Fixes: QTBUG-120296 Pick-to: 6.5 6.2 5.15 Change-Id: I68154c2d1e4553c771815e29cbe3b095d85893f1 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit f719ee6408a92439a65e82abea4403df6a844066) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a49d309b4acaba1dbb08ea1c554ad333b439b8cf)
* Fix binding loop and polish issue in quick layoutSanthosh Kumar2024-01-053-8/+81
| | | | | | | | | | | | | | | | | | | | The quick layout item cause binding loop issue when layout item size were updated in-between polish. This has been fixed by not updating layout size hint during rearrange. But there is polish issue due to child item not being invalidated and this skips corresponding item box size calculation. This patch invalidate all the items in the rearrange list of the layout and finally, invalidate engine and layout. Fixes: QTBUG-117899 Fixes: QTBUG-118511 Pick-to: 6.5 Change-Id: I1e318335ce8b5268d878b48a02a089d703bb90ad Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 9ad9d05f26184a79ad3fe09abdc662949088d19d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a1d5514289fdd69c2904eef52dc106d2c0a66895)
* Ensure that HoverHandler reacts if a touchpoint moves out of boundsShawn Rutledge2023-12-293-0/+70
| | | | | | | | | | | | | | | | | | We rely on QQuickDeliveryAgentPrivate::flushFrameSynchronousEvents() mostly, but it doesn't get invoked without a window update request. So there is a special case when a touchpoint moves _out_ of an item that has a HoverHandler but is not reacting to touch in other ways: we just need to send another artificial hover event for each touchpoint to each hovered item to inform handlers about the new hover position. Fixes: QTBUG-120346 Pick-to: 6.5 6.2 Change-Id: I479362a2663943eb495fe0be418009165c7134bd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit ff4c2c311f1957ebacb66f0d35406a51da2a544e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 7ef31a576328a2a8a94885cf2056dc0ddd9e5a2f)
* Doc: Add an example customization for an indeterminate ProgressBarTopi Reinio2023-12-292-0/+32
| | | | | | | | | | | | | | | The indeterminate state for a ProgressBar control was not mentioned in the customization documentation. Adapt an animation from the old Qt Quick Controls 1 customization and link to the indeterminate property documentation. Fixes: QTBUG-116306 Pick-to: 6.5 Change-Id: I56d2c7fe4b326637806edd85d40be040b7fdb3f6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 57f5f462fcd6ed48fab49041d82edd65cf9138c5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 38f167d3c6ac3cbdc721e9c854a2fc6ab619b31a)
* QtQuick.Shapes: Mark Shape properties as readonlyIvan Tkachenko2023-12-271-0/+2
| | | | | | | | | | | | Expect boundingRect, which was added in Qt 6.6, so can't be cherry-picked. Pick-to: 6.5 6.2 5.15 Change-Id: I03aeb808acdf60e207eba45e7b6761d29714d6f2 Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit a35f65a5fa140c3ba0ddfa9093a7b7526382b22e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1e21dc33261dcf1c6f7c30d4eac7625264f98279)
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2023-12-251-5/+5
| | | | | Change-Id: I0dbb2fe6044ae514dd45ce397c3cd9ce41acfb00 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>