summaryrefslogtreecommitdiffstats
path: root/src/declarative/util/qmlstate.cpp
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@trolltech.com>2010-02-23 08:24:31 (GMT)
committerGunnar Sletta <gunnar@trolltech.com>2010-02-23 08:24:31 (GMT)
commita948f901b196bab121cb8b5736204b4ce0c09e94 (patch)
treee87ac8e797b93203998c1bbb32c2e1120567b137 /src/declarative/util/qmlstate.cpp
parentac99b3e243b331d26815b80aab97cdaf0ed06b0f (diff)
parent2e417e2a3963151a2b3a3033e6f5bb0e106d8db4 (diff)
downloadQt-a948f901b196bab121cb8b5736204b4ce0c09e94.zip
Qt-a948f901b196bab121cb8b5736204b4ce0c09e94.tar.gz
Qt-a948f901b196bab121cb8b5736204b4ce0c09e94.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2
Diffstat (limited to 'src/declarative/util/qmlstate.cpp')
-rw-r--r--src/declarative/util/qmlstate.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp
index 7ecbd79..4462b1f 100644
--- a/src/declarative/util/qmlstate.cpp
+++ b/src/declarative/util/qmlstate.cpp
@@ -242,16 +242,30 @@ void QmlState::setExtends(const QString &extends)
extends another state, then the changes are applied against the state being
extended.
*/
-QmlList<QmlStateOperation *> *QmlState::changes()
+QmlListProperty<QmlStateOperation> QmlState::changes()
{
Q_D(QmlState);
- return &d->operations;
+ return QmlListProperty<QmlStateOperation>(this, &d->operations, QmlStatePrivate::operations_append,
+ QmlStatePrivate::operations_count, QmlStatePrivate::operations_at,
+ QmlStatePrivate::operations_clear);
+}
+
+int QmlState::operationCount() const
+{
+ Q_D(const QmlState);
+ return d->operations.count();
+}
+
+QmlStateOperation *QmlState::operationAt(int index) const
+{
+ Q_D(const QmlState);
+ return d->operations.at(index);
}
QmlState &QmlState::operator<<(QmlStateOperation *op)
{
Q_D(QmlState);
- d->operations.append(op);
+ d->operations.append(QmlStatePrivate::OperationGuard(op, &d->operations));
return *this;
}