File indexing completed on 2023-11-26 08:54:34
0001 /* 0002 SPDX-FileCopyrightText: 2016-2018 Jan Grulich <jgrulich@redhat.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef PLASMA_NM_KCM_IDENTITY_MODEL_H 0008 #define PLASMA_NM_KCM_IDENTITY_MODEL_H 0009 0010 #include <QIdentityProxyModel> 0011 #include <QModelIndex> 0012 0013 class Q_DECL_EXPORT KcmIdentityModel : public QIdentityProxyModel 0014 { 0015 Q_OBJECT 0016 public: 0017 explicit KcmIdentityModel(QObject *parent = nullptr); 0018 ~KcmIdentityModel() override; 0019 0020 enum KcmItemRole { 0021 KcmConnectionIconRole = Qt::UserRole + 100, 0022 KcmConnectionTypeRole, 0023 KcmVpnConnectionExportable, 0024 }; 0025 0026 QHash<int, QByteArray> roleNames() const override; 0027 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; 0028 Qt::ItemFlags flags(const QModelIndex &index) const override; 0029 0030 int columnCount(const QModelIndex &parent = QModelIndex()) const override; 0031 QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; 0032 0033 QModelIndex mapToSource(const QModelIndex &proxyIndex) const override; 0034 }; 0035 0036 #endif // PLASMA_NM_KCM_IDENTITY_MODEL_H