X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/23fff35aeb4143b73666471d7f79f30d808e2cf2..fc4315d57e8fe64d05aad2a1c24800f0149b21da:/src/kitemviews/kstandarditem.cpp diff --git a/src/kitemviews/kstandarditem.cpp b/src/kitemviews/kstandarditem.cpp index d7f9217bf..6cb5b049b 100644 --- a/src/kitemviews/kstandarditem.cpp +++ b/src/kitemviews/kstandarditem.cpp @@ -103,11 +103,19 @@ QString KStandardItem::group() const void KStandardItem::setDataValue(const QByteArray& role, const QVariant& value) { + const QVariant previous = m_data.value(role); + if (previous == value) { + return; + } + m_data.insert(role, value); + onDataValueChanged(role, value, previous); + if (m_model) { const int index = m_model->index(this); QSet changedRoles; changedRoles.insert(role); + m_model->onItemChanged(index, changedRoles); emit m_model->itemsChanged(KItemRangeList() << KItemRange(index, 1), changedRoles); } } @@ -130,7 +138,9 @@ KStandardItem* KStandardItem::parent() const void KStandardItem::setData(const QHash& values) { + const QHash previous = m_data; m_data = values; + onDataChanged(values, previous); } QHash KStandardItem::data() const @@ -142,3 +152,20 @@ QList KStandardItem::children() const { return m_children; } + +void KStandardItem::onDataValueChanged(const QByteArray& role, + const QVariant& current, + const QVariant& previous) +{ + Q_UNUSED(role); + Q_UNUSED(current); + Q_UNUSED(previous); +} + +void KStandardItem::onDataChanged(const QHash& current, + const QHash& previous) +{ + Q_UNUSED(current); + Q_UNUSED(previous); +} +