Changeset View
Changeset View
Standalone View
Standalone View
src/delegaterecycler.cpp
Show First 20 Lines • Show All 215 Lines • ▼ Show 20 Line(s) | 207 | { | |||
---|---|---|---|---|---|
216 | if (!m_propertiesTracker) { | 216 | if (!m_propertiesTracker) { | ||
217 | static QMap<QQmlEngine*, QQmlComponent*> propertiesTrackerComponent; | 217 | static QMap<QQmlEngine*, QQmlComponent*> propertiesTrackerComponent; | ||
218 | auto engine = qmlEngine(this); | 218 | auto engine = qmlEngine(this); | ||
219 | auto it = propertiesTrackerComponent.find(engine); | 219 | auto it = propertiesTrackerComponent.find(engine); | ||
220 | if (it == propertiesTrackerComponent.end()) { | 220 | if (it == propertiesTrackerComponent.end()) { | ||
221 | connect(engine, &QObject::destroyed, engine, [engine] { propertiesTrackerComponent.remove(engine); }); | 221 | connect(engine, &QObject::destroyed, engine, [engine] { propertiesTrackerComponent.remove(engine); }); | ||
222 | it = propertiesTrackerComponent.insert(engine, new QQmlComponent(engine, engine)); | 222 | it = propertiesTrackerComponent.insert(engine, new QQmlComponent(engine, engine)); | ||
223 | 223 | | |||
224 | (*it)->setData(QByteArrayLiteral("import QtQuick 2.3\nQtObject{property int trackedIndex: index; property var trackedModel: typeof model != 'undefined' ? model : null; property var trackedModelData: typeof modelData != 'undefined' ? modelData : null}"), QUrl()); | 224 | (*it)->setData(QByteArrayLiteral("import QtQuick 2.3\nQtObject{property int trackedIndex: index; property var trackedModel: typeof model != 'undefined' ? model : null; property var trackedModelData: typeof modelData != 'undefined' ? modelData : null}"), QUrl(QStringLiteral("delegaterecycler.cpp"))); | ||
225 | } | 225 | } | ||
226 | m_propertiesTracker = (*it)->create(QQmlEngine::contextForObject(this)); | 226 | m_propertiesTracker = (*it)->create(QQmlEngine::contextForObject(this)); | ||
227 | 227 | | |||
228 | connect(m_propertiesTracker, SIGNAL(trackedIndexChanged()), this, SLOT(syncIndex())); | 228 | connect(m_propertiesTracker, SIGNAL(trackedIndexChanged()), this, SLOT(syncIndex())); | ||
229 | connect(m_propertiesTracker, SIGNAL(trackedModelChanged()), this, SLOT(syncModel())); | 229 | connect(m_propertiesTracker, SIGNAL(trackedModelChanged()), this, SLOT(syncModel())); | ||
230 | connect(m_propertiesTracker, SIGNAL(trackedModelDataChanged()), this, SLOT(syncModelData())); | 230 | connect(m_propertiesTracker, SIGNAL(trackedModelDataChanged()), this, SLOT(syncModelData())); | ||
231 | } | 231 | } | ||
232 | 232 | | |||
▲ Show 20 Lines • Show All 180 Lines • Show Last 20 Lines |