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 
23  Q_OBJECT
24 
25  static QString createCostString(double pCostsPerMinute, double pCostsPerCall);
26  static QString createAmountString(double pCents);
27 
28  private:
29  QVector<QMetaObject::Connection> mConnections;
30  bool mIncludeCategories;
31 
32  void updateConnections();
33 
34  private Q_SLOTS:
35  void onProvidersChanged();
36 
37  public:
39  {
40  CATEGORY = Qt::UserRole + 1,
56  TYPE
57  };
58 
59  explicit ProviderModel(QObject* pParent = nullptr);
60  ~ProviderModel() override;
61 
62  int rowCount(const QModelIndex&) const override;
63  QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
64  QHash<int, QByteArray> roleNames() const override;
65 
66  void setIncludeCategories(bool pIncludeCategories);
67  bool getIncludeCategories() const;
68 
69  static const QStringList& getProviderCategories();
70 
71  static QString createCostString(const CallCost& pCosts);
72 };
73 
74 
75 } // namespace governikus
governikus::ProviderModel::LONGDESCRIPTION
@ LONGDESCRIPTION
Definition: ProviderModel.h:44
governikus::ProviderModel::IMAGE
@ IMAGE
Definition: ProviderModel.h:54
governikus::CallCost
Definition: CallCost.h:17
governikus::ProviderModel::SORT_ROLE
@ SORT_ROLE
Definition: ProviderModel.h:55
governikus::ProviderModel::TYPE
@ TYPE
Definition: ProviderModel.h:56
governikus::ProviderModel::PHONE_COST
@ PHONE_COST
Definition: ProviderModel.h:50
governikus::ProviderModel::HOMEPAGE
@ HOMEPAGE
Definition: ProviderModel.h:47
governikus::ProviderModel::getIncludeCategories
bool getIncludeCategories() const
Definition: ProviderModel.cpp:231
governikus::ProviderModel
Definition: ProviderModel.h:21
governikus::ProviderModel::SHORTNAME
@ SHORTNAME
Definition: ProviderModel.h:41
governikus::CallCost::getLandlineCentsPerCall
double getLandlineCentsPerCall() const
Definition: CallCost.cpp:61
governikus::ProviderModel::ADDRESS_DOMAIN
@ ADDRESS_DOMAIN
Definition: ProviderModel.h:46
governikus::ProviderModel::CATEGORY
@ CATEGORY
Definition: ProviderModel.h:40
governikus::ProviderModel::~ProviderModel
~ProviderModel() override
Definition: ProviderModel.cpp:78
governikus::ProviderModel::getProviderCategories
static const QStringList & getProviderCategories()
Definition: ProviderModel.cpp:237
governikus::ProviderModel::ICON
@ ICON
Definition: ProviderModel.h:53
governikus::CallCost::getFreeSeconds
int getFreeSeconds() const
Definition: CallCost.cpp:49
governikus::ProviderModel::data
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: ProviderModel.cpp:89
governikus::ProviderModel::EMAIL
@ EMAIL
Definition: ProviderModel.h:51
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::ProviderModel::ADDRESS
@ ADDRESS
Definition: ProviderModel.h:45
governikus::ProviderModel::LONGNAME
@ LONGNAME
Definition: ProviderModel.h:42
ProviderModel.h
CallCost.h
governikus::CallCost::getMobileCentsPerCall
double getMobileCentsPerCall() const
Definition: CallCost.cpp:73
governikus::ProviderModel::rowCount
int rowCount(const QModelIndex &) const override
Definition: ProviderModel.cpp:83
governikus::ProviderModel::setIncludeCategories
void setIncludeCategories(bool pIncludeCategories)
Definition: ProviderModel.cpp:223
governikus::ProviderModel::HOMEPAGE_BASE
@ HOMEPAGE_BASE
Definition: ProviderModel.h:48
governikus::ProviderModel::PHONE
@ PHONE
Definition: ProviderModel.h:49
governikus::ProviderConfiguration::fireUpdated
void fireUpdated()
ProviderConfiguration.h
governikus::ProviderModel::roleNames
QHash< int, QByteArray > roleNames() const override
Definition: ProviderModel.cpp:199
governikus::ProviderModel::SHORTDESCRIPTION
@ SHORTDESCRIPTION
Definition: ProviderModel.h:43
governikus::ProviderModel::ProviderModel
ProviderModel(QObject *pParent=nullptr)
Definition: ProviderModel.cpp:69
governikus::CallCost::getMobileCentsPerMinute
double getMobileCentsPerMinute() const
Definition: CallCost.cpp:67
governikus::ProviderModel::ProviderRoles
ProviderRoles
Definition: ProviderModel.h:39
governikus::CallCost::isNull
bool isNull() const
Definition: CallCost.cpp:43
governikus::CallCost::getLandlineCentsPerMinute
double getLandlineCentsPerMinute() const
Definition: CallCost.cpp:55
governikus::ProviderModel::POSTALADDRESS
@ POSTALADDRESS
Definition: ProviderModel.h:52
governikus::UpdatableFile::fireUpdated
void fireUpdated()