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)
28  Q_PROPERTY(ProviderNameFilterModel * nameFilter READ getNameFilterModel 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  virtual ~HistoryModel() override;
60 
62  {
63  SUBJECT = Qt::UserRole + 1,
83  };
84 
85  int rowCount(const QModelIndex& = QModelIndex()) const override;
86  QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
87  QHash<int, QByteArray> roleNames() const override;
88  Q_INVOKABLE bool removeRows(int pRow, int pCount, const QModelIndex& pParent = QModelIndex()) override;
89 
90  Q_INVOKABLE HistoryProxyModel* getFilterModel();
93 
94  Q_INVOKABLE void exportHistory(const QUrl& pFilename) const;
95 
96 #ifndef QT_NO_DEBUG
97  Q_INVOKABLE void createDummyEntry();
98 #endif
99 };
100 
101 } // namespace governikus
Represents a history entry, i.e.
Definition: HistoryInfo.h:22
Definition: HistoryModelSearchFilter.h:18
Definition: HistoryModel.h:25
Q_INVOKABLE HistoryProxyModel * getFilterModel()
Definition: HistoryModel.cpp:319
bool empty
Definition: HistoryModel.h:31
HistoryProxyModel * filter
Definition: HistoryModel.h:27
void fireEnabledChanged(bool pValue)
ProviderNameFilterModel * nameFilter
Definition: HistoryModel.h:28
HistoryModel(QObject *pParent=nullptr)
Definition: HistoryModel.cpp:28
Q_INVOKABLE void exportHistory(const QUrl &pFilename) const
Definition: HistoryModel.cpp:337
Q_INVOKABLE ProviderNameFilterModel * getNameFilterModel()
Definition: HistoryModel.cpp:325
Q_INVOKABLE void createDummyEntry()
Definition: HistoryModel.cpp:345
HistoryRoles
Definition: HistoryModel.h:62
@ PROVIDER_LONGNAME
Definition: HistoryModel.h:70
@ PROVIDER_ADDRESS
Definition: HistoryModel.h:73
@ TERMSOFUSAGE
Definition: HistoryModel.h:66
@ PROVIDER_SHORTNAME
Definition: HistoryModel.h:69
@ PROVIDER_ADDRESS_DOMAIN
Definition: HistoryModel.h:74
@ PURPOSE
Definition: HistoryModel.h:64
@ PROVIDER_EMAIL
Definition: HistoryModel.h:79
@ PROVIDER_ICON
Definition: HistoryModel.h:81
@ REQUESTEDDATA
Definition: HistoryModel.h:67
@ PROVIDER_HOMEPAGE
Definition: HistoryModel.h:75
@ PROVIDER_HOMEPAGE_BASE
Definition: HistoryModel.h:76
@ DATETIME
Definition: HistoryModel.h:65
@ PROVIDER_POSTALADDRESS
Definition: HistoryModel.h:80
@ SUBJECT
Definition: HistoryModel.h:63
@ PROVIDER_SHORTDESCRIPTION
Definition: HistoryModel.h:71
@ PROVIDER_PHONE_COST
Definition: HistoryModel.h:78
@ PROVIDER_LONGDESCRIPTION
Definition: HistoryModel.h:72
@ PROVIDER_CATEGORY
Definition: HistoryModel.h:68
@ PROVIDER_IMAGE
Definition: HistoryModel.h:82
@ PROVIDER_PHONE
Definition: HistoryModel.h:77
QHash< int, QByteArray > roleNames() const override
Definition: HistoryModel.cpp:268
int rowCount(const QModelIndex &=QModelIndex()) const override
Definition: HistoryModel.cpp:111
Q_INVOKABLE bool removeRows(int pRow, int pCount, const QModelIndex &pParent=QModelIndex()) override
Definition: HistoryModel.cpp:295
virtual ~HistoryModel() override
Definition: HistoryModel.cpp:51
void fireEmptyChanged(bool pValue)
HistoryModelSearchFilter * searchFilter
Definition: HistoryModel.h:29
HistoryModelSearchFilter * getHistoryModelSearchFilter()
Definition: HistoryModel.cpp:331
bool enabled
Definition: HistoryModel.h:30
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: HistoryModel.cpp:117
Definition: HistoryProxyModel.h:14
Definition: ProviderConfigurationInfo.h:23
Definition: ProviderNameFilterModel.h:20
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15