AusweisApp2
HistoryModel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "HistoryProxyModel.h"
11 #include "HistorySettings.h"
14 
15 #include <QAbstractListModel>
16 
17 
18 class test_HistoryModel;
19 
20 namespace governikus
21 {
22 
24  : public QAbstractListModel
25 {
26  Q_OBJECT
27  Q_PROPERTY(HistoryProxyModel * filter READ getFilterModel CONSTANT)
30  Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY fireEnabledChanged)
31  Q_PROPERTY(bool empty READ isEmpty NOTIFY fireEmptyChanged)
32 
33  HistoryProxyModel mFilterModel;
34  ProviderNameFilterModel mNameFilterModel;
35  HistoryModelSearchFilter mHistoryModelSearchFilter;
36 
37  private:
38  friend class ::test_HistoryModel;
39  QVector<QMetaObject::Connection> mConnections;
40 
41  ProviderConfigurationInfo determineProviderFor(const HistoryInfo& pHistoryInfo) const;
42  static auto& getHistorySettings();
43 
44  bool isEnabled() const;
45  void setEnabled(bool pEnabled);
46  bool isEmpty() const;
47  void updateConnections();
48 
49  private Q_SLOTS:
50  void onHistoryEntriesChanged();
51  void onProvidersChanged();
52 
53  Q_SIGNALS:
54  void fireEnabledChanged(bool pValue);
55  void fireEmptyChanged(bool pValue);
56 
57  public:
58  explicit HistoryModel(QObject* pParent = nullptr);
59  ~HistoryModel() override;
60 
62  {
63  SUBJECT = Qt::UserRole + 1,
84  };
85 
86  int rowCount(const QModelIndex& = QModelIndex()) const override;
87  QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
88  QHash<int, QByteArray> roleNames() const override;
89  Q_INVOKABLE bool removeRows(int pRow, int pCount, const QModelIndex& pParent = QModelIndex()) override;
90 
91  Q_INVOKABLE HistoryProxyModel* getFilterModel();
94 
95  Q_INVOKABLE void exportHistory(const QUrl& pFilename) const;
96 
97 #ifndef QT_NO_DEBUG
98  Q_INVOKABLE void createDummyEntry();
99 #endif
100 };
101 
102 } // namespace governikus
int rowCount(const QModelIndex &=QModelIndex()) const override
Definition: HistoryModel.cpp:111
Definition: HistoryModel.h:23
Q_INVOKABLE void createDummyEntry()
Definition: HistoryModel.cpp:322
Definition: ProviderNameFilterModel.h:18
Definition: HistoryModel.h:83
Q_INVOKABLE HistoryProxyModel * getFilterModel()
Definition: HistoryModel.cpp:296
Q_INVOKABLE bool removeRows(int pRow, int pCount, const QModelIndex &pParent=QModelIndex()) override
Definition: HistoryModel.cpp:272
Definition: HistoryModel.h:65
ProviderNameFilterModel nameFilter
Definition: HistoryModel.h:28
Definition: HistoryModel.h:76
Definition: HistoryModel.h:68
Definition: HistoryModelSearchFilter.h:16
Definition: HistoryModel.h:69
Definition: HistoryModel.h:67
Definition: HistoryModel.h:74
HistoryRoles
Definition: HistoryModel.h:61
HistoryModelSearchFilter searchFilter
Definition: HistoryModel.h:29
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
HistoryProxyModel filter
Definition: HistoryModel.h:27
bool empty
Definition: HistoryModel.h:31
void fireEmptyChanged(bool pValue)
Definition: HistoryModel.h:66
Definition: HistoryModel.h:63
bool enabled
Definition: HistoryModel.h:30
Definition: ProviderConfigurationInfo.h:22
Definition: HistoryProxyModel.h:12
QHash< int, QByteArray > roleNames() const override
Definition: HistoryModel.cpp:244
Definition: HistoryModel.h:80
Represents a history entry, i.e.
Definition: HistoryInfo.h:21
void fireEnabledChanged(bool pValue)
Definition: HistoryModel.h:82
Definition: HistoryModel.h:78
Q_INVOKABLE void exportHistory(const QUrl &pFilename) const
Definition: HistoryModel.cpp:314
Definition: HistoryModel.h:64
HistoryModelSearchFilter * getHistoryModelSearchFilter()
Definition: HistoryModel.cpp:308
Definition: HistoryModel.h:71
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: HistoryModel.cpp:117
Q_INVOKABLE ProviderNameFilterModel * getNameFilterModel()
Definition: HistoryModel.cpp:302