diff options
author | Martin Jones <martin.jones@nokia.com> | 2009-08-28 03:38:48 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2009-08-28 03:38:48 (GMT) |
commit | d7400c910765bcbff6927143c348c771310b9d44 (patch) | |
tree | 11214216673ff196ddf211d28285f2ad6b50548a /src/declarative/fx | |
parent | 2d125f72dafc664b2932b0592b9dc4cd221051e0 (diff) | |
parent | d0a9498c3acd66ccbd6feecf9db63414acb77e48 (diff) | |
download | Qt-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.cpp | 14 |
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) |