diff options
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kstandarditem.cpp | 1 | ||||
| -rw-r--r-- | src/kitemviews/kstandarditemmodel.cpp | 8 | ||||
| -rw-r--r-- | src/kitemviews/kstandarditemmodel.h | 10 |
3 files changed, 10 insertions, 9 deletions
diff --git a/src/kitemviews/kstandarditem.cpp b/src/kitemviews/kstandarditem.cpp index 22c3a03e9..dc03a0d25 100644 --- a/src/kitemviews/kstandarditem.cpp +++ b/src/kitemviews/kstandarditem.cpp @@ -108,6 +108,7 @@ void KStandardItem::setDataValue(const QByteArray& role, const QVariant& value) const int index = m_model->index(this); QSet<QByteArray> changedRoles; changedRoles.insert(role); + m_model->onItemChanged(index, changedRoles); emit m_model->itemsChanged(KItemRangeList() << KItemRange(index, 1), changedRoles); } } diff --git a/src/kitemviews/kstandarditemmodel.cpp b/src/kitemviews/kstandarditemmodel.cpp index ffacd3c59..545a06b5d 100644 --- a/src/kitemviews/kstandarditemmodel.cpp +++ b/src/kitemviews/kstandarditemmodel.cpp @@ -49,14 +49,14 @@ void KStandardItemModel::insertItem(int index, KStandardItem* item) } } -void KStandardItemModel::replaceItem(int index, KStandardItem* item) +void KStandardItemModel::changeItem(int index, KStandardItem* item) { if (item && index >= 0 && index < count()) { item->m_model = this; QSet<QByteArray> changedRoles; - KStandardItem* oldItem= m_items[index]; + KStandardItem* oldItem = m_items[index]; const QHash<QByteArray, QVariant> oldData = oldItem->data(); const QHash<QByteArray, QVariant> newData = item->data(); @@ -78,7 +78,7 @@ void KStandardItemModel::replaceItem(int index, KStandardItem* item) m_items[index] = item; m_indexesForItems.insert(item, index); - onItemReplaced(index); + onItemChanged(index, changedRoles); emit itemsChanged(KItemRangeList() << KItemRange(index, 1), changedRoles); } else { kWarning() << "No item available to replace on the given index" << index; @@ -196,7 +196,7 @@ void KStandardItemModel::onItemInserted(int index) Q_UNUSED(index); } -void KStandardItemModel::onItemReplaced(int index) +void KStandardItemModel::onItemChanged(int index, const QSet<QByteArray>& changedRoles) { Q_UNUSED(index); } diff --git a/src/kitemviews/kstandarditemmodel.h b/src/kitemviews/kstandarditemmodel.h index 510342a81..be5b7c438 100644 --- a/src/kitemviews/kstandarditemmodel.h +++ b/src/kitemviews/kstandarditemmodel.h @@ -52,11 +52,11 @@ public: void insertItem(int index, KStandardItem* item); /** - * Replaces the item on the index \a index by \a item. + * Changes the item on the index \a index to \a item. * KStandardItemModel takes the ownership of the item. The * old item gets deleted. */ - void replaceItem(int index, KStandardItem* item); + void changeItem(int index, KStandardItem* item); void removeItem(int index); KStandardItem* item(int index) const; @@ -84,10 +84,10 @@ protected: virtual void onItemInserted(int index); /** - * Is invoked after an item has been replaced and before the signal - * itemsChanged() gets emitted. + * Is invoked after an item or one of its roles has been changed and + * before the signal itemsChanged() gets emitted. */ - virtual void onItemReplaced(int index); + virtual void onItemChanged(int index, const QSet<QByteArray>& changedRoles); /** * Is invoked after an item has been removed and before the signal |
