diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2012-03-28 17:42:32 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-24 02:40:49 +0200 |
commit | afbde67c01baad017cf7ed385a6415e137269e9e (patch) | |
tree | b338b6115c8acc39f0a5e6b293b8792de22761c3 /src/quick/items/qquickvisualdatamodel_p.h | |
parent | 959fd59bd5bb72dde5db4975443c69045ea2fe53 (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.h | 23 |
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; }; |