AusweisApp2
ProviderModel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "CallCost.h"
10 
11 #include <QAbstractListModel>
12 #include <QStringList>
13 #include <QVector>
14 
15 
16 namespace governikus
17 {
18 
20  : public QAbstractListModel
21 {
22  Q_OBJECT
23 
24  static QString createCostString(double pCostsPerMinute, double pCostsPerCall);
25  static QString createAmountString(double pCents);
26 
27  private:
28  QVector<QMetaObject::Connection> mConnections;
29  bool mIncludeCategories;
30 
31  void updateConnections();
32 
33  private Q_SLOTS:
34  void onProvidersChanged();
35 
36  public:
38  {
39  CATEGORY = Qt::UserRole + 1,
54  TYPE
55  };
56 
57  explicit ProviderModel(QObject* pParent = nullptr);
58  ~ProviderModel() override = default;
59 
60  int rowCount(const QModelIndex&) const override;
61  QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
62  QHash<int, QByteArray> roleNames() const override;
63 
64  void setIncludeCategories(bool pIncludeCategories);
65  bool getIncludeCategories() const;
66 
67  static const QStringList& getProviderCategories();
68 
69  static QString createCostString(const CallCost& pCosts);
70 };
71 
72 
73 } // namespace governikus
Definition: CallCost.h:17
Definition: ProviderModel.h:21
bool getIncludeCategories() const
Definition: ProviderModel.cpp:221
QHash< int, QByteArray > roleNames() const override
Definition: ProviderModel.cpp:190
static const QStringList & getProviderCategories()
Definition: ProviderModel.cpp:227
ProviderRoles
Definition: ProviderModel.h:38
@ CATEGORY
Definition: ProviderModel.h:39
@ HOMEPAGE_BASE
Definition: ProviderModel.h:46
@ ADDRESS_DOMAIN
Definition: ProviderModel.h:44
@ PHONE_COST
Definition: ProviderModel.h:48
@ LONGNAME
Definition: ProviderModel.h:41
@ LONGDESCRIPTION
Definition: ProviderModel.h:42
@ PHONE
Definition: ProviderModel.h:47
@ SORT_ROLE
Definition: ProviderModel.h:53
@ POSTALADDRESS
Definition: ProviderModel.h:50
@ ICON
Definition: ProviderModel.h:51
@ IMAGE
Definition: ProviderModel.h:52
@ HOMEPAGE
Definition: ProviderModel.h:45
@ SHORTNAME
Definition: ProviderModel.h:40
@ ADDRESS
Definition: ProviderModel.h:43
@ TYPE
Definition: ProviderModel.h:54
@ EMAIL
Definition: ProviderModel.h:49
ProviderModel(QObject *pParent=nullptr)
Definition: ProviderModel.cpp:69
int rowCount(const QModelIndex &) const override
Definition: ProviderModel.cpp:78
void setIncludeCategories(bool pIncludeCategories)
Definition: ProviderModel.cpp:213
~ProviderModel() override=default
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: ProviderModel.cpp:84
A simple template renderer.
Definition: ActivationContext.h:15