Warning, file /plasma/plasma-workspace/kcms/icons/iconsizecategorymodel.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2019 Benjamin Port <benjamin.port@enioka.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QAbstractListModel> 0010 #include <QString> 0011 #include <QVector> 0012 0013 struct IconSizeCategoryModelData { 0014 QString configKey; 0015 QString display; 0016 QString configSection; 0017 int kIconloaderGroup; 0018 }; 0019 0020 Q_DECLARE_TYPEINFO(IconSizeCategoryModelData, Q_MOVABLE_TYPE); 0021 0022 class IconSizeCategoryModel : public QAbstractListModel 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 IconSizeCategoryModel(QObject *parent); 0028 ~IconSizeCategoryModel() override; 0029 0030 enum Roles { 0031 ConfigKeyRole = Qt::UserRole + 1, 0032 ConfigSectionRole, 0033 KIconLoaderGroupRole, 0034 }; 0035 0036 int rowCount(const QModelIndex &parent = QModelIndex()) const override; 0037 QVariant data(const QModelIndex &index, int role) const override; 0038 QHash<int, QByteArray> roleNames() const override; 0039 0040 void load(); 0041 0042 Q_SIGNALS: 0043 void categorySelectedIndexChanged(); 0044 0045 private: 0046 QVector<IconSizeCategoryModelData> m_data; 0047 };