Warning, file /plasma/plasma-workspace/kcms/region_language/optionsmodel.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     optionsmodel.h
0003     SPDX-FileCopyrightText: 2021 Han Young <hanyoung@protonmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <array>
0011 
0012 #include <QAbstractListModel>
0013 
0014 #include "regionandlangsettings.h"
0015 
0016 class RegionAndLangSettings;
0017 class KCMRegionAndLang;
0018 
0019 class OptionsModel : public QAbstractListModel
0020 {
0021     Q_OBJECT
0022 public:
0023     enum Roles { Name = Qt::DisplayRole, Subtitle, Example, Page };
0024     explicit OptionsModel(KCMRegionAndLang *parent);
0025     int rowCount(const QModelIndex &parent = QModelIndex()) const override;
0026     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
0027     QHash<int, QByteArray> roleNames() const override;
0028 
0029 public Q_SLOTS:
0030     void handleLangChange();
0031 
0032 private:
0033     QString implicitFormatExampleMsg() const;
0034     QString getNativeName(const QString &locale) const;
0035 
0036     QString m_numberExample;
0037     QString m_timeExample;
0038     QString m_currencyExample;
0039     QString m_measurementExample;
0040     QString m_paperSizeExample;
0041 #ifdef LC_ADDRESS
0042     QString m_addressExample;
0043     QString m_nameStyleExample;
0044     QString m_phoneNumbersExample;
0045 #endif
0046 
0047     std::vector<std::pair<QString, KCM_RegionAndLang::SettingType>> m_staticNames; // title, page
0048 
0049     RegionAndLangSettings *m_settings;
0050 };