AusweisApp
Lade ...
Suche ...
Keine Treffer
ChatModel.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include <QAbstractListModel>
12#include <QList>
13#include <QSet>
14#include <QSharedPointer>
15#include <QSortFilterProxyModel>
16
17#include "Env.h"
20
21
22class test_ChatModel;
23class test_UIPlugInQml;
24
25
26namespace governikus
27{
28
29struct cvcertificate_st;
30
32 : public QAbstractListModel
33{
34 Q_OBJECT
35 friend class Env;
36 friend class ::test_ChatModel;
37 friend class ::test_UIPlugInQml;
38
39 Q_PROPERTY(QSortFilterProxyModel * optional READ getFilterOptionalModel CONSTANT)
40 Q_PROPERTY(QSortFilterProxyModel * required READ getFilterRequiredModel CONSTANT)
41 Q_PROPERTY(QSortFilterProxyModel * write READ getFilterWriteModel CONSTANT)
42
43 private:
44 QSharedPointer<WorkflowContext> mContext;
45 QList<AccessRight> mAllRights;
46 QSet<AccessRight> mOptionalRights;
47 QSet<AccessRight> mSelectedRights;
48 QSortFilterProxyModel mFilterOptionalModel;
49 QSortFilterProxyModel mFilterRequiredModel;
50 QSortFilterProxyModel mFilterReadModel;
51 QSortFilterProxyModel mFilterWriteModel;
52
53 enum ChatRoles
54 {
55 NAME_ROLE = Qt::UserRole + 1,
56 OPTIONAL_ROLE,
57 SELECTED_ROLE,
58 WRITE_RIGHT,
59 };
60
61 ChatModel();
62 ~ChatModel() override = default;
63
64 void initFilterModel(QSortFilterProxyModel& pModel, QAbstractItemModel* pSourceModel, int pFilterRole, const QString& pFilter) const;
65 void setOrderedAllRights(const QSet<AccessRight>& pAllRights);
66
67 private Q_SLOTS:
68 void onAuthenticationDataChanged(QSharedPointer<AccessRightManager> pAccessRightManager);
69
70 public:
71 void resetContext(const QSharedPointer<WorkflowContext>& pContext = QSharedPointer<WorkflowContext>());
72
73 [[nodiscard]] int rowCount(const QModelIndex& = QModelIndex()) const override;
74 [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
75 [[nodiscard]] bool setData(const QModelIndex& pIndex, const QVariant& pValue, int pRole) override;
76 [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
77
78 Q_INVOKABLE void transferAccessRights() const;
79 [[nodiscard]] Q_INVOKABLE QSortFilterProxyModel* getFilterOptionalModel();
80 [[nodiscard]] Q_INVOKABLE QSortFilterProxyModel* getFilterRequiredModel();
81 [[nodiscard]] Q_INVOKABLE QSortFilterProxyModel* getFilterWriteModel();
82};
83
84
85} // namespace governikus
Definition: ChatModel.h:33
Q_INVOKABLE QSortFilterProxyModel * getFilterRequiredModel()
Definition: ChatModel.cpp:215
int rowCount(const QModelIndex &=QModelIndex()) const override
Definition: ChatModel.cpp:112
QSortFilterProxyModel * optional
Definition: ChatModel.h:39
QSortFilterProxyModel * required
Definition: ChatModel.h:40
Q_INVOKABLE QSortFilterProxyModel * getFilterWriteModel()
Definition: ChatModel.cpp:221
void resetContext(const QSharedPointer< WorkflowContext > &pContext=QSharedPointer< WorkflowContext >())
Definition: ChatModel.cpp:52
Q_INVOKABLE QSortFilterProxyModel * getFilterOptionalModel()
Definition: ChatModel.cpp:209
QHash< int, QByteArray > roleNames() const override
Definition: ChatModel.cpp:158
bool setData(const QModelIndex &pIndex, const QVariant &pValue, int pRole) override
Definition: ChatModel.cpp:169
QSortFilterProxyModel * write
Definition: ChatModel.h:41
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: ChatModel.cpp:118
Q_INVOKABLE void transferAccessRights() const
Definition: ChatModel.cpp:199
Definition: Env.h:42
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16