]>
cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/kstandarditem.cpp
2 * SPDX-FileCopyrightText: 2012 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #include "kstandarditem.h"
8 #include "kstandarditemmodel.h"
10 KStandardItem::KStandardItem(KStandardItem
* parent
) :
17 KStandardItem::KStandardItem(const QString
& text
, KStandardItem
* parent
) :
25 KStandardItem::KStandardItem(const QString
& icon
, const QString
& text
, KStandardItem
* parent
) :
34 KStandardItem::~KStandardItem()
38 void KStandardItem::setText(const QString
& text
)
40 setDataValue("text", text
);
43 QString
KStandardItem::text() const
45 return m_data
["text"].toString();
48 void KStandardItem::setIcon(const QString
& icon
)
50 setDataValue("iconName", icon
);
53 QString
KStandardItem::icon() const
55 return m_data
["iconName"].toString();
58 void KStandardItem::setIconOverlays(const QStringList
& overlays
)
60 setDataValue("iconOverlays", overlays
);
63 QStringList
KStandardItem::iconOverlays() const
65 return m_data
["iconOverlays"].toStringList();
68 void KStandardItem::setGroup(const QString
& group
)
70 setDataValue("group", group
);
73 QString
KStandardItem::group() const
75 return m_data
["group"].toString();
78 void KStandardItem::setDataValue(const QByteArray
& role
, const QVariant
& value
)
80 const QVariant previous
= m_data
.value(role
);
81 if (previous
== value
) {
85 m_data
.insert(role
, value
);
86 onDataValueChanged(role
, value
, previous
);
89 const int index
= m_model
->index(this);
90 QSet
<QByteArray
> changedRoles
;
91 changedRoles
.insert(role
);
92 m_model
->onItemChanged(index
, changedRoles
);
93 Q_EMIT m_model
->itemsChanged(KItemRangeList() << KItemRange(index
, 1), changedRoles
);
97 QVariant
KStandardItem::dataValue(const QByteArray
& role
) const
102 void KStandardItem::setData(const QHash
<QByteArray
, QVariant
>& values
)
104 const QHash
<QByteArray
, QVariant
> previous
= m_data
;
106 onDataChanged(values
, previous
);
109 QHash
<QByteArray
, QVariant
> KStandardItem::data() const
114 void KStandardItem::onDataValueChanged(const QByteArray
& role
,
115 const QVariant
& current
,
116 const QVariant
& previous
)
123 void KStandardItem::onDataChanged(const QHash
<QByteArray
, QVariant
>& current
,
124 const QHash
<QByteArray
, QVariant
>& previous
)