aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* DOM: remove leftover commentSami Shalayel2025-11-261-2/+0
| | | | | | | | | DomItem interface is already too cluttered, remove the comment indicating that yet another dv* method should be added. Task-number: QTBUG-142187 Change-Id: If4b76c031de663b7231fb7cf938048b51e027201 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
* DOM: remove dvReference(s)FieldSami Shalayel2025-11-261-11/+4
| | | | | | | | | Both only have one usage and are one-liners. Move them to their single usage location. This helps unclutter the DomItem interface. Task-number: QTBUG-142187 Change-Id: I583cf41cf31584284d16608d8cc1b7f3303a87d6 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
* DOM: remove subLocationItemSami Shalayel2025-11-261-5/+1
| | | | | | | | | Move the code to its only usage, and remove the method. This helps unclutter the DomItem interface. Task-number: QTBUG-142187 Change-Id: I2b07a97eff0e2b6b20c6e2f27dd8138856feb6e5 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
* DOM: remove dvValueLazySami Shalayel2025-11-261-14/+5
| | | | | | | | | | Move the code from dvValueLazy to its only usage. This helps uncluttering the DomItem interface that has too many of these methods. Task-number: QTBUG-142187 Change-Id: I31baf9a9ca96c2fa538b3eacd6ff5b2ce64698cd Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* DOM: remove subDataItemFieldSami Shalayel2025-11-262-8/+4
| | | | | | | | | | It has only one usage, has one line of code and clutters the already too full DomItem interface. Replace the only usage with the function code. Task-number: QTBUG-142187 Change-Id: I38349c1130bb382b344241710be6d71e7426cb94 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* DOM: remove unused fromFileRegionListMap methodSami Shalayel2025-11-261-28/+0
| | | | | | | | | Its unused and unreadable. Task-number: QTBUG-142187 Change-Id: I9425347860ccd5375ad147c999a7ad8404929327 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QJSList: restore NRVO in slice(), join() specializationMarc Mutz2025-11-261-6/+6
| | | | | | | | | | | | | | | ... for <QQmlListProperty<QObject>, QObject *>>. Like in the primary template, return the same object in each return statement, fixing GCC -Wnrvo, which we're going to add to headersclean. Amends e84686415187455a7153d61ca82478053f13e3f9. Pick-to: 6.10 6.8 6.5 Task-number: QTBUG-142146 Change-Id: I38e9e8374e51d147cdaf4276fa791489117ee4e3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QJSEngine: fix -Wnrvo in coerceValue() and fromVariant()Marc Mutz2025-11-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as a preparation of enabling the flag in headerscheck. The coerceValue() functions was actually flagged by GCC in a headerscheck including -Wnrvo, probably because it was instantiated for some type in inline code. The fromVariant() function was not flagged automatically, but found by manual inspection. Because the structure of code, with the pre-existing extra scope, lends itself naturally to it, wrap the code that doesn't already return rvalues in an IILE. Outside the lambda, the return is now RVO'ed, and inside, NRVO'ed. Manual inspection also found the qjsvalue_cast() overloaded functions, but I don't readily see a fix for them, so deferring. GCC doesn't warn for function templates unless instantiated, so for the purposes of headerscheck, we should be good with the status quo. Amends 7b29ed6f64a300d4d714371c2872fcba344beebd (coerceValue()) and d0f4e0c037cf61eb5bb559755ee7c9ce6cf6b7dc (fromVariant()). Pick-to: 6.10 6.8 6.5 Task-number: QTBUG-142146 Change-Id: I2aa0ecb5a1cdc975c2ab8dffb9fe333bbeb7bc0f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Add alternate text for Qt Quick and Qt Quick Controls imagesJerome Pasion2025-11-2678-11/+543
| | | | | | | | | | Alternate text (alt text) improves the documentation experience for screen readers and for other accessibility tools. Pick-to: 6.9 6.10 Task-number: QTBUG-135120 Change-Id: I975c3de11f893882fb9a27218079f244bd38a622 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* qqlmjs.g: Remove expect statementFabian Kosmale2025-11-261-1/+0
| | | | | | | We do, in fact, not expect any parsing conflict. Change-Id: I2df5e27f42dbdd7660eb0383da3c2bb01c6fc84e Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Remove redundant Q_FLAGS from classes that don't inherit from QObjectAhmad Samir2025-11-261-1/+0
| | | | | | Pick-to: 6.10 6.8 6.5 Change-Id: I810a7137470e0ee96c76819766ede2e9bc643d73 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix CalendarModel month count calculationJoni Poikelin2025-11-261-1/+1
| | | | | | | | | | CalendarModel used previously set from and to values to calculate the range and thus the count wasn't ever up to date. Fixes: QTBUG-141883 Pick-to: 6.10 6.8 Change-Id: Id3ef60810d2e8ebfcc060307e6d17cfca379cd78 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Stop flooding the log with animation timer typeJoni Poikelin2025-11-261-1/+1
| | | | | | | | | | This variable used to be static and the logic still looks like it expects it to be so. Static was probably removed in an error. This causes unnecessary environment variable reading and logs being printed as this function is being called for every frame. Change-Id: Id24d9cfecb0f509f92cef47f6a95800ff529259b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QmlPreview: Allow setting animation speedUlf Hermann2025-11-266-2/+28
| | | | | | | | | | | | | | | | | | | This is the same functionality we already have in the inspector service. However, we need it in the preview, too. For such a simple thing you shouldn't need to instantiate an extra debug service. The animation speed method in the preview service also doesn't invert the speed modifier. So, for double animation speed you need to pass 2, not 0.5. Fix the test to a, check the animation speed only on new output, rather than everything the application has printed before and b, actually check whether the number is in the intended range. Task-number: QTBUG-141569 Change-Id: Ie7f7b043fb295e7c5da333ab4501059f07f2e3cd Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* EventReplay: Ignore double-click events when replayingUlf Hermann2025-11-261-0/+3
| | | | | | | | | We receive the individual press and release events already. Those are enough to synthesize the double-click. The platform abstraction does not like to be explicitly told about double-clicks. Change-Id: Ie8da32de742e601dc99af3afee82d6177d8a7156 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QV4: Hotfix bump QV4_DATA_STRUCTURE_VERSION to invalidate broken cacheOlivier De Cannière2025-11-261-1/+1
| | | | | | | Task-number: QTBUG-142186 Pick-to: 6.10 Change-Id: I07228c1ddd9196532886ad3b39751d525c525432 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Allow qmlls.build.ini generation to be skippedUlf Hermann2025-11-262-9/+19
| | | | | | | | | We don't want a qmlls.build.ini to be generated on a module that's intentionally hidden from the outside world. That won't work anyway. Change-Id: I4231361ab4d786d661db19f80b5cf0de84cc0b35 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* qmllint: don't mixup 'import' and 'import-file-selector' categoriesSami Shalayel2025-11-263-13/+14
| | | | | | | | | | | | | | | | | | Don't log warnings of the import-file-selector category using the import category, and only use the import-file-selector category for that. It seems the mixup happened when multiple import and import-file-selector warnings were emitted for the same file, so extend the current test by introducing another qmllint warning with Broken.qml, and make sure the import-file-selector warning is emitted via the correct category-warning-level. The import category has warning level 'warning' while import-file-selector has 'info'. Amends 3ab60f40d5e0b612c6a1eedba656f4f26d66c927. Pick-to: 6.10 Change-Id: I35acdef46284067a9f23288128108569faa9d90b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qml generator: add functionality for animated (morphing) pathsEirik Aavitsland2025-11-268-10/+220
| | | | | | | | | | | | | | | | | Add a new Path item to the Helpers module: pathInterpolated, that holds a list of paths (specified as svg path texts) and has a settable interpolation factor property. Based on the value factor, the resulting path will be an interpolation between path #n and path#n+1, where n is the integer part of the factor. The fractional part determines the interpolation weight between the two. Replace the static QPainterPath in PathNodeInfo with an animated property holding QPainterPath values. During generation, if the property is found to be animated, a PathInterpolated item is generated instead of a static PathSvg item. Change-Id: Ic061005e135cbde1bd88ab1ac7c9e7840f55c232 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add iOS style for SearchFieldDilek Akcay2025-11-268-0/+111
| | | | | | | Task-number: QTBUG-137318 Pick-to: 6.10 Change-Id: Iead7b9ad0bf22c96d94ab70795fed854f613f6d7 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Doc: Add newly published Academy Course for Qt Quick and modify the course ↵Inkamari Harjula2025-11-261-1/+9
| | | | | | | | | | | listing Course link added and list modified. Task-number: QTBUG-142148 Pick-to: 6.10 Change-Id: I8a11394b110a80bb9625d88222b0c5a3a3e6aed4 Reviewed-by: Alexei Cazacov <alexei.cazacov@qt.io>
* qmlformat: Add GroupAttributesTogether optionXavier BESSON2025-11-258-18/+109
| | | | | | | | | | | | Equivalent to NormalizeOrder but reorder QML categories without sorting attributes (property definitions, property bindings, methods, signals, enums) Fixes: QTBUG-132060 Change-Id: Ib46ce4bb58ce46e3293d14954b0e363837b64b76 Original-patch-by: Oliver Kuss <oliver.kuss@okapp.de> Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Doc: Update links in qml-toc.qdocAlexei Cazacov2025-11-251-1/+5
| | | | | | Pick-to: 6.10 Change-Id: Id1cff25028f1e4b79bd53a44950b35643e08ce99 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtQml: Fill in the const iterator functions in the empty sequenceUlf Hermann2025-11-241-0/+11
| | | | | | | | | | Without these you may get an infinite sequence when trying to iterate using const iterators. Pick-to: 6.10 6.8 Task-number: QTBUG-142097 Change-Id: Iae93063b240ebe9426804197533ed7efd8e007bc Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QtQml: Don't mark QJSValues on the AOT stackUlf Hermann2025-11-241-1/+10
| | | | | | | | | | | | QJSValue and QJSManagedValue hold persistent values which are marked elsewhere. QJSPrimitiveValue doesn't need to be marked at all. Amends commit 2d016a2653c59f10a57dc1903b817f71d16d0622. Pick-to: 6.10 6.8 Fixes: QTBUG-142097 Change-Id: I50d6405a684726a81ceee506b2d4f8b90330fcaf Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* a11y: Set a11y relation between FileDialog filter label and comboboxMichael Weghorn2025-11-225-0/+5
| | | | | | | | | | | | | | | Make use of the API introduced in 644349fecb9ce58659e590be7049ba93889d9f34 to set the accessible label-for/labelled-by relationship between the "Filter" label and the corresponding combobox in the QML FileDialog. This makes screen readers like Orca on Linux announce the label text when the combobox receives focus, so the meaning/context becomes clear. Change-Id: I06db7db7fb3afeb748b99ab29cb90e8bfd694279 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Doc: Use unambiguous link targets where possibleDavid Boddie2025-11-218-16/+18
| | | | | | | | | | | | | | Some links to sections within the same document were incorrectly going to other documents due to the way that QDoc handles duplicate section names. Additionally, documents containing duplicate section titles are not guaranteed to be handled as authors may expect. Links were changed to be more specific or removed in the case where the target was immediately after the original link. Change-Id: I78696519bd811dfe264561b799898a1d94b027dc Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* VectorImage: Add support for offset path animationsEskil Abrahamsen Blomfeldt2025-11-215-1/+256
| | | | | | | | | This implements the offset path animation in SVG by mapping it to the PathInterpolator in Qt Quick. Task-number: QTBUG-140751 Change-Id: Ib05e32b8e5190213744c38cc2fc1ca85ef1feaac Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
* qmllint: fix typo in warningSami Shalayel2025-11-211-1/+1
| | | | | | | | Add a missing i in "initalizer". Pick-to: 6.10 Change-Id: I3904fa88fcc499a0f7b2b8eb8884adecee10757b Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* Tooling: Add test for integrating event replay with qmlpreviewUlf Hermann2025-11-211-0/+4
| | | | | | | | | | | | This makes sure that the relevant debug services can coexist. In order for this to actually be true, we need to initialize the type loader before we initialize the various services. Otherwise the profiler service will initialize the type loader which will query the preview service for some directories, leading to a deadlock. Task-number: QTBUG-141569 Change-Id: Ia0873802b94b885654c693bdb9a96100cad492bf Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* doc: Document caveats of setting user input on Text componentEskil Abrahamsen Blomfeldt2025-11-211-2/+16
| | | | | | | | | | | | | | | | | | | | The HTML subset in Qt was never intended to be end user facing and is very specifically modelled to Qt's needs. Without precaution, an application can easily end up setting a user provided string as content on the Text component. This can cause both unexpected results for the end users (if they expect a compliant HTML engine) and arbitrary image loading/allocation. Since the default text format of Text is AutoText, we make sure to document that user provided data should not be set directly as content on the label unless the PlainText format is explicitly selected. Pick-to: 6.5 6.8 6.10 Change-Id: I4383389640ff140da1ccbdf58e198e2868ad9774 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Dialog(ButtonBox): Prioritize popupItem subFocusItem over buttonBoxOliver Eftevaag2025-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to e323e508b61ce0a2615c9c8e8fbf897e27965173. In cases where a Dialog has an item with explicit focus, e.g: ``` Dialog { Button { focus: true text: "Foo" } footer: DialogButtonBox { standardButtons: DialogButtonBox.Ok } } ``` Then the "Foo" button should get focus, since it's explicitly set in QML. 4d1753b95f0343a68f80a1b482b8ab9a0397fecb changed this behavior to instead always give the buttonbox focus. If focus isn't explicitly set elsewhere, it should be fine to give it to the buttonbox. However, doing so unconditionally would be a significant behavior change that would break lots of user projects. Add a precondition to verify that the popupItem doesn't have a subFocusItem, before considering whether or not to give focus to the buttonbox. As a drive-by, also just call setFocus() instead of forceActiveFocus(). Both functions work for our purposes, so might as well use the less extreme option. Amends e323e508b61ce0a2615c9c8e8fbf897e27965173 Change-Id: Iea72f162669159082386966a1d9419c64abb7302 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Window: specify correct property typeFabian Kosmale2025-11-204-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | Given that the property was documented to only take a screen from Application's screen list, we can arguably do this change, especially that any usage with a non-QQuickScreenInfo would just end up setting a null-pointer, indicating some bug. Any code reading the property is fine anyway, as a QQuickScreenInfo is still a QObject. This also uncovers that the screengrabber base line test did not handle this correctly (it passed a QScreen to setScreen, which doesn't work). This would now fail to compile. Fix it by passing the actually expected object along. Amends d6dfbe8fd5d09388fc624d85c4aefa0269c20db9 [ChangeLog][Important Behavior Change][QtQuick][Window] Window and ApplicationWindow now enforce that the type of the property passed to the screen property is ScreenInfo. It used to accept any QObject, but would silently convert it to null if the type was not correct. Change-Id: I512c24c761ef5e6e9b7f241d222c98a34c6fafa4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* qmllint: fix required property detection on shadowed propertiesSami Shalayel2025-11-201-1/+12
| | | | | | | | | | | | | | | When a derived type shadows a property from its base type, qmllint used to confuse the base property's `required` status with the derived property's `required` status. This used to lead to bogus warnings even when the shadowing property was correctly bound. The check now ensures that the property owner matches before treating a property as required, fixing false positives in such cases. Pick-to: 6.10 Fixes: QTBUG-141086 Change-Id: Ic2cf6558a1ebf78af1022911827c398164de5e31 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* CMake: QML: put test targets under the special case sectionDmitrii Akshintsev2025-11-201-11/+14
| | | | | | | | | | | | | | Arguably targets relevant to tests should be built once all the "source" targets have been built, since they might depend on them. For example, in the near future there is a need to include QmlDomPrivate target to the QuickTestUtils, which is defined only later. Moreover it's in general a good practice to have a clear separation between "source" and "test" targets. Change-Id: I2dd1b41ee4df2227733bab73f983e001daad305c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QmlModels: Add QQmlDelegateModelItem::destroyObject() and use itUlf Hermann2025-11-203-32/+27
| | | | | | | | | | | | | | | The object held by a QQmlDelegateModelItem should not be destroyed from the outside. The old destroyObject() method is renamed to destroyObjectLater() since it actually calls deleteLater() on the object and handles the implications of that case. The new destroyObject() deletes the object right away. Task-number: QTBUG-141963 Change-Id: I38c6a6dca2cb844a70a8af22ac66d29e2150379b Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQmlJSAnnotation: mark relational operators noexceptMarc Mutz2025-11-201-3/+5
| | | | | | | | | | | | | | | | | (incl. qHash()) Because they are. Amends d226e24a5d4288a3e7f263c526cb6cbf72255388. Even though this breaks forward BC, we can pick this back since it's private API. Coverity-Id: 895832 Pick-to: 6.10 6.8 6.5 Change-Id: Ic9989afce02eb66dc0caf545ccfe7e54ccf99261 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQmlJSAnnotation: say what you do (check valueless_by_exception())Marc Mutz2025-11-201-1/+1
| | | | | | | | | | | | | Yes, v.index() == std::variant_npos when v.valueless_by_exception(), but don't require readers to know that. Say what you're checking for, call valueless_by_exception(). Amends d226e24a5d4288a3e7f263c526cb6cbf72255388. Pick-to: 6.10 6.8 6.5 Change-Id: I6794adc320d5c4d0c188a9dbd1a8acb953bacfd4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: Make module links more precise, fix markupDavid Boddie2025-11-2013-42/+44
| | | | | | | | | | | QDoc can be inconsistent with link targets when there are duplicate page and section titles. Using link commands can help with more precise linking. In addition, code can be markup up as QML or using the \c command to make quoted content more accurate. Change-Id: I480b7cd301d5495201af926895a9bfec7b3bd9c8 Reviewed-by: Jerome Pasion <jerome.pasion@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QmlProfiler: Allow querying the event receiver for the number of eventsUlf Hermann2025-11-204-17/+14
| | | | | | | | In turn inline the isEmpty() method and make the clear() method purely virtual. Also, use qsizetype for the number of events and event types. Change-Id: I701aa27441489af28407cbae9123557a48a3a34e Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* QQmlJSAnnotation: use non-throwing std::variant inspectionMarc Mutz2025-11-191-4/+6
| | | | | | | | | | | | | | | | | | | | | | | Coverity complained that the get<>() calls can throw an exception that percolates all the way to main(). There are several errors that combine to generate this warning, not all of them in our code. E.g., Coverity should really not have a problem understanding that get<> won't throw if we checked for holds_alternative before. The qHash() function ought to have been marked as noexcept (qHash() mustn't throw; QHash isn't really prepared for that), std::visit() ought to have been used, though I appreciate the verbosity that would generate. So first try whether using get_if() shuts Coverity up. Incidentally, this makes the code DRY, improving readability. Amends d226e24a5d4288a3e7f263c526cb6cbf72255388. Pick-to: 6.10 6.8 6.5 Coverity-Id: 895832 Change-Id: I0ed444cf96d3bfd3792351b66901af58d8180a76 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlModels: Rename QQmlDMObjectData::objectUlf Hermann2025-11-192-13/+18
| | | | | | | | | | | It's modelData. Calling it "object" was rather confusing since the base class also has an "m_object" member which is however not the modelData but rather the delegate. Task-number: QTBUG-141963 Change-Id: Ib26f4549cd284654d3276b0b81d354e3c7d4c65a Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QmlModels: Better encapsulate QQmlDelegateModelItemUlf Hermann2025-11-198-346/+416
| | | | | | | | | | This is a purely mechanical change. It adds accessor methods for the various members and makes the members private. Where necessary some code is reordered and some members are cached in locals. Task-number: QTBUG-141963 Change-Id: Ibc02764c33865896d146aff0950252cfee6d0732 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QmlModels: Use destroyObject() for destroying a model objectUlf Hermann2025-11-191-4/+2
| | | | | | | | | | | We shouldn't poke into the internals of the model item like this and we should properly destroy the object including its context and attachment rather than leaving those around. Task-number: QTBUG-141963 Change-Id: Iddc835bbf8176b1a251f72f59d961f13308fc20a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* Fix QQuickItemPrivate::eventHandlingBounds()Shawn Rutledge2025-11-191-1/+1
| | | | | | | | | | The second two arguments are width and height, not bottom-right coordinates. So after shifting the rectangle left and upwards, we need to add twice the margin to width and height, to have the same margin all the way around. Amends 8115731466b579f33295d5c8a71506475750284e Change-Id: I83797ffd460ee47599170090aefcda544c3e4483 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* SearchField: Add Imagine styleDilek Akcay2025-11-19167-0/+160
| | | | | | | Task-number: QTBUG-137318 Pick-to: 6.10 Change-Id: I3d5d9c35b214bc1c9878c7b81df32ceed1ac16fc Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Put QQuickVectorImage helper classes in namespaceEskil Abrahamsen Blomfeldt2025-11-192-0/+7
| | | | | | | | Avoid polluting the global namespace with these generic names. Pick-to: 6.10 Change-Id: I9126bea529789795323f1d7696f9c5490036e862 Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
* QmlModels: Add RAII wrappers around reference/releaseObjectUlf Hermann2025-11-192-39/+73
| | | | | | | | | | | This clarifies where we actually want to return a referenced object and where we only hold a temporary reference to prevent it from getting deleted. Task-number: QTBUG-141963 Change-Id: Ied505d798fe9195b4296fa09b719efb17cbd1ea5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* Doc: Overhaul the Positioning with Anchors topicAlexei Cazacov2025-11-191-8/+34
| | | | | | | | | | | This commit slightly improves the topic. Now, the snippets on this page not only display "bad code" but do show how to do things properly. The formatting was also improved a bit. Task-number: QTBUG-141543 Pick-to: 6.10 Change-Id: Idc7a2bd8a4a86c96d9490c43d1b3dcf725b5581f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtQml: Optimize QQmlObjectCreator a bitUlf Hermann2025-11-181-9/+12
| | | | | | | | | std::move some strings into place, check condition only once, use constFind() and constEnd() where applicable. Coverity-Id: 897291 Change-Id: Icad3a49bc1137bc42de14f064cac111134993a2d Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>