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<QByteArray> changedRoles;
changedRoles.insert(role);
+ m_model->onItemChanged(index, changedRoles);
emit m_model->itemsChanged(KItemRangeList() << KItemRange(index, 1), changedRoles);
}
}
void KStandardItem::setData(const QHash<QByteArray, QVariant>& values)
{
+ const QHash<QByteArray, QVariant> previous = m_data;
m_data = values;
+ onDataChanged(values, previous);
}
QHash<QByteArray, QVariant> KStandardItem::data() 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<QByteArray, QVariant>& current,
+ const QHash<QByteArray, QVariant>& previous)
+{
+ Q_UNUSED(current);
+ Q_UNUSED(previous);
+}
+