aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* QtQml: Fix marking of values on AOT stackUlf Hermann2025-11-051-2/+2
| | | | | | | | | | | | | We need to pop the value that's being processed before we push further values. Amends commit 2d016a2653c59f10a57dc1903b817f71d16d0622. Fixes: QTBUG-141646 Pick-to: 6.10 6.8 Change-Id: I92c69d612891d4360d83348c4df707389dda582a Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Add note about limitations of permission API typesTor Arne Vestbø2025-11-051-0/+4
| | | | | | | | | Pick-to: 6.10 6.8 Change-Id: I614516c574b5c981260abff86673a25c095500e2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
* qmlformat: Fix string conversion problemsUlf Hermann2025-11-051-9/+13
| | | | | | | | | | | | | Assume UTF-8 when dealing with JSON and use QStringView where we can. Explicitly create QStrings where we have to. Amends commit 962614c1c073efbcbc5752d917c1d198e76b2e60. Task-number: QTCREATORBUG-33305 Change-Id: I89aeef61b5e6373138fc1b064abb97f0593d6801 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Xavier BESSON (Personal) <developer@xavi-b.fr>
* QtQml: Document QQmlDebuggingEnabler and enableDebugging()Ulf Hermann2025-11-051-0/+34
| | | | | | | | | Without this, the existing documentation for the other methods of QQmlDebuggingEnabler doesn't show up. Pick-to: 6.10 6.8 Change-Id: I97335271035294b7f65d9ac78b9cf0143896a6c3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QmlToolingSettings: Pass QString by const refUlf Hermann2025-11-052-2/+2
| | | | | | Coverity-Id: 897098 Change-Id: Iaa2b9a8be3aca36b08cc50bf27c7c1688cc8eb4c Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* Expose window devicePixelRatio as a propertyMarco Martin2025-11-052-0/+23
| | | | | | | | | | | | | | | | | | On some platforms only the window knows the correct devicePixelRatio which is different than the one on QScreen. On QWindow changes to devicePixelRatio are exposed through an event so we make forward the event to a signal here. We hook it to QQuickWindow's effectiveDevicePixelRatio because it takes into account QQuickRenderControl::renderWindowFor() and QQuickRenderTarget::devicePixelRatio() Effective device pixel ratio is returned as it is the one that matters for rendering or calculations for sizes. QQuickWidget forwards the events to the QQuickWindow already. Fixes: QTBUG-141448 Change-Id: I2908b52dbcf005ec25ba282c92906eb6172c9d19 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Docs: Fix a tag errorElias Toivola2025-11-051-1/+1
| | | | | | | Pick-to: 6.10 6.8 Task-number: QTBUG-140073 Change-Id: I54f1c2a09455bd9b232ff332b0725bb1c8c791c0 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Compiler: Rename QMLLINT_DEFAULT_CATEGORIES to BUILTIN in stead DEFAULTOlivier De Cannière2025-11-053-11/+11
| | | | | | | This helps avoid confusion with the default field for categories. Change-Id: Iceb9a2adeb928a0f801fab9c718a8ecc3ac8cd07 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* qmllint: Remove the unused m_isBuilin flag from qmllint PluginsOlivier De Cannière2025-11-052-3/+0
| | | | | Change-Id: If477518595f6c625101209b12e908e7e18a3b5c4 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* qmllint: Also lint inner functionsOlivier De Cannière2025-11-058-45/+169
| | | | | | | | | | | | | | | | | | | We were only collecting the 'QML' functions that would be passed to the AOT compiler. Other function types were ignored. Also collect those and pass them to the compiler but only use them when linting. Defer invistigating whether it is a good idea to try to compile JS functions as well to a later point. Logic in a few places was adapted with this changing assumption. [ChangeLog][QML][qmllint] qmllint will now lint inner functions, defined in javascript, in addition to top-level functions and bindings. Fixes: QTBUG-138845 Pick-to: 6.10 6.8 6.5 Change-Id: If6f62aeace8739442b6a1f355fad95ce19c0643c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qml generator: extend masking functionalityEirik Aavitsland2025-11-054-4/+12
| | | | | | | | Add support for alpha and inverted mask modes Task-number: QTBUG-137913 Change-Id: I86a58d860733abee2158788ff74ce36eef42c770 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* RectangularShadow: Remove note about individual corner radiusKaj Grönholm2025-11-051-4/+3
| | | | | | | | Since Qt 6.11, individual corner radius are supported. Task-number: QTBUG-141110 Change-Id: I38382ff4c20e53ea1f380ac6ae103ddf0cf527e6 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Remove QmlMeta and QmlModules as PUBLIC_LIBRARIES dependenciesTor Arne Vestbø2025-11-041-2/+0
| | | | | | | | | | | | They are implementation details. Adding them as PUBLIC_LIBRARIES will include them in the QtQuickDepends header, but there are no public C++ APIs in these modules. Pick-to: 6.10 Change-Id: Ib6d65ea54ed391b3487d8e0bf808dc02e0e0f93c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Minor cleanup of existing qmllint categories documentationOlivier De Cannière2025-11-048-4/+16
| | | | | | | | | | | Make sure all pages have the \qmllintwarningcategory macro and start with the same structure. Start \brief section with missing [<id>] to follow convention. Pick-to: 6.10 Change-Id: I2a9733beab5a2f599b6e5c51ed8db3d945e9dcb5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* a11y: Report QQuickScrollBar orientationMichael Weghorn2025-11-032-0/+19
| | | | | | | | | | | | | | In QAccessibleQuickScrollBar, support QAccessible::Attribute::Orientation newly introduced in qtbase. This makes the QQuickScrollBar orientation available on the accessibility level. Task-number: QTBUG-140769 Change-Id: I5d2790ec065196eeb5cae3cfd267a375785d8edd Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: MohammadHossein Qanbari <mohammad.qanbari@qt.io>
* a11y: Report + allow modifying QQuickScrollBar positionMichael Weghorn2025-11-035-2/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce QAccessibleQuickScrollBar as the a11y implementation for QQuickScrollBar and override the base class implementations for the QAccessibleValueInterface methods to report and allow setting the position of the scroll bar. (The base class implementation would always use meaningless values of 0.0.) "Normalize" the valid values for QQuickScrollBar::position which range from 0.0 to 1.0 - QQuickScrollBar::position (see [1]) to a range of 0.0 to 100.0 for the accessible interface. In QQuickScrollBarPrivate::setPosition, send a QAccessibleValueChangeEvent when the value changes, so assistive technology are notified of the new value. This e.g. ensures that the value shown in Accerciser's "Interface Viewer", section "Value" gets updated when scrolling happens. [1] https://doc.qt.io/qt-6/qml-qtquick-controls-scrollbar.html#position-prop Fixes: QTBUG-140673 Task-number: QTBUG-139833 Change-Id: I4333d91a70c6056424fe1e09cb075cf6ca7266e2 Reviewed-by: MohammadHossein Qanbari <mohammad.qanbari@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qmlformat: Fix SemicolonRule option ignored in config fileSemih Yavuz2025-11-031-6/+26
| | | | | | | | | | | | The SemicolonRule setting from .qmlformat.ini was not being applied, only the command line option took effect. Pick-to: 6.10 Fixes: QTBUG-141638 Change-Id: I471fde37c3650e872a893ce46bb5f55e9cc3158e Initial-Patch-By: Dmitry Makarenko <kryksyh@gmail.com> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* SearchField: Add Universal styleDilek Akcay2025-11-0310-0/+158
| | | | | | | Task-number: QTBUG-137318 Pick-to: 6.10 Change-Id: Id5777edd049185f885100f0399afe1f4f7f6cbe5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* a11y: Use existing helpers to implement cursor-based text methodsMichael Weghorn2025-11-011-27/+4
| | | | | | | | | | | | | | | | | | New QtGuiPrivate helper methods qt_accTextBeforeOffsetHelper, qt_accTextAfterOffsetHelper and qt_accTextAtOffsetHelper were recently introduced in qtbase as QtGuiPrivate helper functions in order to deduplicate the logic implemented in both, QAccessibleTextWidget (in qtbase) and QAccessibleQuickItem, and then fix existing issues in one place. Switch the QAccessibleQuickItem implementations to use these helpers, which fixes the issue described in more detail for the QTextEdit in QTBUG-140504 also for the QML TextEdit. Task-number: QTBUG-140504 Task-number: QTBUG-139943 Change-Id: Ia50213d114ca415c24837e0212619a369d31bc3c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* QmlTooling: Add security headersUlf Hermann2025-10-31118-0/+118
| | | | | | | | | | | | | | | The whole debugging framework (services and clients) should only be used in trusted environments. Therefore it's "significant" despite using network connections and parsing data. Mark the code the enables the debug framework in qqmldebug.{h|cpp} as crtical in turn. Fixes: QTBUG-136187 Pick-to: 6.10 6.8 Change-Id: Ie0a4ad555e088f564a233629e4d99e84b1327486 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* vectorimage: Fix transforms with constant animationsEskil Abrahamsen Blomfeldt2025-10-312-1/+22
| | | | | | | | | | | | | | | | | If an item has a "constant animation", i.e. an animation which set the transform, but which is the same for its full duration, we skip generating animations. However, these animations may be set to replace previous transforms (the default transform for instance). We add an optional branch which does this programmatically in the case where we do not generate the animations themselves. This change also defines animations that start at an offset as non-constant, since these should not be applied immediately and therefore need a PauseAnimation. Change-Id: I270b89c31093ac6e882a56f321f3fef487939038 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Increase robustness of <img> tag in Text componentEskil Abrahamsen Blomfeldt2025-10-312-4/+19
| | | | | | | | | | | | | | | | | | | | For Text.StyledText, there was no protection against <img> tags with very large widths or heights. This could cause an application to spend a very long time processing a layout and sometimes crash if the size was too large. We reuse the internal coord limit in QPainter as our maximum size here, similar to what we do in Qt Svg for instance. For Text.RichText, there were no issues in release builds, but in debug builds, you could trigger an overflow assert when rounding the number if it exceeded INT_MAX. For this, we simply cap the width and height at INT_MAX. Fixes: QTBUG-141515 Pick-to: 5.15 6.5 6.8 6.10 Change-Id: I4bcba16158f5f495a0de38963316effc4c46aae1 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Rich text: Limit size of text objectEskil Abrahamsen Blomfeldt2025-10-311-6/+10
| | | | | | | | | | | | | | When we draw a text object, we need to store this in RAM since the QTextObjectInterface is QPainter-based. This could lead to over-allocation if the text object size was set to be very large. We use the existing image IO infrastructure for making sure allocations are within reasonable (and configurable) limits. Pick-to: 5.15 6.5 6.8 6.10 Task-number: QTBUG-141515 Change-Id: Ieae06a9e92a7bd078d22ab2314889201c2049122 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QmlCompiler: Fix side effect detection for callsUlf Hermann2025-10-311-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot pass registers that are potentially affected by side effect as arguments to calls. For this to work, we need to sharpen the side effect detection some more. 1. A conversion is always "var" which can be affected by side effects. However, the actual question is whether one of the conversion origins can be affected by side effects. A conversion of "int" and "undefined", for example, can certainly not be affected. 2. When determining side effects we need to look at the original types, not the adjusted ones. Adjusted types are often "var" because we need to pass a value as "var" to some function. That doesn't mean the value can be affected by side effects, though. 3. When generating the write-back, we should first check if it's necessary at all before looking for side effects. Furthermore, we need to slightly adjust the deltablue benchmark since two values were potentially affected by side effects. The walkStrength may be shadowed by a type with internal structure. Only at the call site of the weaker() and stronger() functions it would then be collapsed into int. However, those function calls might change the original walkStrength, thereby producing a side effect for further calls. We can exclude this effect by collapsing to Number right away using the '+' operator. Finally, we need to make the initialization of the Categorizer benchmark non-Strict. The loop that writes into an array of type unknown until the return statement while calling a function on every iteration is obviously affected by side effects. However, the meat of the benchmark is actually not the initialization. So that should be fine. Pick-to: 6.10 6.8 Fixes: QTBUG-141420 Change-Id: Iad47eddcf0afaa4e502f1d151cf383a6fd23f5ba Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Doc: Qml Compiler: Fix internal documentation issuesTopi Reinio2025-10-314-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | Mark QQmlSA::PropertyPrivate \internal to fix QDoc warning: src/qmlcompiler/qqmlsa.cpp:727: (qdoc) warning: No output generated for function 'QQmlSA::PropertyPrivate::isReadonly()' because 'PropertyPrivate' is undocumented Move the \class topic for QQmlJSMetaPropertyBinding from a header to the .cpp file. Fixes: src/qmlcompiler/qqmljsmetatypes.cpp:53: (qdoc) warning: No output generated for function 'QQmlJSMetaPropertyBinding::translationDataValue()' because 'QQmlJSMetaPropertyBinding' is undocumented Mark QQmlJSImporter \internal, fixes src/qmlcompiler/qqmljsimporter.cpp:719: (qdoc) warning: No output generated for function 'QQmlJSImporter::importQmldirs()' because 'QQmlJSImporter' is undocumented. Pick-to: 6.10 Change-Id: I18f66b096b6f30941f55f5cfdae4800cafc0a51a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Remove qml-i18n example in qtdeclarative repoAlexandru Croitor2025-10-315-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | The qml-i18n example and the qtdeclarative repo itself depend on the LinguistTools CMake package, which is not available while building qtdeclarative. This results in: - missing build coverage for the example - a cyclic dependency, because qtdeclarative depends on qttools (because of LinguistTools), and qttools depends on qtdeclarative (because of qdoc needs) - we try to find a module that will never be available, unless qtdeclarative is built together with qttools in a top-level build - in certain cases, if the top-level build fails early enough, the cyclic dependency causes reconfigurations to fail Remove the example, the lookup of LinguistTools, and the linguist doc references to avoid all these issues. Replace the qt_add_translations reference in the docs of the QQmlApplicationEngine class with a snippet copy. Pick-to: 6.8 6.10 Task-number: QTBUG-141465 Change-Id: Id88603a3753f53dfac9f350e981073effda15eb1 Reviewed-by: Masoud Jami <masoud.jami@qt.io>
* Change PopupType of textEditingContextMenu for Popup.Item on WaylandFrederic Lefebvre2025-10-316-6/+6
| | | | | | | | | | | | | | | | Use Popup.Item popupType when test is run on Wayland. Remove the need for a transient parent on Wayland that was causing several tests of tst_QQuickTextField to consistently fail. Fix the following failing tests on Ubuntu 24.04 wayland tst_QQuickTextField::contextMenuCopy, contextMenuCut, contextMenuDelete, contextMenuPaste, contextMenySelectAll, releaseAfterPressAndHold, touchscreenDoesNotSelect. Pick-to: 6.10 Change-Id: I5a411dae63ae36361ed83055a1eb4c87de17acae Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickTextInput a11y: Allow modifying text selection via a11y APIMichael Weghorn2025-10-304-0/+78
| | | | | | | | | | | | | | | | | | | Similar to the previous commit that introduced QAccessibleQuickTextEdit, introduce QAccessibleQuickTextInput and implement the logic to modify selection. This allows changing the selection for QQuickTextInput and its QQuickTextField subclass via the platform accessibility API, e.g. the AT-SPI Text interface's SetSelection method. Extend the existing TextInput autotest accordingly. Task-number: QTBUG-139943 Task-number: QTBUG-140441 Change-Id: Ie05c6b0cf3431aabb4b337dbfa07c40c56660e2b Reviewed-by: Timon Sassor <timon.sassor@governikus.de> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* a11y: Make QQuickTextInput accessibleMichael Weghorn2025-10-304-46/+86
| | | | | | | | | | | | | | | | | | So far, accessibility logic was implemented in QQuickTextField, while its base class QQuickTextInput didn't have any implementation. Most of the existing logic only requires QQuickTextInput(Private), however. Move that logic to the QQuickTextInput(Private) base class and only leave the QQuickTextField-specific logic in the subclass. Task-number: QTBUG-139943 Fixes: QTBUG-140441 Change-Id: I757222a7b6c21b575bfe404333cc7ed91af86ed7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* QQuickTextEdit a11y: Allow modifying text selection via a11y APIMichael Weghorn2025-10-305-4/+82
| | | | | | | | | | | | | | | | | | | | | | | | | Introduce new QAccessibleQuickTextEdit as a11y implementation for QQuickTextEdit. Subclass the existing QAccessibleQuickItem and override the methods to modify text selection. (For retrieving the existing selection, the logic in the base class is fine, but the TextEdit properties selectionStart and selectionEnd are read-only, so cannot be set directly there.) Implement the QAccessibleTextInterface::addSelection logic in the base class, so it can also be reused by the QAccessibleQuickTextInput class that will be added in an upcoming commit to implement similar logic for QQuickTextInput and QQuickTextField. Extend the existing unit test to also test text selection. Task-number: QTBUG-139943 Pick-to: 6.10 6.9 6.8 Change-Id: Ibd6aa3e1bc9a24352c9bef4fcf4a452252d6689c Reviewed-by: Timon Sassor <timon.sassor@governikus.de> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Doc: Fix link to QJSEngine::uiLanguageKai Köhne2025-10-301-1/+1
| | | | | | | | uiLanguage is a property of QJSEngine, not QQmlEngine. Pick-to: 6.5 6.8 6.10 Change-Id: Id865f969119d8a5aef2e46d1b673db97da6e40f9 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Reorder QQuickRotationPrivate members by typeJiDe Zhang2025-10-301-2/+2
| | | | | Change-Id: Ic4def3b9649cf369be97b18cf7916ddef4ee5ade Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove AssetDownloaderJarek Kobus2025-10-304-235/+0
| | | | | | | It's moved to qtdoc module Change-Id: Iae61a9aebc45eaf661e393f8d587ec3c8f0cc6a9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* qmlformat: Add argument to output available optionsXavier BESSON2025-10-306-3/+64
| | | | | | Task-number: QTCREATORBUG-33305 Change-Id: I9e23a755da0354ab1d64b7f50ff6f9cc7acbe85a Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QQmlSettings: Warn user about unrecognized sections in tooling ini filesOlivier De Cannière2025-10-302-10/+31
| | | | | | | | This can help users identify typos in section names such as [Warning] -> [Warnings]. Change-Id: I6984c3b5f3f06b8a393f83b951f47b05b5565efd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ToolingSettings: Default initialize bool class member to avoid UBOlivier De Cannière2025-10-302-1/+11
| | | | | | | | | | | | SearchOptions is being default constructed in several places. The constructors need to be out of line because otherwise they are not yet available before the end of the outer class. Amends e3891d74590bcb9c0a81ff603ddc92ddaa7e7fc8 Change-Id: I7fe09afda75d9d75d19d94fda7bf73fdfe014a1b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlSettings: Rename SearchOptions::verbose to reportFoundSettingsFileOlivier De Cannière2025-10-302-2/+2
| | | | | | | It more acurately captures what the flag means. Change-Id: I638f03fcdcbe48cb464c615e26ee396f8959d63f Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Add distanceToPlane property for QQuickRotationJiDe Zhang2025-10-302-2/+47
| | | | | | | | Followup to a6b55b3c46cf47d560e10a4b69db24a475261546 Change-Id: If35cb2b3ab5654549e76fc18ad094acdc7a832eb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Doc: Fix qml lint binding warningsAndreas Eliasson2025-10-291-5/+5
| | | | | | | | | These snippets show up in the Qt Quick States documentation. Fixes: QTBUG-140487 Pick-to: 6.10 Change-Id: I897865e16a356c1c561715adc4daa97a4bd3dd67 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QtQml: Adapt to restructuring of QUnicodeTablesUlf Hermann2025-10-291-2/+2
| | | | | | | | | | case conversions are now separate from other properties. See commit 763f19151cc31ca1ba4912e0828359be5dba89e8 in qtbase. Pick-to: 6.10 6.8 6.5 Change-Id: Ia13f515e613c7470f816c9930e870e391c88e367 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* VectorImage: Implement symbol supportEskil Abrahamsen Blomfeldt2025-10-294-3/+65
| | | | | | | | | | | This implements support for the <symbol> tag, which is like a definition node, but which defines its own coordinate system (viewbox) to make it more reusable. Fixes: QTBUG-121539 Change-Id: I5fef5ad264511bc72ff40e66cfd0c6091812b015 Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Doc: Remove Details link from qmlformat documentationKai Köhne2025-10-291-1/+1
| | | | | | | | | There's no Details section for qmlformat, so it ends up actually linking to the Details section of qmlpreview ... Pick-to: 6.10 Change-Id: Ib6142b362b15a72ef847bb6e751cf64bd64a9e04 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* UserCtxProperties: Avoid unnecesary copy of settingsOlivier De Cannière2025-10-281-1/+1
| | | | | Change-Id: I255e7dd673be773778b99aa634278dd1995c2305 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtQml: Avoid ternary expression in return statementUlf Hermann2025-10-281-4/+4
| | | | | | | | | This trips up Coverity. Instead use an "if" clause. Coverity-Id: 896869 Change-Id: I0eddc4b4547a7bb9055734b7304112e9174ff5fc Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QQmlPropertyMap: Specialize QMetaTypeForType::getDefaultCtor()Ulf Hermann2025-10-281-0/+12
| | | | | | | | | | | It should use the non-deprecated way of constructing a QQmlPropertyMap. Amends commit a629e9e8f64aad7a75404166213645702ab64965. Task-number: QTBUG-140554 Change-Id: I5425f20b0d9b87c071b8e3c17450953f7281de22 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QQmlValueTypeWrapper: Mark as dirty if gadgetPtr goes awayFabian Kosmale2025-10-281-0/+1
| | | | | | | | | | | | | | | | In QQmlValueTypeWrapper::write, we clear the gadgetPtr if it didn't exist before, and it was only created for write. That however leads to an inconsistent isDirty state: The wrapper assumes it still has data which is up-to-date, but that data is actually gone. Avoid that issue by also marking the wrapper as dirty when the gadgetPtr is reset in write. Pick-to: 6.10 Fixes: QTBUG-140414 Change-Id: Ie73b47ae49d4a26a43e2dbcc47365ae71a343109 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Extract type conversion into helperFabian Kosmale2025-10-282-95/+109
| | | | | | | | | | We need this in Binding, too, and extracting this part of the code for better unit testing is arguably a good idea anyway. Task-number: QTBUG-140858 Pick-to: 6.10 6.8 Change-Id: I74f7a4f022068b9f599cf55433b5e337bc002178 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qqmlcodemodel: fix coverity warningSami Shalayel2025-10-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the order of the stack variables to see if that removes the false positive coverity warning about the arguments of valueAsAbsolutePathList. In addition, also rename importPaths to importPathsKey, in case coverity actually complains about passing a variable with "plural" name to a function accepting an argument with "non-plural" name. _____________________________________________________________________________________________ *** CID 896979: API usage errors (SWAPPED_ARGUMENTS) /qtdeclarative/src/qmlls/qqmlcodemodel.cpp: 604 in QmlLsp::QQmlCodeModel::importPathsForUrl(const QByteArray &)() 598 const QString fileName = url2Path(url); 599 QStringList result = importPaths(); 600 601 const QString importPaths = u"importPaths"_s; 602 if (m_settings && m_settings->search(fileName, { QString(), verbose() }).isValid() 603 && m_settings->isSet(importPaths)) { >>> CID 896979: API usage errors (SWAPPED_ARGUMENTS) >>> The positions of arguments in the call to "valueAsAbsolutePathList" do not match the ordering of the parameters: * "importPaths" is passed to "name". * "fileName" is passed to "baseForRelativePaths". 604 result.append(m_settings->valueAsAbsolutePathList(importPaths, fileName)); 605 } 606 607 const QStringList buildPath = buildPathsForFileUrl(url); 608 QMutexLocker l(&m_mutex); 609 m_buildInformation.loadSettingsFrom(buildPath); Coverity-Id: 896979 Change-Id: Ieb22d78f0d62d261c48fb7f725a2fb556db3b686 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Propagate attached properties for items within the popup windowSanthosh Kumar2025-10-281-4/+12
| | | | | | | | | | | | | | | | The attached property doesn't propagate to the sub-menu items within the pop when the pop-up type is configured as Popup.Window, as the attached property, is provided only for the immediate window (made as part of patch d824585075b0abaec12c0cbb6445aa4eb84b2cea) and not further up. This patch ensures that the attached property is provided for the window if configured for anything further up in the hierarchy. Fixes: QTBUG-139603 Pick-to: 6.10 6.9 6.8 Change-Id: I95b9f735b7e19ad9916562bf09445fd20f2ba1f4 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* SpinBox, macOS: make the stepper smallerRichard Moe Gustavsen2025-10-271-0/+5
| | | | | | | | | | | | | | | | This is a 'cherry-pick' of qtbase:b1a7a9d4f437c905df8368742b4189f1e8cea311 On macOS 26 this thing became rather large, not fitting into the simple clipping rectangle of a spinbox (in a native app such a stepper is taller than its controlled input, e.g. date/time edit). In Qt, with clipping applied, this looks not so nice; but by always setting the cell's control size to 'mini', we can have a properly looking spinbox, similar to what it was before. Task-number: QTBUG-140134 Pick-to: 6.10 6.9 6.8 6.5 Change-Id: Ib157dc2f483a4fb10a4d99a68798367e0cd99a7a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>