@@ -71,14 +71,8 @@ void VerticalJournal::setModel(QAbstractItemModel *model)
71 createDelegateModel();
71 createDelegateModel();
73 m_delegateModel->setModel(QVariant::fromValue<QAbstractItemModel *>(model));
73 m_delegateModel->setModel(QVariant::fromValue<QAbstractItemModel *>(model));
74− // Cleanup the existing items
74+
75− for (int i = 0; i < m_columnVisibleItems.count(); ++i) {
75+ cleanupExistingItems();
76− QList<ViewItem> &column = m_columnVisibleItems[i];
77− Q_FOREACH(const ViewItem &item, column)
81− m_indexColumnMap.clear();
83 Q_EMIT modelChanged();
77 Q_EMIT modelChanged();
@@ -97,14 +91,7 @@ void VerticalJournal::setDelegate(QQmlComponent *delegate)
97 createDelegateModel();
91 createDelegateModel();
100− // Cleanup the existing items
94+ cleanupExistingItems();
101− for (int i = 0; i < m_columnVisibleItems.count(); ++i) {
102− QList<ViewItem> &column = m_columnVisibleItems[i];
103− Q_FOREACH(const ViewItem &item, column)
107− m_indexColumnMap.clear();
109 m_delegateModel->setDelegate(delegate);
96 m_delegateModel->setDelegate(delegate);
@@ -432,6 +419,18 @@ void VerticalJournal::positionItem(int modelIndex, QQuickItem *item)
422+void VerticalJournal::cleanupExistingItems()
424+ // Cleanup the existing items
425+ for (int i = 0; i < m_columnVisibleItems.count(); ++i) {
426+ QList<ViewItem> &column = m_columnVisibleItems[i];
427+ Q_FOREACH(const ViewItem &item, column)
431+ m_indexColumnMap.clear();
435void VerticalJournal::releaseItem(const ViewItem &item)
434void VerticalJournal::releaseItem(const ViewItem &item)
437#if (QT_VERSION < QT_VERSION_CHECK(5, 1, 0))
436#if (QT_VERSION < QT_VERSION_CHECK(5, 1, 0))