summaryrefslogtreecommitdiffstats
path: root/src/declarative/fx
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2009-08-28 03:38:48 (GMT)
committerMartin Jones <martin.jones@nokia.com>2009-08-28 03:38:48 (GMT)
commitd7400c910765bcbff6927143c348c771310b9d44 (patch)
tree11214216673ff196ddf211d28285f2ad6b50548a /src/declarative/fx
parent2d125f72dafc664b2932b0592b9dc4cd221051e0 (diff)
parentd0a9498c3acd66ccbd6feecf9db63414acb77e48 (diff)
downloadQt-d7400c910765bcbff6927143c348c771310b9d44.zip
Qt-d7400c910765bcbff6927143c348c771310b9d44.tar.gz
Qt-d7400c910765bcbff6927143c348c771310b9d44.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/declarative/fx')
-rw-r--r--src/declarative/fx/qfxrepeater.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/declarative/fx/qfxrepeater.cpp b/src/declarative/fx/qfxrepeater.cpp
index 67d4d69..e6ee242 100644
--- a/src/declarative/fx/qfxrepeater.cpp
+++ b/src/declarative/fx/qfxrepeater.cpp
@@ -257,6 +257,20 @@ void QFxRepeater::regenerate()
if (QFxItem *item = d->addItem(ctxt, lastItem))
lastItem = item;
}
+ } else if (d->dataSource.type() == QMetaType::QVariantList) {
+ QVariantList sl = qvariant_cast<QVariantList>(d->dataSource);
+
+ count = sl.size();
+ for (int ii = 0; ii < count; ++ii) {
+ QmlContext *ctxt = new QmlContext(qmlContext(this), this);
+ d->deletables << ctxt;
+
+ ctxt->setContextProperty(QLatin1String("index"), ii);
+ ctxt->setContextProperty(QLatin1String("modelData"), sl.at(ii));
+
+ if (QFxItem *item = d->addItem(ctxt, lastItem))
+ lastItem = item;
+ }
} else if (QmlMetaType::isList(d->dataSource)) {
count = QmlMetaType::listCount(d->dataSource);
if (count <= 0)