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
governikus::HistoryModel::data
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: HistoryModel.cpp:117
governikus::HistoryModel::searchFilter
HistoryModelSearchFilter * searchFilter
Definition: HistoryModel.h:29
governikus::HistoryModel::PROVIDER_ADDRESS_DOMAIN
@ PROVIDER_ADDRESS_DOMAIN
Definition: HistoryModel.h:74
governikus::HistoryModel::PROVIDER_SHORTDESCRIPTION
@ PROVIDER_SHORTDESCRIPTION
Definition: HistoryModel.h:71
governikus::HistoryModel::nameFilter
ProviderNameFilterModel * nameFilter
Definition: HistoryModel.h:28
governikus::HistoryModel::getNameFilterModel
Q_INVOKABLE ProviderNameFilterModel * getNameFilterModel()
Definition: HistoryModel.cpp:325
governikus::HistoryModel::HistoryModel
HistoryModel(QObject *pParent=nullptr)
Definition: HistoryModel.cpp:28
governikus::HistoryModel::PROVIDER_HOMEPAGE
@ PROVIDER_HOMEPAGE
Definition: HistoryModel.h:75
governikus::PdfExporter
Definition: PdfExporter.h:19
governikus::HistoryModel::PROVIDER_CATEGORY
@ PROVIDER_CATEGORY
Definition: HistoryModel.h:68
governikus::HistoryModel::PROVIDER_IMAGE
@ PROVIDER_IMAGE
Definition: HistoryModel.h:82
HistoryModelSearchFilter.h
governikus::HistoryModel::REQUESTEDDATA
@ REQUESTEDDATA
Definition: HistoryModel.h:67
governikus::HistoryModel::rowCount
int rowCount(const QModelIndex &=QModelIndex()) const override
Definition: HistoryModel.cpp:111
governikus::HistoryModel::DATETIME
@ DATETIME
Definition: HistoryModel.h:65
governikus::ProviderNameFilterModel
Definition: ProviderNameFilterModel.h:20
governikus::HistoryModel::fireEmptyChanged
void fireEmptyChanged(bool pValue)
governikus::HistoryModel::filter
HistoryProxyModel * filter
Definition: HistoryModel.h:27
governikus::ProviderConfigurationInfo
Definition: ProviderConfigurationInfo.h:23
governikus::HistoryModel::getHistoryModelSearchFilter
HistoryModelSearchFilter * getHistoryModelSearchFilter()
Definition: HistoryModel.cpp:331
AppSettings.h
governikus::HistoryModel::PROVIDER_ADDRESS
@ PROVIDER_ADDRESS
Definition: HistoryModel.h:73
governikus::HistoryModel::enabled
bool enabled
Definition: HistoryModel.h:30
governikus::HistoryModel::PROVIDER_POSTALADDRESS
@ PROVIDER_POSTALADDRESS
Definition: HistoryModel.h:80
governikus::HistoryModel::~HistoryModel
virtual ~HistoryModel() override
Definition: HistoryModel.cpp:51
AccessRoleAndRight.h
governikus::HistoryModel::PROVIDER_SHORTNAME
@ PROVIDER_SHORTNAME
Definition: HistoryModel.h:69
governikus::HistoryProxyModel
Definition: HistoryProxyModel.h:14
ProviderNameFilterModel.h
HistoryModel.h
governikus::HistoryModel::createDummyEntry
Q_INVOKABLE void createDummyEntry()
Definition: HistoryModel.cpp:345
governikus::HistoryModel::TERMSOFUSAGE
@ TERMSOFUSAGE
Definition: HistoryModel.h:66
governikus::HistoryModel::SUBJECT
@ SUBJECT
Definition: HistoryModel.h:63
governikus::HistoryInfo
Represents a history entry, i.e.
Definition: HistoryInfo.h:22
HistorySettings.h
PdfExporter.h
governikus::HistoryModel
Definition: HistoryModel.h:25
governikus::HistoryModel::PROVIDER_HOMEPAGE_BASE
@ PROVIDER_HOMEPAGE_BASE
Definition: HistoryModel.h:76
governikus::HistoryInfo::getSubjectUrl
const QString & getSubjectUrl() const
Definition: HistoryInfo.cpp:63
governikus::HistoryModel::roleNames
QHash< int, QByteArray > roleNames() const override
Definition: HistoryModel.cpp:268
governikus::HistoryModel::PROVIDER_LONGDESCRIPTION
@ PROVIDER_LONGDESCRIPTION
Definition: HistoryModel.h:72
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::HistoryModel::fireEnabledChanged
void fireEnabledChanged(bool pValue)
ProviderModel.h
governikus::HistoryModel::HistoryRoles
HistoryRoles
Definition: HistoryModel.h:62
ProviderConfigurationInfo.h
governikus::HistoryModel::exportHistory
Q_INVOKABLE void exportHistory(const QUrl &pFilename) const
Definition: HistoryModel.cpp:337
Env.h
governikus::HistoryModel::empty
bool empty
Definition: HistoryModel.h:31
governikus::HistoryModel::PROVIDER_PHONE_COST
@ PROVIDER_PHONE_COST
Definition: HistoryModel.h:78
HistoryProxyModel.h
governikus::HistoryModel::PROVIDER_EMAIL
@ PROVIDER_EMAIL
Definition: HistoryModel.h:79
governikus::ProviderConfiguration::fireUpdated
void fireUpdated()
ProviderConfiguration.h
governikus::HistoryModel::PROVIDER_PHONE
@ PROVIDER_PHONE
Definition: HistoryModel.h:77
governikus::PdfExporter::exportHistory
bool exportHistory()
Definition: PdfExporter.cpp:101
governikus::HistoryModel::PURPOSE
@ PURPOSE
Definition: HistoryModel.h:64
governikus::HistoryModel::PROVIDER_LONGNAME
@ PROVIDER_LONGNAME
Definition: HistoryModel.h:70
governikus::HistoryModel::PROVIDER_ICON
@ PROVIDER_ICON
Definition: HistoryModel.h:81
governikus::HistoryModelSearchFilter
Definition: HistoryModelSearchFilter.h:18
governikus::HistoryModel::getFilterModel
Q_INVOKABLE HistoryProxyModel * getFilterModel()
Definition: HistoryModel.cpp:319
governikus::HistoryModel::removeRows
Q_INVOKABLE bool removeRows(int pRow, int pCount, const QModelIndex &pParent=QModelIndex()) override
Definition: HistoryModel.cpp:295
governikus::UpdatableFile::fireUpdated
void fireUpdated()