#include "kstandarditem.h"
#include <KDebug>
+#include "kstandarditemmodel.h"
KStandardItem::KStandardItem(KStandardItem* parent) :
m_parent(parent),
setText(text);
}
+KStandardItem::KStandardItem(const KStandardItem& item) :
+ m_parent(item.m_parent),
+ m_children(item.m_children),
+ m_model(item.m_model),
+ m_data(item.m_data)
+{
+}
+
KStandardItem::~KStandardItem()
{
}
void KStandardItem::setText(const QString& text)
{
- m_data.insert("text", text);
+ setDataValue("text", text);
}
QString KStandardItem::text() const
void KStandardItem::setIcon(const QIcon& icon)
{
- m_data.insert("iconName", icon.name());
+ setDataValue("iconName", icon.name());
}
QIcon KStandardItem::icon() const
void KStandardItem::setGroup(const QString& group)
{
- m_data.insert("group", group);
+ setDataValue("group", group);
}
QString KStandardItem::group() const
void KStandardItem::setDataValue(const QByteArray& role, const QVariant& value)
{
m_data.insert(role, value);
+ if (m_model) {
+ const int index = m_model->index(this);
+ QSet<QByteArray> changedRoles;
+ changedRoles.insert(role);
+ emit m_model->itemsChanged(KItemRangeList() << KItemRange(index, 1), changedRoles);
+ }
}
QVariant KStandardItem::dataValue(const QByteArray& role) const
return m_parent;
}
+void KStandardItem::setData(const QHash<QByteArray, QVariant>& values)
+{
+ m_data = values;
+}
+
QHash<QByteArray, QVariant> KStandardItem::data() const
{
return m_data;