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 #ifndef KSTANDARDITEM_H
21 #define KSTANDARDITEM_H
23 #include "dolphin_export.h"
31 class KStandardItemModel
;
34 * @brief Represents and item of KStandardItemModel.
36 * Provides setter- and getter-methods for the most commonly
37 * used roles. It is possible to assign values for custom
38 * roles by using setDataValue().
40 class DOLPHIN_EXPORT KStandardItem
: public QObject
44 explicit KStandardItem(KStandardItem
* parent
= nullptr);
45 explicit KStandardItem(const QString
& text
, KStandardItem
* parent
= nullptr);
46 KStandardItem(const QString
& icon
, const QString
& text
, KStandardItem
* parent
= nullptr);
47 virtual ~KStandardItem();
50 * Sets the text for the "text"-role.
52 void setText(const QString
& text
);
56 * Sets the icon for the "iconName"-role.
58 void setIcon(const QString
& icon
);
61 void setIconOverlays(const QStringList
& overlays
);
62 QStringList
iconOverlays() const;
65 * Sets the group for the "group"-role.
67 void setGroup(const QString
& group
);
68 QString
group() const;
70 void setDataValue(const QByteArray
& role
, const QVariant
& value
);
71 QVariant
dataValue(const QByteArray
& role
) const;
73 void setData(const QHash
<QByteArray
, QVariant
>& values
);
74 QHash
<QByteArray
, QVariant
> data() const;
77 virtual void onDataValueChanged(const QByteArray
& role
,
78 const QVariant
& current
,
79 const QVariant
& previous
);
81 virtual void onDataChanged(const QHash
<QByteArray
, QVariant
>& current
,
82 const QHash
<QByteArray
, QVariant
>& previous
);
85 KStandardItemModel
* m_model
;
87 QHash
<QByteArray
, QVariant
> m_data
;
89 friend class KStandardItemModel
;