diff options
author | Joona Petrell <joona.t.petrell@nokia.com> | 2010-02-16 06:16:38 (GMT) |
---|---|---|
committer | Joona Petrell <joona.t.petrell@nokia.com> | 2010-02-17 05:11:40 (GMT) |
commit | 060d833d3e0fd5a99876e0717fb26ef93fae30e1 (patch) | |
tree | 75dff625d18ca442088c8b8b07b9979e5cb55544 /src/declarative/graphicsitems/qmlgraphicsrepeater.cpp | |
parent | 7f6317c25e6c1ec457971ab70c850d4d2bbe4cd2 (diff) | |
download | Qt-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.cpp | 9 |
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(); } } |