aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlmetaobject
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headersJani Heikkinen2015-02-121-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* Revert mapping of var signal parameters to QJSValueSimon Hausmann2014-09-191-3/+3
| | | | | | | | | | | | | | | | | This reverts commit 70004585f89f325f398c556d101bfa1833d87b53, which is superseded by commit 3dbe05f6bf3fd51ce8097c35f6c7f12b39acb0f6, which is a much better solution. [ChangeLog][QtQml][Important Behavior Changes] Qt 5.3 changed the mapping of "var" parameters in QML declared signals to QJSValue. This was reverted to the behavior of earlier Qt versions to use QVariant. The original issue of not being able to pass function objects through var parameters of QML declared signals is solved by wrapping a QJSValue inside the QVariant. Task-number: QTBUG-39971 Change-Id: I44de2ef2660c64c68e6a3b2a1ae251ad563d6b3c Reviewed-by: Taylor Braun-Jones <taylor@braun-jones.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix mapping of JS objects/arrays to C++Simon Hausmann2014-09-171-3/+9
| | | | | | | | | | | | | | | [ChangeLog][QtQml][Important Behavior Changes] When a JavaScript object/array is passed to C++ through a QVariant, the engine no longer immediately converts the object recursively into a QVariantMap or QVariantList but instead stores a QJSValue in the QVariant. This prevents a loss of data when the JS object contains non-primitive types such as function objects for example. Code that expects the variant type to be exactly QVariant::Map or QVariant::List may need to be adapted. Registered conversion functions however ensure that code that merely calls toMap() or toList() continues to work. Task-number: QTBUG-40431 Change-Id: I1dbc1d5f8e78ad28bb62db3681b9a0b34557e7f5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update license headers and add new licensesJani Heikkinen2014-08-251-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Change C++ parameter type used for var parameters in QML declared signalsSimon Hausmann2013-12-241-3/+3
| | | | | | | | | | | | | | "signal someSignal(var foo)" mapped to foo being of type QVariant. Unfortunately that is a "lossy" type and it cannot represent all JavaScript values, including for example function closures (as reported in the JIRA bug). Instead we should use QJSValue. It is an important behavioural change because it affects the presumably rare case of somebody declaring a signal in QML with such a parameter and connect to it from C++ (or trying to emit it) - in that situation the code needs to be changed. Task-number: QTBUG-35171 Change-Id: I4fb4a18b407e4ea6c28a3a297fc6f76edb76d734 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change access mode for functions declared in qmlCaroline Chao2013-09-101-4/+1
| | | | | | | | | | Give the method a QMetaMethod::Public access instead of a QMetaMethod::Protected one. This is valid and is also needed when using the qmlplugindump tool with composite types. Change-Id: Ie1660716d8767cdc949f04a2f324799f2d2fe6c5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Tests: Re-enabled tests for access type of QMetaObject::SignalCaroline Chao2013-09-091-2/+4
| | | | | | | QMetaMethod::Signal access is now QMetaMethod:Public in qtbase. Change-Id: If1a3e76889bd25fb20ba6ed1e3b8206053acd8d9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Tests: Disabled temporarily access type tests of QMetaMethod::SignalCaroline Chao2013-09-091-2/+3
| | | | | | | | | Change in qtbase to make the QMetaMethod signals access Public instead of Protected. Change-Id: I2de17fdc7edb896eb82ae8f467919e4636904cf6 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-011-0/+1
| | | | | | | | | | Qt 5.0 beta requires changing the default to the 5.0 API, disabling the deprecated code. However, tests should test (and often do) the compatibility API too, so turn it back on. Task-number: QTBUG-25053 Change-Id: I6988c2360e9d88916311374a0c910bfc5b607439 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add gui-private to testsGirish Ramakrishnan2012-06-221-1/+1
| | | | | | | QWindowSystemInterface will be marked as QPA API. Change-Id: Id174a24f8432219adf1425efe1eb59cf67d48bb9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Lazily create QMetaObjectsAaron Kennedy2012-05-241-1/+0
| | | | | | | | | | For internal QML built types, creating a metaobject each time is just wasteful. Additionally, as the property caches were always created from the intermediate QMetaObject, it was difficult to pass information directly from the compiler to the property cache. Change-Id: I769526b0edaaf16a86883f3065b75618b94e4077 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Adapt to QMetaMethod::typeName() behavioral change for "void"Kent Hansen2012-03-221-7/+7
| | | | | | | | QMetaMethod::typeName() has been changed to return "void", rather than an empty string, when the return type is void. Change-Id: Ifc903ba60a06ffaefe27c94fe629698d64904d94 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make QFastMetaBuilder generate revision 7 meta-objectsKent Hansen2012-03-131-11/+37
| | | | | | | | | | | | | | | | Support for revision <= 6 will go away in Qt5. This commit updates QFMB to match the latest format generated by moc: - Store string table as an array of QByteArrayData (literals) - Store only the meta-method name, not the full signature - Don't store parameter names as a comma-delimited string - Store explicit information about parameters (count, types, names) Since the meta-data can now hold type ids > 256, there is no need to store the names of property/parameter types at all anymore. Change-Id: I487b14d22b2a92d9e6a9aa4e348f4bab181daff4 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Adapt to Qt5 meta-object changesKent Hansen2012-03-131-2/+2
| | | | | | | | | | | | | | | | | | | QMetaMethod::signature() has been renamed to methodSignature(), and it now returns a QByteArray. Also, the new function QMetaMethod::isValid() should be used to determine whether a method is valid, instead of relying on signature() returning a 0 pointer. Where it makes sense, the existing code that was using signature() and parameterTypes() has been changed to use the new API QMetaMethod::name(), parameterCount(), and parameterType(int). Also, in the new meta-object revision (7), the QMetaObject stringdata member is now of type QByteArrayData*. QFastMetaBuilder will be ported to generate the new format, but for now it's sufficient to reinterpret_cast the stringdata assignment to keep it compiling. Change-Id: Ie340ef17bcebc3afa4aae6450dfe2d06e4d881a4 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Make sure QML type "real" always maps to C++ type "double"Kent Hansen2012-03-074-5/+27
| | | | | | | | | | | | | | | | | | | | | | | The type "real" was documented to be a single-precision float, but that's incorrect. It's always been double. However, signal parameters of type "real" would be mapped to the C++ type "qreal", which can be either float or double depending on the platform. Since JavaScript floating point numbers have double precision, QML should use the same, to avoid potential loss of precision. With this change, "real" behaves the same as the QML "double" type (which already guaranteed double precision). Even though it's redundant, "double" is kept to preserve compatibility. Added tests for the "double" type to the QML meta-object autotest, and a test for the "real" type that ensures there's no loss of precision. Change-Id: I1a77f1fd45082ff670684a935e17d1a46ea75d84 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Changed qml tests to work from install directoryKurt Korbatits2012-03-071-3/+1
| | | | | | | | | | - Changed tests to use TESTDATA - moved qqmlcontext to private test as it contains private header - added check for cross_compile option to skip when sources not available Change-Id: I0f68f58ffcb1b41b8e40a9851e3e003fe72ee2f9 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-0526-0/+505
Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f