***************************************************************************/
#include "kstandarditem.h"
-
-#include <KDebug>
#include "kstandarditemmodel.h"
KStandardItem::KStandardItem(KStandardItem* parent) :
m_parent(parent),
m_children(),
- m_model(0),
+ m_model(nullptr),
m_data()
{
}
KStandardItem::KStandardItem(const QString& text, KStandardItem* parent) :
m_parent(parent),
m_children(),
- m_model(0),
+ m_model(nullptr),
m_data()
{
setText(text);
KStandardItem::KStandardItem(const QString& icon, const QString& text, KStandardItem* parent) :
m_parent(parent),
m_children(),
- m_model(0),
+ m_model(nullptr),
m_data()
{
setIcon(icon);
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;
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