diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-12-18 01:56:06 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-12-18 01:56:06 (GMT) |
commit | 88751e0dcad05cc68cf5160660151287db6e6273 (patch) | |
tree | a7321d7cd07be9c3b018692e3fda031f518f7fbb /src/declarative/util | |
parent | b6ce2683fd8f01ef58d7e9caad133ee6cb9e2ed9 (diff) | |
download | Qt-88751e0dcad05cc68cf5160660151287db6e6273.zip Qt-88751e0dcad05cc68cf5160660151287db6e6273.tar.gz Qt-88751e0dcad05cc68cf5160660151287db6e6273.tar.bz2 |
Use deferred properties in states and transitions
Diffstat (limited to 'src/declarative/util')
-rw-r--r-- | src/declarative/util/qmlstate.cpp | 2 | ||||
-rw-r--r-- | src/declarative/util/qmlstate_p.h | 1 | ||||
-rw-r--r-- | src/declarative/util/qmltransition.cpp | 2 | ||||
-rw-r--r-- | src/declarative/util/qmltransition_p.h | 1 |
4 files changed, 6 insertions, 0 deletions
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp index c2201a6..e41cbaf 100644 --- a/src/declarative/util/qmlstate.cpp +++ b/src/declarative/util/qmlstate.cpp @@ -329,6 +329,8 @@ void QmlState::apply(QmlStateGroup *group, QmlTransition *trans, QmlState *rever { Q_D(QmlState); + qmlExecuteDeferred(this); + cancel(); if (revert) revert->cancel(); diff --git a/src/declarative/util/qmlstate_p.h b/src/declarative/util/qmlstate_p.h index 33e66d8..95a6fc5 100644 --- a/src/declarative/util/qmlstate_p.h +++ b/src/declarative/util/qmlstate_p.h @@ -133,6 +133,7 @@ class Q_DECLARATIVE_EXPORT QmlState : public QObject Q_PROPERTY(QString extend READ extends WRITE setExtends) Q_PROPERTY(QmlList<QmlStateOperation *>* changes READ changes) Q_CLASSINFO("DefaultProperty", "changes") + Q_CLASSINFO("DeferredPropertyNames", "changes"); public: QmlState(QObject *parent=0); diff --git a/src/declarative/util/qmltransition.cpp b/src/declarative/util/qmltransition.cpp index b96ff61..215fc91 100644 --- a/src/declarative/util/qmltransition.cpp +++ b/src/declarative/util/qmltransition.cpp @@ -165,6 +165,8 @@ void QmlTransition::prepare(QmlStateOperation::ActionList &actions, { Q_D(QmlTransition); + qmlExecuteDeferred(this); + if (d->reversed) { for (int ii = d->animations.count() - 1; ii >= 0; --ii) { d->animations.at(ii)->transition(actions, after, QmlAbstractAnimation::Backward); diff --git a/src/declarative/util/qmltransition_p.h b/src/declarative/util/qmltransition_p.h index 3dd0244..0a9b036 100644 --- a/src/declarative/util/qmltransition_p.h +++ b/src/declarative/util/qmltransition_p.h @@ -67,6 +67,7 @@ class Q_DECLARATIVE_EXPORT QmlTransition : public QObject Q_PROPERTY(bool reversible READ reversible WRITE setReversible) Q_PROPERTY(QmlList<QmlAbstractAnimation *>* animations READ animations) Q_CLASSINFO("DefaultProperty", "animations") + Q_CLASSINFO("DeferredPropertyNames", "animations"); public: QmlTransition(QObject *parent=0); |