2 * SPDX-FileCopyrightText: 2012 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #ifndef KSTANDARDITEM_H
8 #define KSTANDARDITEM_H
10 #include "dolphin_export.h"
18 class KStandardItemModel
;
21 * @brief Represents and item of KStandardItemModel.
23 * Provides setter- and getter-methods for the most commonly
24 * used roles. It is possible to assign values for custom
25 * roles by using setDataValue().
27 class DOLPHIN_EXPORT KStandardItem
: public QObject
31 explicit KStandardItem(KStandardItem
* parent
= nullptr);
32 explicit KStandardItem(const QString
& text
, KStandardItem
* parent
= nullptr);
33 KStandardItem(const QString
& icon
, const QString
& text
, KStandardItem
* parent
= nullptr);
34 virtual ~KStandardItem();
37 * Sets the text for the "text"-role.
39 void setText(const QString
& text
);
43 * Sets the icon for the "iconName"-role.
45 void setIcon(const QString
& icon
);
48 void setIconOverlays(const QStringList
& overlays
);
49 QStringList
iconOverlays() const;
52 * Sets the group for the "group"-role.
54 void setGroup(const QString
& group
);
55 QString
group() const;
57 void setDataValue(const QByteArray
& role
, const QVariant
& value
);
58 QVariant
dataValue(const QByteArray
& role
) const;
60 void setData(const QHash
<QByteArray
, QVariant
>& values
);
61 QHash
<QByteArray
, QVariant
> data() const;
64 virtual void onDataValueChanged(const QByteArray
& role
,
65 const QVariant
& current
,
66 const QVariant
& previous
);
68 virtual void onDataChanged(const QHash
<QByteArray
, QVariant
>& current
,
69 const QHash
<QByteArray
, QVariant
>& previous
);
72 KStandardItemModel
* m_model
;
74 QHash
<QByteArray
, QVariant
> m_data
;
76 friend class KStandardItemModel
;