Warning, file /plasma/plasma-workspace/kcms/icons/iconsizecategorymodel.cpp 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 #include "iconsizecategorymodel.h"
0008 #include <KIconLoader>
0009 #include <KLocalizedString>
0010 
0011 IconSizeCategoryModel::IconSizeCategoryModel(QObject *parent)
0012     : QAbstractListModel(parent)
0013     , m_data({
0014           {QStringLiteral("mainToolbarSize"), i18n("Main Toolbar"), QStringLiteral("MainToolbar"), KIconLoader::MainToolbar},
0015           {QStringLiteral("toolbarSize"), i18n("Secondary Toolbars"), QStringLiteral("Toolbar"), KIconLoader::Toolbar},
0016           {QStringLiteral("smallSize"), i18n("Small Icons"), QStringLiteral("Small"), KIconLoader::Small},
0017           {QStringLiteral("dialogSize"), i18n("Dialogs"), QStringLiteral("Dialog"), KIconLoader::Dialog},
0018       })
0019 {
0020 }
0021 
0022 IconSizeCategoryModel::~IconSizeCategoryModel() = default;
0023 
0024 int IconSizeCategoryModel::rowCount(const QModelIndex &parent) const
0025 {
0026     if (parent.isValid()) {
0027         return 0;
0028     }
0029 
0030     return m_data.count();
0031 }
0032 
0033 QVariant IconSizeCategoryModel::data(const QModelIndex &index, int role) const
0034 {
0035     if (!index.isValid() || index.row() >= m_data.count()) {
0036         return QVariant();
0037     }
0038 
0039     const auto &item = m_data.at(index.row());
0040 
0041     switch (role) {
0042     case Qt::DisplayRole:
0043         return item.display;
0044     case ConfigKeyRole:
0045         return item.configKey;
0046     case ConfigSectionRole:
0047         return item.configSection;
0048     case KIconLoaderGroupRole:
0049         return item.kIconloaderGroup;
0050     }
0051 
0052     return QVariant();
0053 }
0054 
0055 QHash<int, QByteArray> IconSizeCategoryModel::roleNames() const
0056 {
0057     QHash<int, QByteArray> roleNames = QAbstractListModel::roleNames();
0058     roleNames[ConfigKeyRole] = QByteArrayLiteral("configKey");
0059     roleNames[ConfigSectionRole] = QByteArrayLiteral("configSectionRole");
0060     roleNames[KIconLoaderGroupRole] = QByteArrayLiteral("KIconLoaderGroup");
0061     return roleNames;
0062 }