]>
cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/kstandarditem.cpp
1 /***************************************************************************
2 * Copyright (C) 2012 by Peter Penz <peter.penz19@gmail.com> *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
18 ***************************************************************************/
20 #include "kstandarditem.h"
21 #include "kstandarditemmodel.h"
23 KStandardItem::KStandardItem(KStandardItem
* parent
) :
30 KStandardItem::KStandardItem(const QString
& text
, KStandardItem
* parent
) :
38 KStandardItem::KStandardItem(const QString
& icon
, const QString
& text
, KStandardItem
* parent
) :
47 KStandardItem::~KStandardItem()
51 void KStandardItem::setText(const QString
& text
)
53 setDataValue("text", text
);
56 QString
KStandardItem::text() const
58 return m_data
["text"].toString();
61 void KStandardItem::setIcon(const QString
& icon
)
63 setDataValue("iconName", icon
);
66 QString
KStandardItem::icon() const
68 return m_data
["iconName"].toString();
71 void KStandardItem::setIconOverlays(const QStringList
& overlays
)
73 setDataValue("iconOverlays", overlays
);
76 QStringList
KStandardItem::iconOverlays() const
78 return m_data
["iconOverlays"].toStringList();
81 void KStandardItem::setGroup(const QString
& group
)
83 setDataValue("group", group
);
86 QString
KStandardItem::group() const
88 return m_data
["group"].toString();
91 void KStandardItem::setDataValue(const QByteArray
& role
, const QVariant
& value
)
93 const QVariant previous
= m_data
.value(role
);
94 if (previous
== value
) {
98 m_data
.insert(role
, value
);
99 onDataValueChanged(role
, value
, previous
);
102 const int index
= m_model
->index(this);
103 QSet
<QByteArray
> changedRoles
;
104 changedRoles
.insert(role
);
105 m_model
->onItemChanged(index
, changedRoles
);
106 emit m_model
->itemsChanged(KItemRangeList() << KItemRange(index
, 1), changedRoles
);
110 QVariant
KStandardItem::dataValue(const QByteArray
& role
) const
115 void KStandardItem::setData(const QHash
<QByteArray
, QVariant
>& values
)
117 const QHash
<QByteArray
, QVariant
> previous
= m_data
;
119 onDataChanged(values
, previous
);
122 QHash
<QByteArray
, QVariant
> KStandardItem::data() const
127 void KStandardItem::onDataValueChanged(const QByteArray
& role
,
128 const QVariant
& current
,
129 const QVariant
& previous
)
136 void KStandardItem::onDataChanged(const QHash
<QByteArray
, QVariant
>& current
,
137 const QHash
<QByteArray
, QVariant
>& previous
)