File indexing completed on 2024-04-28 09:46:00
0001 /* 0002 SPDX-FileCopyrightText: 2008, 2014 Rolf Eike Beer <kde@opensource.sf-tec.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 #ifndef GROUPEDITPROXYMODEL_H 0007 #define GROUPEDITPROXYMODEL_H 0008 0009 #include "core/kgpgkey.h" 0010 0011 #include <QSortFilterProxyModel> 0012 0013 class KGpgNode; 0014 class KGpgItemModel; 0015 0016 class GroupEditProxyModel: public QSortFilterProxyModel 0017 { 0018 public: 0019 explicit GroupEditProxyModel(QObject * parent, const bool invert, QList<KGpgNode *> *ids, const KgpgCore::KgpgKeyTrust mintrust = KgpgCore::TRUST_FULL); 0020 0021 void setKeyModel(KGpgItemModel *); 0022 0023 KGpgNode *nodeForIndex(const QModelIndex &index) const; 0024 0025 int rowCount(const QModelIndex &parent = QModelIndex()) const override; 0026 0027 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; 0028 bool hasChildren(const QModelIndex &parent) const override; 0029 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; 0030 0031 protected: 0032 bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; 0033 int columnCount(const QModelIndex &) const override; 0034 0035 private: 0036 KGpgItemModel *m_model; 0037 bool m_invert; 0038 QList<KGpgNode *> *m_ids; 0039 KgpgCore::KgpgKeyTrust m_mintrust; 0040 }; 0041 0042 #endif