aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml
Commit message (Collapse)AuthorAgeFilesLines
...
* | Allow target path version in a parent moduleJ-P Nurmi2016-04-213-41/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, the QML Engine is now able to locate QtQml.Models 2.x in both of the following target/installation paths: - QT_INSTALL_QML/QtQml/Models.2 - QT_INSTALL_QML/QtQml.2/Models This is required for QtQuick Controls 2. The target path of the module is QT_INSTALL_QML/QtQuick/Controls.2. The built-in styles are installed as sub-directories to be able to locate them from the controls module. Some of the built-in styles provide their own C++ extensions via style- specific imports (eg. the Material attached property is imported from QtQuick.Controls.Material 2.0). The problem is that the QML Engine does not find the module from QT_INSTALL_QML/QtQuick/Controls.2/Material, but requires it to be installed outside the main controls module ie. QT_INSTALL_QML/QtQuick/Controls/Material(.2). This makes it a) hard to locate the styles from the main controls module, and b) conflicts with the target path of QtQuick Controls 1. [ChangeLog][QtQml] Made the QML Engine capable of locating QML sub- modules from within a versioned parent module path. For example, QtQml.Models 2.x can be either in QT_INSTALL_QML/QtQml/Models.2 or in QT_INSTALL_QML/QtQml.2/Models. Change-Id: I2fe4bbdd6d04dd1e80cbe9b3e7e02617658a0756 Task-number: QTBUG-52556 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | QQmlPropertyCache: Fix developer build with MinGW.Friedemann Kleint2016-04-191-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | Reorder inline functions so that QQmlPropertyCache::ensureResolved() is visible from where it is invoked (QQmlPropertyCache::property()), fixing error: qtdeclarative/src/qml/qml/qqmlpropertycache_p.h:559:26: error: 'QQmlPropertyData* QQmlPropertyCache::ensureResolved(QQmlPropertyData*) const' redeclared without dllimport attribute after being referenced with dll linkage [-Werror] inline QQmlPropertyData *QQmlPropertyCache::ensureResolved(QQmlPropertyData *p) const Change-Id: Id0f0b5b92d377c71f5950011ba993e53d783bfb8 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | QQmlEasingValueType: replace QList<qreal> with QVector<qreal>Anton Kudryavtsev2016-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | In this case QVector is more efficient, e.g. for 64-bit builds with qreal=float or for 32-bit builds with qreal=double Change-Id: Ie6cf965ee1130e768c4da148f281c7d8319ac873 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QQmlEasingValueType: use reserve() to optimize memory allocationAnton Kudryavtsev2016-04-141-3/+4
| | | | | | | | | | | | | | | | While touching the code, also port the loop to C++11 style. Change-Id: Iff5182fa7e4678b2366d9ae8fbd1427140b92ac5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-083-120/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change also fixes the build of two benchmarks, tst_affectors and tst_emission. Conflicts: src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro src/qml/qml/ftw/qhashfield_p.h tests/benchmarks/particles/affectors/tst_affectors.cpp tests/benchmarks/particles/emission/tst_emission.cpp tests/benchmarks/qml/pointers/pointers.pro tests/benchmarks/qml/pointers/tst_pointers.cpp tests/benchmarks/qml/qmltime/qmltime.pro tests/benchmarks/qml/qquickwindow/qquickwindow.pro Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
| * qml: Remove unused QHashField class.Robin Burchell2016-04-062-113/+0
| | | | | | | | | | | | Change-Id: I8dd234d06048e6d8e7b2dfccb59d639ad167022b Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Doc: Replace the reference to QQmlComponent::endCreateVenugopal Shivashankar2016-03-091-1/+1
| | | | | | | | | | | | Change-Id: Ic1bf883003f6e20efa3fdba9ad29a8c8276b043e Task-number: QTBUG-51713 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | QML: make QmlContext::qml{Context,Scope} inlinable.Erik Verbruggen2016-04-051-1/+1
| | | | | | | | | | | | | | | | Both methods are called in QQmlPropertyCapture::registerQmlDependencies, which is called after every binding evaluation. Change-Id: Ic0c7ff96aa7d0be186d103de9d50eae19f42908b Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QML: add some hot-path hints for the compiler.Erik Verbruggen2016-04-052-6/+6
| | | | | | | | | | Change-Id: Ic68691639e81a8450311c03e86bcde14e7bd7dd4 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QML: allow more methods to get inlined.Erik Verbruggen2016-04-057-49/+47
| | | | | | | | | | | | | | | | Most of these methods are small, and all of them lie in the 'hot path' for simple bindings like 'width: parent.width'. Change-Id: I0071cec92b49437a352160b0283ed6c89a278a07 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | V4: Allow some more functions to be inlined.Erik Verbruggen2016-03-314-3/+3
| | | | | | | | | | Change-Id: If9d1f87fd7cf0b12d2827c4574109234be7e8ab8 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | QQuick: remove property index from the accessor functions.Erik Verbruggen2016-03-313-5/+3
| | | | | | | | | | | | | | This parameter was not used. Change-Id: I1e8c0994cad37fc24105e354a80a4fb0131d58ee Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | QQmlImportDatabase: Introduce utility message function.Friedemann Kleint2016-03-251-5/+7
| | | | | | | | | | | | | | Reduces the number of messages that need to be translated. Change-Id: I986d3202ac2dcc6c8e197e19c735dd66dad37f39 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-0711-51/+84
|\| | | | | | | Change-Id: Icfa1d61fcc286c3418d4a625de11d2191336fa60
| * Let QQmlObjectCreator::setPropertyBinding return false for invalid typesFrederik Gladhorn2016-03-041-0/+2
| | | | | | | | | | | | | | | | | | This in theory happen for attached property types. Fixes Coverity CID 154272. Change-Id: I113797dea8949877cbeac82bae57655170878d4c Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Make more ctors explicitMarc Mutz2016-03-032-2/+2
| | | | | | | | | | | | | | | | | | Added explicit where it was missing. This is not a source- incompatible change, because code that breaks by this is a bug. Let's not have this sitting around in an LTS. Change-Id: Ic198750717799126b4e37817845a8ee4684d631f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Make public headers compile with -Wzero-as-null-pointer-constantMarc Mutz2016-03-039-50/+81
| | | | | | | | | | | | | | | | | | | | | | ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Task-number: QTBUG-45291 Change-Id: Ied526fb2d7adc3a68946d6843a6bd6f475ebf864 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Fix typo in QQmlContext documentationMitch Curtis2016-03-031-1/+1
| | | | | | | | | | Change-Id: Iea662214988c35473a8526c546f01ac5629308dc Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7J-P Nurmi2016-03-011-18/+56
|\| | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro Change-Id: I3ca8f0422828191b7e19539c25f31f2d048e9f18
| * Properly signal errors when accessing lowercase enum valuesThomas McGuire2016-02-241-18/+56
| | | | | | | | | | | | Task-number: QTBUG-46758 Change-Id: I14e394021c231bda5552c8d1c98f20c903a62f12 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-02-192-4/+3
|\| | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickitem.cpp tests/auto/quick/qquickgridview/tst_qquickgridview.cpp tests/auto/quick/qquicklistview/tst_qquicklistview.cpp Change-Id: I3cf47faa2fe567d62fffd985aeecbefe5811cc42
| * Revert "Fix crash on QQmlEngine destruction."Robin Burchell2016-02-172-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2e75be5f64fb21cbbdff3353dbd507c2ca26946a. This patch was originally written by Andrew den Exter in 222e06bf4ed509e72c1533cbe1d4859ca96933f3, externally from the main Qt tree. I upstreamed this as part of our porting efforts. Some time later, this was accidentally reverted in 2e75be5f64fb21cbbdff3353dbd507c2ca26946a: we can't go back in time to examine exactly what happened, but presumably Andrew didn't notice that I had upstreamed this, attempted to apply the patch and ignored the "already applied" warning by accident - and continued on dutifully with the patch accidentally reverted. This change is correct, though, and is thus reinstated. Change-Id: Idfe6ab39ad011f0401de25fe056aa3eb3fb8b424 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-02-121-0/+7
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I356ec83cf687bd2833f9a7c5e820d56b1efa8979
| * QQmlComponent: mention errors when component is prematurely destructedMitch Curtis2016-02-101-0/+7
| | | | | | | | | | | | Change-Id: Idb5dc9e68b92cb6b20b4e8df44ed6ac55aaa9568 Task-number: QTBUG-45745 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Qml: replace QStringLiteral with QLatin1StringAnton Kudryavtsev2016-02-102-9/+9
| | | | | | | | | | | | | | ... in string comparisons. It's more efficient. Change-Id: I3be5a2be9ba5d55546472eac28f5f639a496bf3b Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Include qqml.h in qqmlengine.h for convenienceMitch Curtis2016-02-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a user creates a Qt Quick Application Project in Creator, they get this main.cpp: int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); } According to the current documentation, if they then want to register a C++ type for use in QML, they need to add a separate "#include <QtQml>" (which is actually a module-wide include and brings a lot of unnecessary files with it). If the most common (or perhaps only) use case for that function (and all of the others declared in qqml.h but documented as requiring QtQml) is related to QQmlEngine, then it makes sense for qqmlengine.h to include qqml.h. This change makes it so that users can use these functions with no changes to the code that Creator provides, as QQmlApplicationEngine includes QQmlEngine. Change-Id: I9d6be2e1abfd4cc831ca04dab4c2a9e50021f748 Task-number: QTBUG-50343 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-292-3/+9
|\| | | | | | | Change-Id: Iec1b2de53c275996364c4bab0123ccb3e6e9895e
| * QML: do not wrap property values of type QVariant.Erik Verbruggen2016-01-271-2/+8
| | | | | | | | | | | | | | | | | | | | When reading a propety from a QGadget or a QObject, the values are stored in a QVariant and later unwrapped/converted to the correct JavaScript type. However, if the property value is a QVariant, it does not need to wrap it (again) in a QVariant. Change-Id: I633d3194f82b6032fc15d9994c4dee5e5609fd21 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix don't delete singletons objects owned by C++BogDan Vatra2016-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | Don't delete singletons objects that are created only from C++ and have explicitSetObjectOwnership flag set, explicitSetObjectOwnership flag is set only by QQmlEngine::setObjectOwnership. Task-number: QTBUG-49865 Change-Id: I0ef658c2094e67b5cd9a1585e273144dfcee736a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2016-01-224-3/+26
|\| | | | | | | Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
| * Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Simon Hausmann2016-01-211-2/+2
| |\
| | * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-191-2/+2
| | |\ | | | | | | | | | | | | Change-Id: Ieb48911638b5c1acdfd4dee8aa19dca9be99a1f6
| | | * Fix QQmlComponent::errors() documentationMitch Curtis2015-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I3b65a6aea614a01e36f0fb9e93bb8a9c929ad919 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| | | * Fix link to QQmlError in QQmlComponent documentationMitch Curtis2015-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I4549acabec366bb17512aad20a943b6b2f813801 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * | | Provide access to signal parameters in SignalTransition::onTriggered.Michael Brasser2016-01-192-0/+23
| |/ / | | | | | | | | | | | | | | | | | | Change-Id: Ib74d3f5e9a357a86b818e27dd7249e2ecdf1e513 Task-number: QTBUG-46897 Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Doc: typo fixJoerg Bornemann2016-01-121-1/+1
| | | | | | | | | | | | | | | Change-Id: Ida2e39f2eb1744173cd40b4a29f3304c2a2bfd6c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Add selector() to get underlying FileSelectorAndré Klitzing2016-01-212-0/+11
| | | | | | | | | | | | | | | | | | Change-Id: If33a23e7ba06523e964d8299365f43e8125c1619 Task-number: QTBUG-45983 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Updated license headersJani Heikkinen2016-01-19149-2088/+2982
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Qml: fix expensive iteration over QHash::keys() and QMap::keys()Anton Kudryavtsev2016-01-181-1/+4
| | | | | | | | | | | | | | | Change-Id: I7bb5dd3b49b9f3a638f81156a02d999dbbd932f3 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Remove debugChangesHash from QQmlEngineUlf Hermann2016-01-122-31/+0
| | | | | | | | | | | | | | | | | | | | | Since the inspector doesn't use it anymore we can drop it. Change-Id: I9c4ffc3988bcd9937a4a473d5de287c7a5eda13e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-102-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.h tests/auto/quick/qquicklistview/tst_qquicklistview.cpp tests/auto/quick/qquicktextedit/qquicktextedit.pro tests/auto/quick/qquicktextinput/qquicktextinput.pro Change-Id: I95d2c20a8619e5b8fa361c941a16dd8dce3e04e7
| * | QQmlXmlHttpRequest: Fix a memory leak on use of XMLHttpRequest's responseXML.Robin Burchell2016-01-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DocumentImpl (the root of all evil) inherits QQmlRefCount, thus, it has an initial refcount of 1. We correctly released the initial ref in the case of error, but if there is no error, we don't: we pass it over to v4 using class Node which (in Node::Node) increments the refcount again. When Node is later on collected by the GC, the document's refcount is never decreased past the initial ref, thus, not deleted. Task-number: QTBUG-50231 Change-Id: Icefe4391a785c95cb8900219be8ba71f9c53785f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * | Fix value changed logic for ValueTypeProvider typesFrank Meerkoetter2016-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix broken value changed logic for types implemented through the ValueTypeProvider interface (QtQuick and Qt3d). It affects vector2d, vector3d, ... The signal was not emitted for the cases where the new value was equal to the default value of a given type. Also add a unit test to cover this area. Change-Id: I9491b0462c78fecc4c704ea36921611c1bd6b2ee Task-number: QTBUG-50204 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | tvOS supportMike Krus2016-01-012-0/+3
| | | | | | | | | | | | | | | | | | Change-Id: If48e8bcf55781d1148e15ce19e07cfbe35d829d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-183-8/+17
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicklistview/tst_qquicklistview.cpp Change-Id: I9588a3e2c7d590e031dd4c66905a79f0d74d3ac8
| * | qml: preserve composite singleton types.Marco Benelli2015-12-173-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | Composite singleton types used to always have version -1,-1; regardless of what is written in qmldir. Change-Id: Ia193e73695e57095f6a09b97768805f2f23cd56a Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | | Rearrange the import paths so the qrc one is after the application pathAndy Shaw2015-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By moving the qrc import path to be after the application one we ensure that when the application starts up it will look for the imports in the same way as it would both on deployment and development machine. This is particularly important when building Qt statically because it should be looking for the imports inside the resources. Change-Id: I81f1b7e96c0f9df3671249668accad7adfd00df4 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Support debugging and profiling for pure QJSEnginesUlf Hermann2015-12-152-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The engines will register themselves with the debug server whenever they are created without a private object. The assumption is that we get the latest possible registration like this. They try to deregister in all dtors, but they check if a different engine has done the same first. Change-Id: Ife7d7532d1de2e4a6ee21d9f7e673fcdfff2387b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Remove dead fwd-dclFrank Meerkoetter2015-12-159-13/+0
| | | | | | | | | | | | | | | Change-Id: Ifd9fe32b80cd1ebc8dc9fda7c252ecdaae42cb37 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Remove dead codeFrank Meerkoetter2015-12-141-2/+0
| | | | | | | | | | | | | | | | | | | | | Fixes coverity CID89066. Change-Id: I8f7a0caf48facbb43057a721aa087ba2fa57d5cc Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>