aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/types/qqmlbind.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Binding: fix restore logicFabian Kosmale2024-02-291-0/+2
| | | | | | | | | | | | | | | | | | Consider a Binding affecting a property which initially has a value (not a binding). When restoring the initial value of a property, we did not remove any binding that might have been installed on it by Binding. Then, when the Binding would subsequently get enabled again, it would pick up the still installed binding instead of the actually restored property. From that point on, the original value would have been lost. Fix this by clearing any existing bindings when we restore a value. Pick-to: 6.7 6.6 6.5 Fixes: QTBUG-122707 Change-Id: Ife7c43c7e799c71257fc04bbd76ff902422bd49d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: Clarify that the compact Binding {} declarations need an idSze Howe Koh2024-01-151-4/+4
| | | | | | Change-Id: Icef07f23e78c48e7321431e51c5431a8ad8b6c4d Pick-to: 6.7 6.6 6.5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtQml: Remove QQmlTypeLoader from QQmlImportUlf Hermann2024-01-111-7/+9
| | | | | | | | | The type loader belongs to the engine and we must not store it in engine-independent data structures. We do want the import cache to be stored in the type registry, though (in a separate change). Change-Id: I2828f5098b27bf1fc96852fc2bd160db44b109e7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: Fix linking to Qt Qml moduleTopi Reinio2023-12-011-1/+1
| | | | | | | | | | The module landing page has been renamed in af0539c7bb6f46e89523054c09d5d846ae55f355. The correct link target is 'Qt Qml'. Change-Id: I4a13348948fe1577e7a62edbb49a0d99f9695322 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Include what you need: <QPointer>Marc Mutz2023-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | All these TUs relied on transitive includes of qpointer.h, maybe to a large extent via qevent.h, though, given that qevent.h is more or less the only public QtBase header that includes qpointer.h, something else seems to be at play here. Said qevent.h actually needs QPointer in-name-only, so a forward declaration would suffice. Prepare for qevent.h dropping the include. The algorithm I used was: If the TU mentions 'passiveGrabbers', the name of the QEvent function that returns QPointers, and the TU doesn't have qpointer.h included explicitly, include it. That may produce False Positives, but better safe than sorry. Otherwise, in src/, add an include to all source and header files which mention QPointer. Exception: if foo.h of a foo.cpp already includes it, don't include again. Task-number: QTBUG-117670 Change-Id: I9b98cda524a0e6a61be7805edda708916bb2bc2b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlBind: Move delayedName into place rather than taking it by const refUlf Hermann2023-09-091-5/+5
| | | | | | | | | | | Using a const reference triggers QTBUG-116742 because the refcounting fails in some non-obvious way. Moving the string into place avoids touching the refcount. Task-number: QTBUG-116742 Change-Id: I9195ad84ac2c97d6624cd29e4c747f66c7919b09 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QQmlBind: handle top-level attached propertiesFabian Kosmale2023-08-221-25/+76
| | | | | | | | | | | | | | While top-level attached properties are formally deferred in QQmlBind, QQmlBind is not really interested in them. Top-level attached properties cannot be generalized grouped properties, after all. Therefore, populate the attached objects the usual way when encountering them. Pick-to: 6.6 6.5 Fixes: QTBUG-116049 Change-Id: I18e8759ea52fd91fadf80b2cc69b5054f7cea23a Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
* Binding: Reevaluate when before the target changesFabian Kosmale2023-04-191-2/+19
| | | | | | | | | | | | | | | | ...and do not warn about missing properties if when is disabled. Besides avoiding spurious warnings, this also avoids modifying a property only to restore its binding/value directly afterwards. Note that when the binding gets re-enabled, we still trigger the warning. Fixes: QTBUG-112860 Pick-to: 6.5 Change-Id: I5ddd32f2de2dec9da372b08ab4bb5bdb88873e51 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* doc: Use \value rather than \li for enumeration values and constantsShawn Rutledge2023-03-281-8/+7
| | | | | | Pick-to: 6.2 6.5 Change-Id: Ica8354a53d0a5fb5dd1d8cd5f774dcdc56b6f99a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Binding: Accept local signal handlers againUlf Hermann2023-01-251-1/+2
| | | | | | | | Pick-to: 6.4 6.5 Fixes: QTBUG-110628 Change-Id: Ifc5023a3bfeb575df3102c3ea363903ebffa88ba Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* ConstructionState: Make completePending private, tooFabian Kosmale2022-11-101-1/+1
| | | | | | | | | And move all functions out of the class body to make it easier to see at a glance which methods are defined in the class. Change-Id: I2c64b3220b31bed1a1322ddba7010ede6b2452ab Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* ConstructionState: Add helper function to take errors from creatorFabian Kosmale2022-11-101-1/+1
| | | | | | | | | As a drive-by, let AnnotatedQmlError's ctors take the QQmlError by value, and move-construct it into the member. Change-Id: I4c7aea5a966cfdb45abdc74ee352d5dd41b73aba Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlComponent::ConstructionState: encapsulate creatorFabian Kosmale2022-11-101-7/+7
| | | | | | | | | | | This is a preparatory step to decouple accessing required properties from the existence of a QQmlObjectCreator (which will not exist when existing pure C++ types). Task-number: QTBUG-97156 Change-Id: I5323b018022e99f9ebf9be61d6f9a75b8a5dad48 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-071-5/+5
| | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Do not store instantiation errors in QQmlComponentAndrei Golubev2022-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQmlComponent::createWithInitialProperties() allows to pass non-existent properties to create the object with. In this case, we still return a valid pointer (pre-existing), however, the state of the component is affected: there are errors internally that fail repeated calls even with valid properties specified. Fix this, aligning to the behavior of QQmlComponent::createObject() which is a QML counterpart of the same function (to a degree) Additionally, make required properties warnings also not break the component state: if a required property is not set, we return nullptr instead of object. The error state is affected but it gets cleaned on the next creation call, allowing one to set the missing required properties Unify the logic (with slight deviations) between create() (the non-incubator-accepting version), createWithInitialProperties() and createObject() as all they all should do roughly equivalent things [ChangeLog][QQmlComponent][Important Behavior Changes] Setting properties via createWithInitialProperties() and setInitialProperties() no longer affects the QQmlComponent's error state unless there are unset required properties. A warning is issued when a property could not be set. Fixes: QTBUG-101439 Change-Id: I814c00bc3715d7a54004c3fcd0af6ee6d50b0726 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-111-38/+2
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QML: Port QV4::CompiledData::Binding to new special integer bitfieldUlf Hermann2022-05-111-4/+11
| | | | | | | Pick-to: 5.15 6.2 6.3 Task-number: QTBUG-99545 Change-Id: I9f8bc5fa45c61f77ee95b055a3d8de001da8f8c5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QML: Port QV4::CompiledData::Location to new special integer bitfieldUlf Hermann2022-05-111-1/+1
| | | | | | | | Pick-to: 5.15 6.2 6.3 Task-number: QTBUG-99545 Change-Id: If0d6f893f2351a4146ddf125be4079b5e312f308 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Rename "Basic Types" to "Value Types"Ulf Hermann2022-01-211-1/+1
| | | | | | | | | | Internally they've been called "value types" all along. Now that we are adding the ability to define your own value types the "basic" name is not really fitting anymore. Value types can be quite complex. Change-Id: I5fb4abec1dd2f0bbf7fb7f08b02db0882490e983 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix life cycle methods of various types related to QQmlBindUlf Hermann2021-11-121-5/+3
| | | | | | | | | | | Code checker complains about the absence of move ctors and operators. While we're at it, make ctors default where possible, do not use const rvalue refs, add noexcept where possible, properly disable moving and copying of QQmlBindEntryContent, and inline the null check of QV4::PersistentValueStorage::free(). Change-Id: I11b6511f39f3d84479dbacee7f3e3552a5fb2b5a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Allow Generalized group properties in BindingUlf Hermann2021-11-091-87/+636
| | | | | Change-Id: Ib3f663859be84aced383581c0874e7f7f1c0d2f7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: Replace non-existent \qmlproperty any typeIvan Tkachenko2021-10-261-1/+1
| | | | | Change-Id: I79f1b6fac5933fe13b2dda0436f95da91b2c6d8e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Update documentation for QQmlBind::restoreModeUlf Hermann2021-10-221-6/+2
| | | | | | | | | | The sections about the warning and reliance on earlier defaults were outdated. Replace it with a note saying that you shouldn't use it. Pick-to: 6.2 Change-Id: If1decbe80a469d0d1c634be6e46fb5d6a022a20e Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Make QQmlBind::value a QVariant againUlf Hermann2021-10-221-4/+9
| | | | | | | | | | | This partially reverts commit 00f903f3b4cd46ddf8361876401e5405030f97f1. We don't need the QJSValue to protect against magic conversions anymore since magic conversions have been removed in commit 1b7a098803a43355abf62e099267d4a122645e07. Change-Id: I3e60d8562d409144cdb921060c2736b1f8278e2b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Doc: Replace \qmlproperty Object and list<> thereof with QtObjectIvan Tkachenko2021-10-221-1/+1
| | | | | | | And in case of QtQuick.Controls::Popup::anchors.centerIn it was an Item. Change-Id: I2ad7ac6969b729711138390de4efe8d6509dcc5e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix life cycle methods for some QML-exposed typesUlf Hermann2021-07-141-4/+0
| | | | | | | | | Follow the rule of 5: Drop empty dtors, and add Q_DISABLE_COPY_MOVE where we do need an explicit dtor. Change-Id: Icbb9d87e1087c69b1cf1f18062a496c148935783 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Adjust to QProperty using eager evaluationFabian Kosmale2021-04-191-2/+2
| | | | | | | | | | | | Besides API changes, we need to - adjust QQmlBind to unlink the binding properly (that probably was broken already before, but did not cause issues so far, as the old binding would not have been evaluated without a read access) and - skip tests in tst_qmlcompiler_manual, as the bindings are executed before the engine is correctly set. Change-Id: I97b0ac32b428c1a033664fe8593effadb69cd348 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Port QQmlBindPrivate to QQmlAnyBindingFabian Kosmale2021-03-041-31/+9
| | | | | | Change-Id: I535d7de8e94a8b80ab803c221fbc19ead8b68c25 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* QmlBind: support bindable propertiesFabian Kosmale2021-02-031-9/+40
| | | | | | | | | | | | This patch ensures that the QML Binding element can also save and restore C++ bindings. Should QQuickItem's x and y property be ported to the new property system, we'd need new test cases to verify that "old-style" bindings are still handled correctly. This task is however left for the change porting the properties. Task-number: QTBUG-90493 Change-Id: I506ffa1060ff32a7d722214e5ccd469bdaa61ff8 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlBinding: Change the restoreMode defaultUlf Hermann2019-10-161-25/+4
| | | | | | | | | | | | | As promised in 5.14 we now change the default to RestoreBindingOrValue. Update the documentation accordingly. [ChangeLog][Important Behavior Changes] By default Binding elements now restore values as well as bindings when they become inactive. Task-number: QTBUG-78566 Change-Id: Id5c0247eff253f37cc6714179601c4277d2de7d0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Output a message when changing the target of a Binding from elsewhereUlf Hermann2019-10-091-3/+48
| | | | | | | | | | | | | | | Explicitly created Binding elements should not be silently disabled when writing their target property. That would be rather confusing. Instead, the binding stays active and updates the target property again on the next change. This behavior is still somewhat confusing. Therefore, if the qt.qml.binding.removal logging category is enabled, output a helpful message. Fixes: QTBUG-78566 Change-Id: Idcd8e51e1cd7eaf78d70b15f065fd9159521ff20 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Postpone the Binding restore mode behavior change to Qt 6.0Ulf Hermann2019-10-091-5/+12
| | | | | | | | | | | | Also, add a note to the "when" property about it. [ChangeLog] The change in the default behavior of Binding elements regarding literal values has been postponed to Qt 6.0. Task-number: QTBUG-78566 Change-Id: I2cc6f01230589b176b08f53a45c02123bb961020 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QML Binding: do not convert stringsFabian Kosmale2019-10-071-4/+4
| | | | | | | | | | | | | | | | The root cause for the issue is that QQmlObjectCreator::setPropertyValue calls QQmlStringConverters::variantFromString on strings if the property is of type QVariant. Unfortunately, this cannot be changed easily as the current behavior is explicitly documented and tested in tst_qqmllanguage, thus making it a breaking change. As a workaround, QML Binding does now take a QJSValue instead of a QVariant (making value a var property), which does not trigger the conversion path. Fixes: QTBUG-78943 Change-Id: I0b64dffdb6b84b2bab2bb85a8cb263e530c18570 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Re-add the warnings about deprecated default binding restore modeUlf Hermann2019-10-041-1/+14
| | | | | | | | | | | | | We _really_ want people to port away from this. And yes, we are going to change it. Amends commit c273175ffec925a4164de41a79c21d785a1761a7. Task-number: QTBUG-33444 Task-number: QTBUG-78566 Change-Id: Iab50b8c7bad043528602e2e617c772de06d18b1e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Pierre-Yves Siret <gr3cko@gmail.com>
* QQmlBind: Mark restoreMode as explicitly also when set to default valueUlf Hermann2019-10-021-1/+1
| | | | | Change-Id: I8aa36cbba95a64498b34c689086e45c115ce542b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QQmlBind: Fix qdoc warningFriedemann Kleint2019-08-211-1/+1
| | | | | | | | | Fix src/qml/types/qqmlbind.cpp:370: (qdoc) warning: Missing '\endlist' Change-Id: I687b136caa1a1696b5efc5d8352baedfe091c89b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix tests in qtquickcontrols 1 and 2Simon Hausmann2019-08-071-26/+1
| | | | | | | | | | | | | This patch partially reverts the 5.15 related #ifdefs from commit f38e071f5b353cbf9ce6c6c104bd82099ae0aa14. Those were introduced without any test coverage and our own modules (qtquickcontrols 1 and 2) were not tested with it or adapted. The change of behavior breaks our own existing code. Task-number: QTBUG-33444 Change-Id: Ie9823638c1a02281798b725f745b15e622f837c5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix crash when binding to QML componentFabian Kosmale2019-07-041-3/+3
| | | | | | | | | | As the properties were missing their context, we could not get the correct QMetaObject and would trigger an assertion in canConvert. We now always set the context when creating QQmlProperties in qqmlbind. Fixes: QTBUG-40487 Change-Id: I766c5697dc33fc1e18c2316e28d944975e84ae3c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Restore value bindings when disabling a Binding elementErik Verbruggen2019-05-171-5/+137
| | | | | | | | | | | | | | We previously only restored script bindings that were replaced by a Binding. Now we handle both. [ChangeLog] QML Binding elements now support restoring previous values of the bound property when the binding is disabled. This will be the default behavior in Qt 5.15. Reliance on the old behavior of only restoring binding, not literal values results in a warning now. Fixes: QTBUG-33444 Change-Id: I833403b0645c08eee486fbd4acf5d3c7de2ef73a Reviewed-by: Michael Brasser <michael.brasser@live.com>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-2/+2
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Fix capitalization in section titlesTopi Reinio2017-08-291-2/+2
| | | | | | | | ...and fix some section titles to be less confusing. Change-Id: If83c3faffead9e2e9be7fc0fb360f1c5b8b1bb51 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* Run includemocs in qtdeclarativeThiago Macieira2017-04-261-0/+2
| | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Port existing qmlInfo callers to qmlWarningRobin Burchell2017-01-111-2/+2
| | | | | | | | | | | | | Now that qmlInfo actually reports info messages, we want to change existing callers to use warning-level messages to preserve the original message level. This was done through: perl -p -i -e "s/qmlInfo\(/qmlWarning\(/" **/*.{cpp,h,qdoc} .. with a little care taken to only add the hunks that should be changed. Change-Id: I511cee11ce0a26ec1048cd2b84c7536b812a0d89 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add \since 5.8 to Binding::delayedMitch Curtis2016-06-011-0/+1
| | | | | | | It wasn't added in 1148d3ace. Change-Id: I2d7495c77bb924500b302f60fb6ab9bf71578967 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Add delayed property to Binding.Michael Brasser2016-04-081-3/+54
| | | | | | | | | | Provide a way to avoid potentially expensive or unexpected intermediate values. [ChangeLog][Binding] Add delayed property to Binding as a way to avoid potentially expensive or unexpected intermediate values. Change-Id: I6aaca570859cc1344eeb9c9f19f32660e8c0b4e0 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Merge remote-tracking branch 'origin/5.6' into 5.7J-P Nurmi2016-03-011-1/+3
|\ | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro Change-Id: I3ca8f0422828191b7e19539c25f31f2d048e9f18
| * Validate Binding only when it is enabledNikita Krupenko2016-02-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Not validate binding if it is disabled and validate when it became enabled. This helps to get read of warnings about not existing property that started to appear since 61ce37de40711ef2d4a6b4989d8183e1711fc47d. Task-number: QTBUG-48623 Change-Id: I4aa92896c04b146a79e606842c1d33661b3f5a70 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-191-14/+20
|/ | | | | | | | | | | 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>
* Fix bogus warning when using Binding on value typesLars Knoll2015-11-271-26/+20
| | | | | | | | | In addition streamline the code and only do the lookup of the property name once. Change-Id: If2bad4b9179214492ff5692cf1f503f927ca2246 Task-number: QTBUG-48918 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Binding: document that property can be grouped if it's a value typeMitch Curtis2015-10-231-0/+17
| | | | | Change-Id: Ie33410027556857fefb87517ebb336c2714bc6c6 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>