aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickrepeater.cpp
diff options
context:
space:
mode:
authorMatthew Vogt <matthew.vogt@nokia.com>2012-03-13 15:06:40 +1000
committerMatthew Vogt <matthew.vogt@nokia.com>2012-03-13 15:22:14 +1000
commit784555f3032194a8923d804a8ce84957f113caf6 (patch)
tree6b538cea5bf82bd5288ac180125abd1bb312ddad /src/quick/items/qquickrepeater.cpp
parent1f52c5430144eb7ba6baa7e3954675ca0707b947 (diff)
parent648c80c4c0759efb6e35fac7acc8daad5aab13e2 (diff)
Merge branch 'master' of git://gitorious.org/qt/qtdeclarative into merge-master
Diffstat (limited to 'src/quick/items/qquickrepeater.cpp')
-rw-r--r--src/quick/items/qquickrepeater.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/quick/items/qquickrepeater.cpp b/src/quick/items/qquickrepeater.cpp
index d26ebed85e..1f7578c583 100644
--- a/src/quick/items/qquickrepeater.cpp
+++ b/src/quick/items/qquickrepeater.cpp
@@ -51,7 +51,7 @@
QT_BEGIN_NAMESPACE
QQuickRepeaterPrivate::QQuickRepeaterPrivate()
- : model(0), ownModel(false), inRequest(false), itemCount(0), createFrom(-1)
+ : model(0), ownModel(false), inRequest(false), dataSourceIsObject(false), itemCount(0), createFrom(-1)
{
}
@@ -175,6 +175,12 @@ QQuickRepeater::~QQuickRepeater()
QVariant QQuickRepeater::model() const
{
Q_D(const QQuickRepeater);
+
+ if (d->dataSourceIsObject) {
+ QObject *o = d->dataSourceAsObject;
+ return QVariant::fromValue(o);
+ }
+
return d->dataSource;
}
@@ -194,6 +200,8 @@ void QQuickRepeater::setModel(const QVariant &model)
}
d->dataSource = model;
QObject *object = qvariant_cast<QObject*>(model);
+ d->dataSourceAsObject = object;
+ d->dataSourceIsObject = object != 0;
QQuickVisualModel *vim = 0;
if (object && (vim = qobject_cast<QQuickVisualModel *>(object))) {
if (d->ownModel) {