summaryrefslogtreecommitdiffstats
path: root/examples/animation/appchooser/main.cpp
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eblomfel@trolltech.com>2009-05-06 10:25:41 +0200
committerEskil Abrahamsen Blomfeldt <eblomfel@trolltech.com>2009-05-06 10:25:41 +0200
commit48ca4182e518a6439264f87b54e691deecc59e20 (patch)
tree2e11833c047e8c2df765cf76b699e3c38bcd56a8 /examples/animation/appchooser/main.cpp
parenta9fd7d6881107b7e06362076c587530124fb1484 (diff)
Instead of adding animations for all properties to all transitions, we use
the default animation concept, since this is its intended use.
Diffstat (limited to 'examples/animation/appchooser/main.cpp')
-rw-r--r--examples/animation/appchooser/main.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/examples/animation/appchooser/main.cpp b/examples/animation/appchooser/main.cpp
index 02302d9d41..1c63abadab 100644
--- a/examples/animation/appchooser/main.cpp
+++ b/examples/animation/appchooser/main.cpp
@@ -90,15 +90,16 @@ void createStates(const QObjectList &objects,
for (int i = 0; i < objects.size(); ++i) {
QState *state = new QState(parent);
state->assignProperty(objects.at(i), "geometry", selectedRect);
- QAbstractTransition *trans = parent->addTransition(objects.at(i), SIGNAL(clicked()), state);
- for (int j = 0; j < objects.size(); ++j) {
- QPropertyAnimation *animation = new QPropertyAnimation(objects.at(j), "geometry");
- animation->setDuration(2000);
- trans->addAnimation(animation);
- }
+ parent->addTransition(objects.at(i), SIGNAL(clicked()), state);
}
}
+void createAnimations(const QObjectList &objects, QStateMachine *machine)
+{
+ for (int i=0; i<objects.size(); ++i)
+ machine->addDefaultAnimation(new QPropertyAnimation(objects.at(i), "geometry"));
+}
+
int main(int argc, char **argv)
{
Q_INIT_RESOURCE(appchooser);
@@ -143,7 +144,10 @@ int main(int argc, char **argv)
QState *idleState = new QState(group);
group->setInitialState(idleState);
- createStates(QObjectList() << p1 << p2 << p3 << p4, selectedRect, group);
+ QObjectList objects;
+ objects << p1 << p2 << p3 << p4;
+ createStates(objects, selectedRect, group);
+ createAnimations(objects, &machine);
machine.setInitialState(group);
machine.start();