aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickvisualdatamodel_p.h
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2012-03-28 17:42:32 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-24 02:40:49 +0200
commitafbde67c01baad017cf7ed385a6415e137269e9e (patch)
treeb338b6115c8acc39f0a5e6b293b8792de22761c3 /src/quick/items/qquickvisualdatamodel_p.h
parent959fd59bd5bb72dde5db4975443c69045ea2fe53 (diff)
Don't construct VisualDataModel attached properties unless requested.
This saves allocating a QObject per item model in the common case. Change-Id: I0e77e6c6c0c64ac6c5e482ef55e194c68e778b32 Reviewed-by: Bea Lam <bea.lam@nokia.com>
Diffstat (limited to 'src/quick/items/qquickvisualdatamodel_p.h')
-rw-r--r--src/quick/items/qquickvisualdatamodel_p.h23
1 files changed, 3 insertions, 20 deletions
diff --git a/src/quick/items/qquickvisualdatamodel_p.h b/src/quick/items/qquickvisualdatamodel_p.h
index 1752e40892..114d394dc2 100644
--- a/src/quick/items/qquickvisualdatamodel_p.h
+++ b/src/quick/items/qquickvisualdatamodel_p.h
@@ -196,14 +196,9 @@ class QQuickVisualDataModelAttached : public QObject
Q_PROPERTY(QStringList groups READ groups WRITE setGroups NOTIFY groupsChanged)
Q_PROPERTY(bool isUnresolved READ isUnresolved NOTIFY unresolvedChanged)
public:
- QQuickVisualDataModelAttached(QObject *parent)
- : m_cacheItem(0)
- , m_previousGroups(0)
- , m_modelChanged(false)
- {
- QQml_setParent_noEvent(this, parent);
- }
- ~QQuickVisualDataModelAttached() { attachedProperties.remove(parent()); }
+ QQuickVisualDataModelAttached(QObject *parent);
+ QQuickVisualDataModelAttached(QQuickVisualDataModelItem *cacheItem, QObject *parent);
+ ~QQuickVisualDataModelAttached() {}
void setCacheItem(QQuickVisualDataModelItem *item);
@@ -218,16 +213,6 @@ public:
void emitUnresolvedChanged() { emit unresolvedChanged(); }
- static QQuickVisualDataModelAttached *properties(QObject *obj)
- {
- QQuickVisualDataModelAttached *rv = attachedProperties.value(obj);
- if (!rv) {
- rv = new QQuickVisualDataModelAttached(obj);
- attachedProperties.insert(obj, rv);
- }
- return rv;
- }
-
Q_SIGNALS:
void modelChanged();
void groupsChanged();
@@ -239,8 +224,6 @@ public:
int m_previousIndex[QQuickListCompositor::MaximumGroupCount];
bool m_modelChanged;
- static QHash<QObject*, QQuickVisualDataModelAttached*> attachedProperties;
-
friend class QQuickVisualDataModelAttachedMetaObject;
};