aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
Commit message (Collapse)AuthorAgeFilesLines
* Add undefined to builtins.qmltypesUlf Hermann2020-10-161-2/+7
| | | | | Change-Id: Ie7c8a28fdc417c43a9f24061171b342447b15272 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix typoes in builtins.qmltypesUlf Hermann2020-10-161-16/+16
| | | | | | | It's isReadonly, not isReadOnly. Change-Id: Ia4c372468447bd4f6c0ad21ba36a228052912220 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Allow installation of qmltypes filesUlf Hermann2020-10-089-0/+9
| | | | | | | | This is what qmake does on install_qmltypes and we do want to install the qmltypes files of our own modules. Change-Id: Iad430aab87f21331abf332ca5c92f9d7edc47bb0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add missing typeinfo to labsanimation/qmldirUlf Hermann2020-10-071-0/+1
| | | | | Change-Id: I265710165249e7c6e892d00fc3594dbe1ac71816 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QmlCompiler: Use the declared typeinfos rather than the defaultUlf Hermann2020-10-074-0/+4
| | | | | | | | | | ... and produce a warning when encountering the default. This shows us that the qmake build omits some typeinfo entries from common modules. Add those. Change-Id: I1c7e87e8a54ef24a6076090e6051eb1c03c09b2a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-0616-19/+19
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I3b964e3baf0cc7040830156dac30358ea1152801 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* testlib: Remove the deprecated MouseDoubleClick() methodShawn Rutledge2020-10-051-35/+0
| | | | | | | | | | | | After qtbase/871d19a5b96fa5a5be4ac50e3121e0704ff08374 MouseButtonDblClick is no longer delivered like a press event, but like an update: that is, only grabbers will receive it. So this test function is even less useful for the sorts of tests that are written in QML. Those who want to test pathological event sequences can do it in C++. Task-number: QTBUG-42185 Change-Id: Ib40c7acd0a807b2c701357164c1579a9cd1823a5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* TestCase.qml: make mouseMove(item) move to the center of the itemShawn Rutledge2020-10-021-3/+10
| | | | | | | | | | | | | | | | | | | | | | Undefined x and y now mean item center, as with the double-click method from 726eaaeeeede086ed341899b8ee0c1570e6bf6f5, and others from b40a2a881291b3eaea4b4834a162091537e6a34e. Some Controls 2 tests are doing this: tst_controls::Basic::ScrollBar::test_hover, tst_controls::Basic::TextArea::test_hover and tst_controls::Basic::TextField::test_hover Also document the buttons argument which was added in 7100a74def3a82bc52c93b800cec973bf312b1b3. [ChangeLog][QtQuickTest][TestCase] The mouseMove() QML test method now interprets missing x and y coordinates as meaning that the mouse should move to the center of the given item. Task-number: QTBUG-87018 Change-Id: Ied1df3521c0cffd703cc1120ba4eb43eb5c5e163 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Avoid various warnings about deprected QMetaType methodsUlf Hermann2020-09-163-7/+8
| | | | | Change-Id: I8f4b2703fdd08ff341904219cec33c321e0511c7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* new builtins.qmltypesFawzi Mohamed2020-08-271-1614/+826
| | | | | | | | | | | manually mantained qmltypes files with the builtintypes (as defined in ECMA-262) This is a best match effort, unfortunately we cannot (yet?) express all the semantic of ECMAScript, but we try to be close to it. Fixes: QTBUG-83815 Change-Id: I0572114ff9f2d5a0855c62def824551cba8be655 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Follow layoutMirroring in Layout marginsDavid Edmundson2020-08-263-1/+15
| | | | | | | | | | | | | | | If a layout is laid out left to right using the layoutDirection property, we want left Margins on the left, and rightMargin still on the right However, if a layout is mirrored, not only should the layout direction change but also the left margin should now be on the right and vice versa. Task-number: QTBUG-62989 Pick-to: 5.15 Change-Id: Iaae4bc436fd1eb7f1947869563ac325f3d6b79bb Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Remove qml statemachine plugin from qtdeclarativeKarsten Heimrich2020-08-2318-1866/+0
| | | | | | Task-number: QTBUG-80316 Change-Id: I584b699a1eec88117f343870bd2cd01075da64f7 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Quick: Make sure the module initialization runs in static buildsUlf Hermann2020-08-101-0/+2
| | | | | | | | | | | | We need to keep a reference to the module initialization function somewhere in order to prevent the linker from removing it. In order to avoid further littering of the namespace, the QQuick_initializeProviders function is transformed to cover all of the initialization. Task-number: QTBUG-85693 Change-Id: Ie93e5abd1dfb5a425b87c70d8ec6327bb68880cb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Replace Qt's MidButton with MiddleButtonEdward Welbourne2020-07-221-1/+1
| | | | | | | | | | The latter has been the preferred name since Qt 4.7.0. Added a comment on where the old name is exposed to QML that it's only for backwards compatibility. Pick-to: 5.15 Change-Id: I2c5088d597dd7327cc5899d06afb180d0ec2893e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* CMake: Regenerate projectsAlexandru Croitor2020-07-094-2/+52
| | | | | | | | | We need the qt_add_tool changes to successfully configure qemu builds. The rest of the changes are just to be in sync with the .pro files. Change-Id: I7bcc08ac58f57a5761aedef09761428c55235289 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Make the qtquick and qtqml plugins optionalUlf Hermann2020-07-026-32/+14
| | | | | | | | | We can do the initialization and de-initialization as constructor and destructor functions. Then we don't need to load the plugins. Task-number: QTBUG-84639 Change-Id: I2aeeee7e8d028555e3af91e93518c2c2afd70dbb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add ; to Q_UNUSED and UNUSED_PARAMLars Schmertmann2020-06-262-2/+2
| | | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: Iead53d18fd790fb2d870d80ef2db79666f0d2392 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-252-2/+2
| | | | | | Task-number: QTBUG-84469 Change-Id: I4c3353c00a566023503fbc178ba8454391dc334c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Discern between "auto" and versioned imports in qmldirsUlf Hermann2020-06-245-7/+7
| | | | | | | | | | | | | You can now import the latest version, a specific version, or, "auto" which is the same version as the parent module. [ChangeLog][QtQml] You can now procedurally add module imports to modules, using qmlRegisterModuleImport(). However, actual import statements in qmldir files should be preferred wherever possible. Fixes: QTBUG-84899 Change-Id: I3b32dd8b07a19d31b6538b9a6bb436840862f345 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Don't leak QQmlBoundSignalExpressions in signaltransition.cppUlf Hermann2020-06-241-5/+8
| | | | | | | | | We need to adopt them, not addref the newly created object. Fixes: QTBUG-83214 Pick-to: 5.15 Change-Id: Ic8660e65d4b7c7698657f6b2806b5478f7f15ea1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Replace QQmlBoundSignalExpressionPointer with QQmlRefPointerUlf Hermann2020-06-242-3/+3
| | | | | | | They do the same thing. Change-Id: Ia35832e6175728e7480d09caba6d3833718d9e80 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove QQuickPointerDevice in favor of QPointingDeviceShawn Rutledge2020-06-233-8/+9
| | | | | | | | | | | | | | ...and generally deal with changes immediately required after adding QInputDevice and QPointingDevice. Also fixed a few usages of deprecated accessors that weren't taken care of in 212c2bffbb041aee0e3c9a7f0551ef151ed2d3ad. Task-number: QTBUG-46412 Task-number: QTBUG-69433 Task-number: QTBUG-72167 Change-Id: I93a2643162878afa216556f10808fd92e0b20071 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Port QtDeclarative from QStringRef to QStringViewKarsten Heimrich2020-06-161-5/+5
| | | | | | | | Task-number: QTBUG-84319 Change-Id: I2dcfb8a2db98282c7a1acdad1e6f4f949f26df15 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove QtQuick.Window pluginUlf Hermann2020-06-157-258/+2
| | | | | | | | | | | | | | | | | We move all the types into QtQuick itself and retain QtQuick.Window only as alias to QtQuick. This requires support for qmldirs that consist of only an import statement. [ChangeLog][QtQuick][Important Behavior Changes] The contents of the QtQuick.Window QML module have been moved into the QtQuick module. QtQuick.Window is merely and alias for QtQuick now. An explicit import of QtQuick will override this alias. Therefore, if you import QtQuick with a different version than QtQuick.Window, you will get the QtQuick.Window types of the version given in the QtQuick import now. Task-number: QTBUG-84639 Change-Id: Ia82afab0ac2faba70cfdaf53dc8dfe4261e1113f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Allow QML plugins to be optionalUlf Hermann2020-06-094-4/+4
| | | | | | | | | | | If a plugin does nothing but load the library that provides the types, we can skip the plugin loading by linking the library directly. State that in the qmldir file, and evaluate it when loading the module. Task-number: QTBUG-84639 Change-Id: I2097237866a50f66c55e4653ad119fe10e18a893 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove winrtOliver Wolff2020-06-041-1/+1
| | | | | | | | | Task-number: QTBUG-84434 Change-Id: If8f57f00726868a3540c877d07fca761618e4f08 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Remove --dependencies option from qmltyperegistrarUlf Hermann2020-05-268-15/+0
| | | | | | | | | | | We don't need to list the dependencies in the qmltypes files. The information given in the qmldir file should be enough. Ultimately, we should get rid of all hidden dependencies. Task-number: QTBUG-84286 Change-Id: Iaf67d476b449215715270043591d8c4858104ea6 Reviewed-by: Christian Kamm <mail@ckamm.de> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Don't use qmlplugindump for builtins.qmltypes anymoreUlf Hermann2020-05-193-18/+0
| | | | | | | | | | The current contents of builtins.qmltypes should really be part of QtQml, and builtins.qmltypes should contain actual builtin types instead. qmlplugindump is only run explicitly on "make qmltypes" anyway, it's pointless here. Change-Id: I026fb8b223e5b481cc9150d14dfb0af1aab32b51 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Clean up registration of QEasingCurveUlf Hermann2020-05-191-1/+0
| | | | | | | | | | | | | | | | We don't need to register the Type enum for both QtQml and QtQuick. QtQml is enough. Removing this makes the whole manual value type registration obsolete. Furthermore, we want QEasingCurve as QML_FOREIGN as we have several classes with properties of that type. To keep it nice and tidy, we make the uppercase-named enum holder class a separate type. Unfortunately, the Type enums differ in one entry: QEasingCurve::BezierSpline is called Easing.Bezier in QML. Therefore, we need to keep the custom enum around. We can change all users in qtdeclarative to use the name from QEasingCurve, though. Change-Id: Ibbc78d8bbf8938e2a8722f8c09833a0c73394c3d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Improve performance when dynamically adding items to a layoutJan Arve Sæther2020-05-045-98/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was especially noticeable when a Repeater was populating the children of a layout, and its model was dynamically changed: When the model was changed, the repeater removed one item at a time until all items were removed, then applied the new model and then added all the new items for the new model. The layout reacted to that by doing a full sync of the QML layout into the internal gridlayout engine each time an item got removed or added. For very large layouts (or layouts that have complex size hints to calculate), this caused a major slowdown. This patch fixes that by postponing the sync until we get a updatePolish(), basically replacing most calls to updateLayoutItems() (which does the sync) with a call to invalidate() (which schedules a polish). It will also get rid of some binding loop warnings due to this change. This means that there is a small change in behavior: impicitWidth, implicitHeight and Layout.{min,max}imum{Width,Height} might in some cases be incorrect until the updatePolish() have been done. (This is however consistent with how Row/Column/Grid behaves) The creation test in qmlbench was quite simple, so it did not suffer from the most severe performance issues, but we did not regress: > compareresults: auto/creation/layouts/delegates_rowlayout.qml: improvement by 3.91% auto/creation/layouts/delegates_columnlayout.qml: improvement by 6.59% auto/creation/layouts/delegates_gridlayout.qml: improvement by 1.83% Overall average of differences: 4.11% And for the gridlayout_large.qml (Repeater with 1000 dynamically changing items): > compareresults: auto/layouts/gridlayout_large.qml: improvement by 66477.78% Overall average of differences: 66477.78% [ChangeLog][Qt Quick Layouts] Performance improvements to Qt Quick Layouts. This has the small side-effect that size hints (implicitWidth/implicithHeight etc) changes are not immediately emitted after a layout has been modified (e.g item added) Pick-to: 5.15 Fixes: QTBUG-71839 Fixes: QTBUG-65121 Fixes: QTBUG-66017 Change-Id: I6922efe449134246df66b177992e4442747bc8fb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-241-4/+17
|\ | | | | | | Change-Id: I77f3400914fbce58f98cb3a5602fd0cebf219ac6
| * Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-04-221-4/+17
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/labsmodels/qqmltablemodel.cpp tests/auto/qml/qqmltablemodel/tst_qqmltablemodel.cpp This follows edc8512580fa16892dc13034e93300cc6a2bba59. Change-Id: I515d44d5d8309f4d7b911996c0ab65ea803176fa
* | | QQuickItem: rename geometryChanged to geometryChangeMitch Curtis2020-04-232-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings it in line with the existing convention in this and other modules, where virtual handlers are named "nounChange"; e.g. itemChange. Signals are named "nounChanged". This also allows adding a geometryChanged signal, which would enable users to listen to one signal for all changes to x/y/width/height. [ChangeLog][QQuickItem] Renamed geometryChanged to geometryChange in order to follow existing naming conventions and have consistency with existing API, such as itemChange. Task-number: QTBUG-82994 Change-Id: I0547358c796a0047982ccfbf2c38bab952e7a634 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Add _q_dumpLayoutTree() for debugging purposesJan Arve Sæther2020-04-222-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found this quite useful for debugging layouts in order to get a snapshot of the layout hierarchy at any point. It will show the hierarchy and the relevant properties that affect the layouting. It's basically QObject::dumpObjectTree() specialized for Qt Quick Layouts (except it will dump it as QML-ish). For the leaf nodes it will leave out unspecified information. Example on how a dump looks like: RowLayout { // Effective calculated values: sizeHintDirty: 1 sizeHint.min : [ 100, 20] sizeHint.pref: [ 100, 20] sizeHint.max : [ inf, 20] RowLayout { // Effective calculated values: sizeHintDirty: 1 sizeHint.min : [ 100, 20] sizeHint.pref: [ 100, 20] sizeHint.max : [ inf, 20] Rectangle { implicitWidth: 100 implicitHeight: 20 } Rectangle { implicitHeight: 20 Layout.fillWidth: true } } } Pick-to: 5.15 Change-Id: Ie2fcd56d522395cb9d6f55a1ea3f882a7a9da709 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Use categorized logging instead of quickLayoutDebug()Jan Arve Sæther2020-04-214-19/+21
| | | | | | | | | | | | | | | | | | Pick-to: 5.15 Change-Id: I4db3ebb02a5b541ca8e50e65b9056d398570e331 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | CMake: Copy builtins.qmltypes to QML import path in non-prefix buildsUlf Hermann2020-04-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the file was copied to qtdeclarative/src/builtins due to a missing QT_INSTALL_DIR. Now it will be copied to qtbase_built/qml. Change-Id: Icb392559c749b1a460763ac986269053d8050f0f Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-092-4/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4executablecompilationunit.cpp src/qml/jsruntime/qv4executablecompilationunit_p.h src/qml/qml/qqmlobjectcreator.cpp src/qml/qml/qqmlpropertycachecreator_p.h src/qml/qml/qqmltypecompiler.cpp src/qml/qml/qqmltypedata.cpp tests/auto/qml/qmlformat/tst_qmlformat.cpp tools/qmllint/scopetree.cpp src/qml/qml/qqmlapplicationengine_p.h Adjusted tools/qmllint/findunqualified.cpp to use newer API Change-Id: Ibfb4678ca39d626d47527265e3c96e43313873d4
| * | Add standard casing for FolderListModel::fileUrlMichael Brasser2020-03-242-4/+9
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-82298 Change-Id: Iad95b7a90c2c247c44b8656b0fd104843bd4fa8c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | StackLayout: add attached index, isCurrentItem, and layout propertiesMitch Curtis2020-03-232-15/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These properties are useful for items within StackLayout to get access to their index within it, especially when those items are declared in their own QML files. Similar API already exists for e.g. ListView and SwipeView. [ChangeLog][StackLayout] Added attached index, isCurrentItem, and layout properties. Change-Id: I648d4434ab21573b56edd9a0f8399463946fd571 Fixes: QTBUG-76999 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Encapsulate QQmlContextDataUlf Hermann2020-03-231-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This class is not a private detail of QQmlContext. And it is incredibly hard to see who owns what in there. Let's add some civilization ... We enforce refcounting for QQmlContextData across the code base, with two exceptions: 1. QQmlContextPrivate may or may not own its QQmlContextData. 2. We may request a QQmlContextData owned by its parent QQmlContextData. For these two cases we keep flags in QQmlContextData and when the respective field (m_parent or m_publicContext) is reset, we release() once. Furthermore, QQmlContextData and QQmlGuardedContextData are moved to their own files, in order to de-spaghettify qqmlcontext_p.h and qqmlcontext.cpp. When the QQmlEngine is deleted, any QQmlComponents drop their object creators now, in order to release any context data held by those. Before, the context data would be deleted, but the object creators would retain the dangling pointer. [ChangeLog][QML][Important Behavior Changes] QQmlContext::baseUrl() does what the documentation says now: It prefers explicitly set baseUrls over compilation unit URLs. Only if no baseUrl is set, the CU's URL is returned. It used to prefer the CU's URL. Change-Id: Ieeb5dcb07b45d891526191321386d5443b8f5738 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | Add MatchRegularExpression flagLars Knoll2020-03-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is there to stay consistent with C++, where MatchRegExp is deprecated and will in Qt6 be an alias to MatchRegularExpression. Change-Id: Ibbb0885dddebaba3464e93cc6a0d05e94c01f4e1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Store a QV4::ReturnedValue in QJSValueUlf Hermann2020-03-182-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Being careful, we can now save primitive values inline. We use the heap pointer of QV4::Value as either QString* or QV4::Value* for complex types. We cannot store persistent managed QV4::Value without the double indirection as those need to be allocated in a special place. The generic QVariant case is not supported anymore. The only place where it was actually needed were the stream operators for QJSValue. Those were fundamentally broken: * A managed QJSValue saved and loaded from a stream was converted to a QVariant-type QJSValue * QVariant-type QJSValues were not callable, could not be objects or arrays, or any of the special types. * Cyclic references were forcibly broken when saving to a data stream. In general the support for saving and loading of managed types to/from a data stream was so abysmally bad that we don't lose much by dropping it. [ChangeLog][QML][Important Behavior Changes] When saving a QJSValue to a QDataStream only primitive values or strings will be retained. Support for objects and arrays was incomplete and unreliable already before. It cannot work correctly as we don't necessarily have a JavaScript heap when loading a QJSValue from a stream. Therefore, we don't have a proper place to keep any managed values. Using QVariant to keep them instead is a bad idea because QVariant cannot represent everything a QJSValue can contain. Fixes: QTBUG-75174 Change-Id: I75697670639bca8d4b1668763d7020c4cf871bda Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | CMake: Remove testlogger.js from qmldirAlexandru Croitor2020-03-172-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Install it, without adding it as entry to the generated qmldir file. Change-Id: I0b63d4069767e2ad21afcf94741212d14ceb2745 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | CMake: Fix QtQuick test import failure in testsAlexandru Croitor2020-03-162-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | testlogger.js was added to the generated qmldir file with a 6.0 version, and that failed qmltests that tried to import QtQuick with the following error invalid version 6.0.0, expected <major>.<minor> import QtTest 1.1 ^ Until pro2cmake is fixed not to look at QML_FILES in .qmake .pro files when generating the contents of the qmldir file, add the js file to the static qmldir file and regenerate the project. Change-Id: I71d2dc34441f53f05c4eb3a108819913e809eb50 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | QmlFolderListModelPlugin: unregister registered typeFabian Kosmale2020-03-131-1/+10
| | | | | | | | | | | | | | | Change-Id: I29db8c652d85db5d9b92fd184632680a0ad06e55 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Merge remote-tracking branch 'origin/wip/cmake' into devAlexandru Croitor2020-03-1222-0/+666
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: dependencies.yaml Change-Id: Ifff48b9d0e7962d481e63c49399e2d304e1011e5
| * | | CMake: Regenerate and adapt to merge from devwip/cmakeAlexandru Croitor2020-03-1220-38/+40
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If8daa6152a563d4309d7342414780ef75b9f5589 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
| * | | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-1269-132/+391
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: dependencies.yaml src/qml/qml/qqmlengine.cpp Change-Id: I6a73fd1064286f4a2232de85c2ce7f80452d4641
| * | | | Regenerate projects to handle private deps correctlyAlexandru Croitor2020-02-0518-95/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ifcbab0407e93dfc35d0459d7d29dee2cd3508a86 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | | Post-merge fixesAlexandru Croitor2020-01-305-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2350df5368ee34d6c7072d456806e518ce533839 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>