summaryrefslogtreecommitdiffstats
path: root/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
diff options
context:
space:
mode:
authorJoona Petrell <joona.t.petrell@nokia.com>2010-02-16 06:16:38 (GMT)
committerJoona Petrell <joona.t.petrell@nokia.com>2010-02-17 05:11:40 (GMT)
commit060d833d3e0fd5a99876e0717fb26ef93fae30e1 (patch)
tree75dff625d18ca442088c8b8b07b9979e5cb55544 /src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
parent7f6317c25e6c1ec457971ab70c850d4d2bbe4cd2 (diff)
downloadQt-060d833d3e0fd5a99876e0717fb26ef93fae30e1.zip
Qt-060d833d3e0fd5a99876e0717fb26ef93fae30e1.tar.gz
Qt-060d833d3e0fd5a99876e0717fb26ef93fae30e1.tar.bz2
Add missing NOTIFY signals to various QML item class properties
Reviewed-by: Aaron Kennedy
Diffstat (limited to 'src/declarative/graphicsitems/qmlgraphicsrepeater.cpp')
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsrepeater.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
index f0e5bb3..4b01952 100644
--- a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
@@ -157,6 +157,9 @@ QVariant QmlGraphicsRepeater::model() const
void QmlGraphicsRepeater::setModel(const QVariant &model)
{
Q_D(QmlGraphicsRepeater);
+ if (d->dataSource == model)
+ return;
+
clear();
if (d->model) {
disconnect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int)));
@@ -168,6 +171,7 @@ void QmlGraphicsRepeater::setModel(const QVariant &model)
*/
}
d->dataSource = model;
+ emit modelChanged();
QObject *object = qvariant_cast<QObject*>(model);
QmlGraphicsVisualModel *vim = 0;
if (object && (vim = qobject_cast<QmlGraphicsVisualModel *>(object))) {
@@ -219,6 +223,10 @@ QmlComponent *QmlGraphicsRepeater::delegate() const
void QmlGraphicsRepeater::setDelegate(QmlComponent *delegate)
{
Q_D(QmlGraphicsRepeater);
+ if (QmlGraphicsVisualDataModel *dataModel = qobject_cast<QmlGraphicsVisualDataModel*>(d->model))
+ if (delegate == dataModel->delegate())
+ return;
+
if (!d->ownModel) {
d->model = new QmlGraphicsVisualDataModel(qmlContext(this));
d->ownModel = true;
@@ -226,6 +234,7 @@ void QmlGraphicsRepeater::setDelegate(QmlComponent *delegate)
if (QmlGraphicsVisualDataModel *dataModel = qobject_cast<QmlGraphicsVisualDataModel*>(d->model)) {
dataModel->setDelegate(delegate);
regenerate();
+ emit delegateChanged();
}
}