summaryrefslogtreecommitdiffstats
path: root/src/declarative/util
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-12-18 01:56:06 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-12-18 01:56:06 (GMT)
commit88751e0dcad05cc68cf5160660151287db6e6273 (patch)
treea7321d7cd07be9c3b018692e3fda031f518f7fbb /src/declarative/util
parentb6ce2683fd8f01ef58d7e9caad133ee6cb9e2ed9 (diff)
downloadQt-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.cpp2
-rw-r--r--src/declarative/util/qmlstate_p.h1
-rw-r--r--src/declarative/util/qmltransition.cpp2
-rw-r--r--src/declarative/util/qmltransition_p.h1
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);