aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.5.2' in qt/qtdeclarativev6.5.26.5.2Qt Submodule Update Bot2023-07-071-5/+5
| | | | | Change-Id: Ia87526f526f919d36313cb50c95b2962dd121d11 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.5.2' in qt/qtdeclarativeQt Submodule Update Bot2023-06-301-5/+5
| | | | | Change-Id: Ic1b27b17bef99f4d3ffa6c02e5558cc2ba4aeeeb Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.5.2' in qt/qtdeclarativeQt Submodule Update Bot2023-06-211-5/+5
| | | | | Change-Id: I39b121b298d7ea27fa4c74f62e6eba7d4124d4c9 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* MouseArea: don't ignore double-click eventsShawn Rutledge2023-06-205-25/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 72651a50f83aa72998822312c7b5c6235d28978f QQuickItem::mouseDoubleClickEvent() started to ignore double-clicks by default, which is consistent with the fact that it ignores the other pointer event types. But now we have to worry about subclasses that override mouseDoubleClickEvent() and call the base class implementation. d7fac6923a6d4e4ac7dc22458256366968acbdb3 tried to fix it but neglected the case when the MouseArea does not have an onDoubleClicked signal handling script. Since the QQuickMouseEvent object that we emit to QML won't be accepted if isDoubleClickConnected() is false, and since the code before 72651a50f83aa72998822312c7b5c6235d28978f was leaving the event accepted regardless of whether QQuickMouseEvent was accepted, we should not need to check it now either. Perhaps we should care about the case when onDoubleClicked sets accepted to false, but so far that doesn't seem very useful either: if you accept the press, a parent MouseArea will not see either the press or the double-click; if you ignore the press, you won't see the double-click, and a parent MouseArea will see both by default. tst_QQuickMouseArea::clickThrough() tests accepted = false in onDoubleClicked but not onPressed, and only with mouse, not touch. Added tst_QQuickMouseArea::doubleTap(); also moved the autotest from d7fac6923a6d4e4ac7dc22458256366968acbdb3 which has nothing to do with pointer handlers. Fixes: QTBUG-112434 Fixes: QTBUG-109393 Change-Id: I426827c20cdb2373e77744987dffba59cd941edc Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 35b5511189f0f9dbb8cfd8b3ec97cca2c65b3e2e) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Update dependencies on '6.5.2' in qt/qtdeclarativeQt Submodule Update Bot2023-06-201-5/+5
| | | | | Change-Id: Idde5fdc7b8529d03f9ea9a1d69290ebf6e5cc2d4 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QML: Try QML conversion before metatype conversionUlf Hermann2023-06-178-65/+144
| | | | | | | | | | and guard against null gadgetPtr. This is what we get for uninitialized value type properties. Fixes: QTBUG-114494 Change-Id: I86ad23abcc4fec219017d1aad6b7add1c9a9af5d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit a2104034d404179f5fad98fd54a133b288ded47d)
* QML: Allow creating constructible value types from variant objectsUlf Hermann2023-06-174-0/+105
| | | | | | | | | VariantObject as source for value type constructions should work the same way as other types. Change-Id: I35770adf0486b404673ee00800fb1d3e429a23cf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 0bb0eeeb09580de8bccef996f9b4099fb7d1b482)
* Remove DA::deliverMatchingPointsToItem's second sendFilteredPointerEventShawn Rutledge2023-06-174-50/+41
| | | | | | | | | | | | a2209698d3584a7c05d0c12aa61de050fe0e78fd added sendFilteredPointerEvent earlier in this function; it doesn't make sense to do it multiple times. Fixes: QTBUG-109995 Fixes: QTBUG-113653 Change-Id: I9a9cb36ba060ec924ec3467fff0d7b0e3d474da3 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 2cb75d3126f0514701475077c719b5ea5ad9864e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Remove superfluous depfile in QML type registrationJoerg Bornemann2023-06-161-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In _qt_internal_qml_type_registration we created a depfile that contained the *_metatypes.json files of target's SOURCES. This depfile was used in the custom command that produces ${target}_qmltyperegistration.cpp. It doesn't seem necessary to create a depfile, and one could use the DEPENDS option of add_custom_command instead. And indeed, commit ce950d619aef3ad0534544b2e029a6f025b256a5 added the same dependencies this way. Presumably, this was done to fix dependencies for older CMake versions and generators that do not support depfiles. This commit removes the creation of the depfile. This double dependency declaration was found when investigating QTBUG-106683, and it turns out that removing the depfile fixes the problem of re-generating ${target}_qmltyperegistration.cpp for Visual Studio generators. Task-number: QTBUG-106683 Change-Id: I6cf909dfb4a9b31b76599b7ad35ad6f595ca0891 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 470fee3217794c66f0eaf19f1a3cb229cfb85fc1)
* Update dependencies on '6.5.2' in qt/qtdeclarativeQt Submodule Update Bot2023-06-151-5/+5
| | | | | Change-Id: I3451e78b4560cf792ab3ecac6d83b542fa00f2fc Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.5' in qt/qtdeclarativeQt Submodule Update Bot2023-06-131-5/+5
| | | | | Change-Id: Ie0a92c0f8c273992a8f4a02caf9fcbf66acab70b Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Doc: explain issues with revisionsMitch Curtis2023-06-131-0/+25
| | | | | | | | | | | Due to how Qt Quick Controls are implemented, new properties that are added may clash with any user-defined properties of the same name. Fixes: QTBUG-80788 Change-Id: Ic13dce06c880a0eac5b321f4ef4fae38d29994d5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 9cef433dbd730abd81eb6d96169519f2f84a7ea0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickTextEdit: Fix rendering issues when selecting in long textPiotr Wierciński2023-06-123-12/+237
| | | | | | | | | | | | | | | | Text that is longer than QQuickTextEditPrivate::largeTextSizeThreshold is rendered without populating blocks outside of the viewport into SG. When user scrolls backwards, there is a mechanism for loading and rendering blocks that were previously outside of the viewport. Make sure this mechanism does not trigger unnecessarily, for example during text selection, to avoid double rendering of some nodes. Amends cd083920b3b4f3a1ed7f2297058cf0d110d7cf10 Fixes: QTBUG-113009 Change-Id: I45bc97f2aea4c5cb99b7dee097aa25ab711be653 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 5ce225d6d310005f032ff319da8df15f7e10851a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Software renderer: Add floating point nodes to dirty listMatthias Rauter2023-06-121-2/+6
| | | | | | | | | | | | | | | | m_obscuredRegion avoids overpainting of nodes that are not updated. However, due to the integer precision of QRegion, this mechanism does not work for nodes with a bounding rectangle with floats. Currently we add boundingRectMin to m_obscuredRegion, however, which is not sufficient. Nodes where the boundingRectMin is different from the real boundingRect (and boundingRectMax) can not be added correctly to m_obscuredRegion. Therefore these nodes are now also set to dirty and updated. Fixes: QTBUG-113745 Change-Id: I5cc5540ed45593b09b312a1704459e95bebab521 Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 2dc17a45fb586ef81fca43d60f079d053b66ac12)
* Update dependencies on '6.5' in qt/qtdeclarativeQt Submodule Update Bot2023-06-121-5/+5
| | | | | Change-Id: I2215ec071cfc3e0445144da739c7d316260f367d Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Reset touchPoint position after it was remapedMatthias Rauter2023-06-123-0/+79
| | | | | | | | | | | | | The position of touch points is modified in the function updateTouchData when triggered from a filter. The position is never reset and thus wrong in other parts of the code. This patch resets the position after the required stuff in the offset coordinate system is done. Fixes: QTBUG-105862 Change-Id: Idd12af0d509e46d0ac74fb920c70e9ec6411c255 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 99a48bef8468ce6155d9898479a01062988624d3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tst_stackview.qml: rename "component" idMitch Curtis2023-06-121-70/+70
| | | | | | | | | | | Besides presumably being a reserved keyword in QML, this name is not descriptive at all, and makes reading the code difficult. Task-number: QTBUG-112605 Change-Id: I43b2e7458ce931725c67edabe15257d8e6da1dd3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 983bd3da2469b97f2495dea33a4f1e35a62701df) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlConnections: make overridden virtual functions protectedTim Blechmann2023-06-125-3/+26
| | | | | | | | | | | | | | QQmlConnections overrides classBegin and componentComplete from QQmlParserStatus. the purely virtual functions are public, but the overridden functions are private. this causes compile errors with qmltc generated code. Change-Id: Ic586265412cbbec945a04bd2313f499738a10675 Task-Id: QTBUG-114359 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit d59e43d0a3e7b3a40d25f4476e1b51d0045a2018) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* MonthGrid: remove "pressed" context propertyUlf Hermann2023-06-101-21/+0
| | | | | | | | | | | | This isn't documented or tested, and it's possible to achieve using interactive controls like ItemDelegate or e.g. TapHandler. Fixes: QTBUG-114358 Change-Id: If9ac3d74f30439db774386eb5d598d8116997979 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 9831b38fc592bedd6fb9487a016846dbad246fb7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Do not retroactively detach or re-attach methodsUlf Hermann2023-06-095-8/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a method is attached to an object it means that it was stored in a property. The property can be re-assigned, with a different method from a different thisObject. We cannot re-use it at all when invoking the lookup again. There are a few cases we care about: 1. The lookup immediately calls the property. a, The lookup retrieves a method. The method will be detached from the get go. There is no ambiguity (unless it's overridden). b, The lookup retrieves a var property with a method inside. The method will be attached to its original thisObject. The method may have been replaced with something else in the mean time. Therefore, we re-fetch the value on each call. Since we already have a QV4::QObjectMethod in the property, we don't need to rebuild it. So the lookup is still not expensive. 2. The lookup stores the property in a local. a, The lookup retrieves a method. The method will be attached, signaling any future callers that they need to be careful here. b, The lookup retrieves a var property with a method inside. The method is already attached to its original thisObject and stays that way. 3. We call a local that contains a method. This can only be a method that contains a thisObject. We may still decide to use the thisObject as provided by the call, depending on the NativeMethodBehavior pragma. Fixes: QTBUG-114086 Change-Id: Ia9a9c06355fd7d5052cdf79ac3ffddfa32f56573 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 3c0b8076e79f64b5ba575fca7ac62c6a1b740ce4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QML: Call value type ctors with derived types of formal parameterUlf Hermann2023-06-095-57/+85
| | | | | | | | | | | | If you pass an argument of a derived type to a ctor that's declared to accept the base type, this will generally work, even if no QMetaType conversion is explicitly declared. Task-number: QTBUG-113752 Change-Id: I0364c2d6b2a1b0f6c067b5a4fd5c000e483afca6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 01427bd0d9fc74794f6cfb22650aa5f7fdcbda76)
* Doc: Use correct module identifiers in \qmlproperty commandsTopi Reinio2023-06-097-41/+41
| | | | | | | | | | | | | Multiple \qmlproperty commands used a QML module identifier different to what their parent \qmltype uses in \inqmlmodule. With upcoming changes to QDoc these will result in documentation warnings. Change-Id: I07cde85801506b374a9781ae79d211813d5dad4f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 9aa13dd02b27fd39f624c824551fd0d520f9ffb6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix documentation issuesTopi Reinio2023-06-092-2/+2
| | | | | | | | | | | | | * src/qmltest/TestCase.qml:267: (qdoc) warning: Cannot find file to quote from * src/quick/items/qquicklistview.cpp:2223: (qdoc) warning: Unknown command '\section' Change-Id: I480d3bd622856a1f3c8e63075913c96c49179426 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit cae72d4e819432e51737266db1182854b28648d7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Qml: Construct value types by properties from any object-likesUlf Hermann2023-06-093-93/+380
| | | | | | | | | | | | | | | Since we allow any object to be used for property-by-property construction when encoded as QJSValue, we should do the same when it's encoded as QVariant. This allows us to use typed modelData in delegates. The modelData's type only has to be a structured value. Any matching data from the model will then be inserted. Fixes: QTBUG-113752 Change-Id: I200e9acac3c6c302c9dedf8e7e1ccd6c9fdf5eb6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 062843124470e90ada7323b0734ff35addb0a9cb)
* QML: Re-add QMetaType::convert() attempt for argument conversionUlf Hermann2023-06-095-3/+17
| | | | | | | | | | | | There are people who depend on QMetaType to convert their types. This is not nice, but removing it breaks compatibility. Fixes: QTBUG-114340 Change-Id: I0a7f54b8fd0f77b71e7e56f65ef7d6f91c876237 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 761b455d4741bdbef47845623d6f44bdc8a464b5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QML: Allow coercing variant objects to their own typeUlf Hermann2023-06-095-33/+87
| | | | | | | | | This allows passing unregistered value types through QML. Task-number: QTBUG-114340 Change-Id: I6fa5adadf2d406d2d5f3a83fb922e9d547e7ead9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit cd16a5ffb9d798b08dba0cdfbef045b4b2dd0f08)
* Update dependencies on '6.5' in qt/qtdeclarativeQt Submodule Update Bot2023-06-091-5/+5
| | | | | Change-Id: Ie73c2369f624c41556a985c4788b8ddda4d33fdf Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Remove superfluous project file from exampleMatthias Rauter2023-06-081-16/+0
| | | | | | | Change-Id: I7599b18b29266c2b2d41437746bb2923588384d0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 9136e5748b72e68613d7c3644a739dba36cdea34) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add Local storage example to IO categoryKai Köhne2023-06-081-0/+1
| | | | | | | | Task-number: QTBUG-112372 Change-Id: Ic69a7653bef314625deb7ec2b54688fa7729de63 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 33422388dc0b46657d4d8e5e47ca1dbae60955c4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add missing semicolonJoni Poikelin2023-06-081-1/+1
| | | | | | | Change-Id: Ic88c9a984acc326535eecf71896417080f4af17a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit fd89f6771083125983b63bbef85c97f9f235a4b4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickLabsPlatformMenuItem: accept KeySequence in shortcutSami Shalayel2023-06-073-0/+41
| | | | | | | | | | | | | | | | | The documentation claims that the shortcut of a menuitem can be bound to a QKeySequence (or at least the qml version of it) but menuitem actually only supports int or strings (that are wrapped into a QVariant). Implement the missing codepath for passing QKeySequence in the QVariant for C++ users, instead of constructing a garbage QKeySequence from the string obtained by QKeySequence::toString(). Fixes: QTBUG-113743 Change-Id: I6f4c659a79a4c23de34be92770815d9e14a6a554 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit a4de7389bf90ab62c5d12391f9bb0d03da9b4b82) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Replace Q_OS_OSX with Q_OS_MACOSTor Arne Vestbø2023-06-076-9/+9
| | | | | | | Change-Id: I1e408b9676a9bfc299dcd45f1c790827e316db30 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit bec0b8a05d349a052504b9c11caa259a63012210) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix ambiguous linkAndreas Eliasson2023-06-071-1/+2
| | | | | | | | | | | | Using square brackets to disambiguate a link doesn't seem to work with the \sa command. For now, re-write to use \l to make sure the link goes to where it's supposed to. Task-number: QTBUG-114073 Change-Id: Id23844df752c30a8d02a362e91632ad2339ad8e8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 91d870855d4a9b84cbff4cf8680f26c6d3bf90eb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Expand FolderListModel documentationSze Howe Koh2023-06-071-25/+28
| | | | | | | | | | | | * Document the data types exposed by FolderListModel * Fully-qualify the enum values of FolderListModel::sortField and mark default value * Mark read-only properties Change-Id: Ib829a69cf762f4aaf1e50f2e526f64da429e128b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 69a25c5d40bca46ad54d4e9b39778bd5257c6daa) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix mislabelled diagram for Context2D.arc()Sze Howe Koh2023-06-072-2/+2
| | | | | | | | | | | | | | | | | Previously, the text showed: Pi/2 -> Pi -> 3Pi/2 -> 2Pi But the curves showed: 3Pi/2 -> Pi -> Pi/2 -> 2Pi The curves are now drawn in a clockwise sequence to match the text. Change-Id: Ib8fe0c17c652a0f357d27372403440f4dd031516 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 0c615d61ba4705894c2d25c5fc7a2ed406bd5942) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.5' in qt/qtdeclarativeQt Submodule Update Bot2023-06-071-5/+5
| | | | | Change-Id: Ic1d048213772add4eeeea4b2e6e25b6a30554980 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QObjectWrapper: Use metaTypeFromJS for call argumentsUlf Hermann2023-06-064-30/+17
| | | | | | | | | | | | We want the precise type there, not some approximation that happens to be a QVariant. This exposes that we had a few conversions that were possible with QVariant::convert() but not with our builtin type coercion. Change-Id: I44c57a22bad8268de3d4398721e1c63b18009dfc Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 67d0c0821276b57eb8ec57ecad7b2e3f06e50667) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QML: Add more overloads to Qt.format{Date|Time|DateTime}()Ulf Hermann2023-06-065-16/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since JavaScript has no concept of time or date separate from the Date object that contains both, and since we implicitly (via QVariant::convert) or explicitly accept string arguments to all these methods, we should really accept string coercions of Date objects. We should also make all the string overloads explicit. Converting strings to QDateTime is a really obscure feature of the metatype system. We should not rely on it. Furthermore, we need to accept QDateTime, as the native representation of the JavaScript Date object, as argument to formatDate() and formatTime(). Otherwise there are two ambiguous paths to calling formatTime() or formatDate() using a Date object: Either coerce the Date into a string and call the string overload or coerce it into a QTime or QDate and call the QTime or QDate overload. The QML engine special cases this and prefers the QTime/QDate way, but this just needlessly complicates the overload resolution. Interestingly, tst_qqmlqt already tests most of those variants. We just have to add the JS string coercions. Task-number: QTBUG-109380 Change-Id: I880e622256fe115dade32bde880605df2031ff2f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 5bc63de8819448e7342f3cb0ac08af667ccc81e5)
* V4: Unify type conversions for date and time valuesUlf Hermann2023-06-064-31/+34
| | | | | | | | | | | We should always use the same conversion to string and we shouldn't duplicate the code for the date conversion. Task-number: QTBUG-109380 Change-Id: I1b1959c8e9b5957ddcf287d252b8143511237565 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 330c3e91eeed631e084b68454c3fbc248a1b4bb1)
* QJSEngine: Add efficient conversions for QDateTime and friendsUlf Hermann2023-06-065-3/+233
| | | | | | | | | | | The JavaScript date and time conversions are different from Qt's. Add them to coerceValue. Task-number: QTBUG-109380 Change-Id: Ic0d7dd8ff51fb8e29d80d9084d4415becaa76259 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit c108a817f4ccd023c3b9d9d19427b8d65eb4e348) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Allow anonymous value types to be constructedUlf Hermann2023-06-066-2/+66
| | | | | | | | | | | | Only anonymous object types are necessarily uncreatable. You don't need a name in order to construct or populate a value type. Since we can now construct QSize, QRect, and QPoint, the engine will try to construct them from the 'F' variants where applicable. Allow this. Change-Id: I568b93c58d3184d9ac37bf0a542c0e50dd37d8de Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 6d1317e11a8a85f23190df02ae0c69f9e4420b0e) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Doc: Replace 'header' with 'footer' in DialogButtonBox documentationTopi Reinio2023-06-061-1/+1
| | | | | | | Change-Id: Ia23ee4f6e894b32825152bee5954f2ae1f9c3d51 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 3e34041eef5c4d21aeeedcd33f3a37b2792d0150) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Disallow multi-step construction of value typesUlf Hermann2023-06-061-10/+6
| | | | | | | | | | | If we coerce the argument for a constructor, we should not call another constructor in the process. Such chaining leads to rather confusing effects and easily ends in infinite recursion. Change-Id: Ia6d5063641170d2cd3bee3fdcbb8b97837d5c700 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit b4ce8051af0110e3a081ec83d1c8ff953243e07c) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Remove the manual undef of the min/max macros, or def NOMINMAXAmir Masoud Abdol2023-06-064-17/+0
| | | | | | | | | | | We now add NOMINMAX to PlatformCommonInternal target which will be linked to everything else, so min/max will not be defined upon the inclusion of `windows.h`, or other headers. Change-Id: I3c71f2f719aad3fb83e189e33e5f176befcb4482 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 30ae5fa406cbcf0ef20c8b51759a301669fbd22a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.5' in qt/qtdeclarativeQt Submodule Update Bot2023-06-061-5/+5
| | | | | Change-Id: Ib2202dd5589de12d71c95d3ccb7587255ead993f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Disable flaky test in tst_qqmlecmascriptUlf Hermann2023-06-051-5/+8
| | | | | | | | | | | Since structured value types can be created from any object (even if none of the properties match), this test doesn't test anything anymore. The explanation is still valuable, so let's keep the code commented. Change-Id: I890204811a522f025fb114f51e57c1dd4a951a57 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 8679fa2478414162a9f3030c8997e7404775983f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Allow coercion to signed char in metaTypeFromJSUlf Hermann2023-06-051-0/+3
| | | | | | | | | | So far we rely on QVariant::convert() and that only works in some places and is expensive. Change-Id: Ia6be7807c3d245148fcd4f4bed2ebc9e35ad52ff Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 7bcac622655479ecb7aebdf55aa17980b79fbc78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Recognize local inline components when clearing property cachesUlf Hermann2023-06-052-9/+36
| | | | | | | | | | | | Otherwise we may later hit an assert when trying to re-create the property caches for types with mismatched checksums. Amends commit 2d7fe23b41aa3fd719b7bc8aa585ab799e4a0c39. Change-Id: I948f81381e32fff4c5769f6fd51cc59796e2094a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 068fa04c266f774c78915e005bd627df7ecc3150) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Fix typo in warning messageUlf Hermann2023-06-051-1/+1
| | | | | | | | Task-number: QTBUG-114086 Change-Id: Iacaaf3ed0696c78664c62398931a13ffbc9f3211 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 4fdaf22a54343f3f1185362db112cc44fd7d34b6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickLayout: improve polish loop warningMitch Curtis2023-06-051-1/+2
| | | | | | | | | | | | | | - Print the layout that caused (or detected) the loop to make finding it easier. Until now it was only possible to find the item by debugging Qt, which is tedious for users. - Replace the module prefix ("Qt Quick Layouts") with a simpler "Layout" prefix, as qmlWarning(this) already ensures that the type name is printed at the beginning of the warning. Change-Id: Ief801cad21958d7a8da406452f2918889f90658f Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit d62302a3067f45dab6e8803a244c38149849cbf5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>