AusweisApp2
PinSettingsWidget.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "RandomPinDialog.h"
11 #include "ReaderInfo.h"
12 
13 #include <QPointer>
14 #include <QSharedPointer>
15 #include <QWidget>
16 
17 namespace Ui
18 {
19 class PinSettingsWidget;
20 } // namespace Ui
21 
22 namespace governikus
23 {
24 
26  : public QWidget
27 {
28  Q_OBJECT
29 
30  public:
31  static const int SCALEWIDTH = 200;
32 
33  enum class Mode
34  {
35  Normal,
37  };
38 
39  public:
40  PinSettingsWidget(QWidget* pParent = nullptr);
41  virtual ~PinSettingsWidget() override;
42 
43  void setContext(const QSharedPointer<ChangePinContext>& pContext);
44  void cancelWorkflow();
45  void continueWorkflow();
46 
47  QString getCan() const;
48  QString getPin() const;
49  QString getPuk() const;
50  QString getNewPin() const;
51  void updatePasswordFields();
52  void updatePinButton(bool pEnabled);
53  void clearPasswords();
54  void setPasswordFocus();
55 
56 
57  Mode getMode() const
58  {
59  return mMode;
60  }
61 
62 
63  void setMode(Mode pMode);
64  QString getButtonText() const;
65  void setUseScreenKeyboard(bool pUseScreenKeyboard);
66 
67  bool getPinButtonEnabled() const;
68  bool getCancelButtonEnabled() const;
69 
70  Q_SIGNALS:
72 
73  public Q_SLOTS:
74  void updateReaders();
76 
77  protected:
78  virtual void paintEvent(QPaintEvent*) override;
79  virtual void showEvent(QShowEvent* pEvent) override;
80  virtual void hideEvent(QHideEvent* pEvent) override;
81  virtual void changeEvent(QEvent* pEvent) override;
82 
83  private Q_SLOTS:
84  void onCanTextEdited(const QString& pText = QString());
85  void onOldPinTextEdited(const QString& pText = QString());
86  void onNewPinTextEdited(const QString& pText = QString());
87  void onRepeatNewPinTextEdited(const QString& pText = QString());
88  void onPukTextEdited(const QString& pText = QString());
89  void focusPUK();
90  void focusPIN();
91  void focusCAN();
92  void onRandomPinButtonClicked();
93  void onRandomPukButtonClicked();
94 
95  private:
96  void updateCancelButton(bool pEnabled);
97  void setUserInputEnabled(bool pEnabled);
98  void setupPinBasicPage(const ReaderInfo& pReaderInfo);
99  void setupPinComfortPage(const ReaderInfo& pReaderInfo);
100  void setupPinSuccessfullyChangedPage(const ReaderInfo& pReaderInfo);
101  void setupChangePinHeader(int pRetryCounter, bool pIsBasicReader);
102 
103  bool isCanFieldVisible() const;
104  bool isPukFieldVisible() const;
105 
106  QVector<ReaderInfo> getReaderWithNPA(const QVector<ReaderInfo>& pReaderInfos);
107  void updateReadersWithoutNPA(const QVector<ReaderInfo>& pReaderInfos);
108  bool updateReadersForOneNPA(const ReaderInfo& pReaderInfo);
109 
110  void fillInfoDescription(const QString& pTitle, const QString& pMessage);
111 
112  QScopedPointer<Ui::PinSettingsWidget> mUi;
113  Mode mMode;
114  QSharedPointer<ChangePinContext> mContext;
115  int mRetryCounter;
116  bool mPinDeactivated;
117  bool mPinButtonEnabled;
118  bool mCancelButtonEnabled;
119 
120  QString mPinSettingsInfoTitle;
121  QString mPinSettingsInfoDescription;
122  QPointer<RandomPinDialog> mRandomPinDialog;
123 };
124 
125 } // namespace governikus
governikus::ReaderConfiguration::getNoReaderFoundIconPath
static QString getNoReaderFoundIconPath()
Definition: ReaderConfiguration.cpp:83
governikus::PinSettingsWidget::getNewPin
QString getNewPin() const
Definition: PinSettingsWidget.cpp:161
ReaderManager.h
FuncUtils.h
governikus::PinSettingsWidget::showEvent
virtual void showEvent(QShowEvent *pEvent) override
Definition: PinSettingsWidget.cpp:402
governikus::PinSettingsWidget::cancelWorkflow
void cancelWorkflow()
Definition: PinSettingsWidget.cpp:124
governikus::PinSettingsWidget::getPinButtonEnabled
bool getPinButtonEnabled() const
Definition: PinSettingsWidget.cpp:270
governikus::ReaderConfigurationInfo::getIcon
QSharedPointer< UpdatableFile > getIcon() const
Definition: ReaderConfigurationInfo.cpp:88
governikus::PinSettingsWidget::changeEvent
virtual void changeEvent(QEvent *pEvent) override
Definition: PinSettingsWidget.cpp:788
governikus::PinSettingsWidget::getPuk
QString getPuk() const
Definition: PinSettingsWidget.cpp:155
governikus::PinSettingsWidget::Mode::Normal
@ Normal
governikus::ReaderManager::getReaderInfos
QVector< ReaderInfo > getReaderInfos(ReaderManagerPlugInType pType) const
Definition: ReaderManager.cpp:184
governikus::ReaderConfiguration::getMultipleReaderIconPath
static QString getMultipleReaderIconPath()
Definition: ReaderConfiguration.cpp:89
governikus::ReaderInfo
Definition: ReaderInfo.h:17
governikus::PinSettingsWidget::onBackspacePressedOnApply
void onBackspacePressedOnApply()
Definition: PinSettingsWidget.cpp:385
governikus::PinSettingsWidget::getCan
QString getCan() const
Definition: PinSettingsWidget.cpp:143
ReaderInfo.h
governikus::RandomPinDialog
Definition: RandomPinDialog.h:22
governikus::PinSettingsWidget::SCALEWIDTH
static const int SCALEWIDTH
Definition: PinSettingsWidget.h:31
governikus::PinSettingsWidget::setUseScreenKeyboard
void setUseScreenKeyboard(bool pUseScreenKeyboard)
Definition: PinSettingsWidget.cpp:260
governikus::ReaderInfo::isPinDeactivated
bool isPinDeactivated() const
Definition: ReaderInfo.h:83
governikus::PinSettingsWidget::getMode
Mode getMode() const
Definition: PinSettingsWidget.h:57
governikus::ReaderInfo::sufficientApduLength
bool sufficientApduLength() const
Definition: ReaderInfo.h:143
governikus::ReaderManager::fireReaderEvent
void fireReaderEvent()
Definition: moc_ReaderManager.cpp:322
governikus::PinSettingsWidget::setContext
void setContext(const QSharedPointer< ChangePinContext > &pContext)
Definition: PinSettingsWidget.cpp:102
PasswordEdit.h
governikus::PinSettingsWidget::getCancelButtonEnabled
bool getCancelButtonEnabled() const
Definition: PinSettingsWidget.cpp:276
ReaderConfiguration.h
ui_PinSettingsWidget.h
governikus::PinSettingsWidget::clearPasswords
void clearPasswords()
Definition: PinSettingsWidget.cpp:183
governikus::PinSettingsWidget::PinSettingsWidget
PinSettingsWidget(QWidget *pParent=nullptr)
Definition: PinSettingsWidget.cpp:23
Ui
Dialog to display information about the application.
Definition: ui_AboutDialog.h:192
governikus::ReaderInfo::getReaderConfigurationInfo
ReaderConfigurationInfo getReaderConfigurationInfo() const
Definition: ReaderInfo.cpp:29
ChangePinContext.h
governikus::PinSettingsWidget::updateReaders
void updateReaders()
Definition: PinSettingsWidget.cpp:343
governikus::PinSettingsWidget::continueWorkflow
void continueWorkflow()
Definition: PinSettingsWidget.cpp:133
governikus::PinSettingsWidget::hideEvent
virtual void hideEvent(QHideEvent *pEvent) override
Definition: PinSettingsWidget.cpp:413
governikus::PinSettingsWidget
Definition: PinSettingsWidget.h:27
PinSettingsWidget.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::PinSettingsWidget::Mode
Mode
Definition: PinSettingsWidget.h:34
SmartCardDefinitions.h
governikus::PasswordEdit::textEdited
void textEdited(const QString &pText)
Definition: moc_PasswordEdit.cpp:153
governikus::ReaderInfo::hasEidCard
bool hasEidCard() const
Definition: ReaderInfo.h:59
governikus::PinSettingsWidget::getPin
QString getPin() const
Definition: PinSettingsWidget.cpp:149
governikus::PasswordEdit::fireBackspacePressedAndEmpty
void fireBackspacePressedAndEmpty()
Definition: moc_PasswordEdit.cpp:166
governikus::PinSettingsWidget::setPasswordFocus
void setPasswordFocus()
Definition: PinSettingsWidget.cpp:194
governikus::PinSettingsWidget::updatePinButton
void updatePinButton(bool pEnabled)
Definition: PinSettingsWidget.cpp:176
governikus::PinSettingsWidget::paintEvent
virtual void paintEvent(QPaintEvent *) override
Definition: PinSettingsWidget.cpp:393
governikus::ReaderInfo::isBasicReader
bool isBasicReader() const
Definition: ReaderInfo.h:113
governikus::ReaderInfo::getRetryCounter
int getRetryCounter() const
Definition: ReaderInfo.h:71
governikus::ReaderManager
Definition: ReaderManager.h:22
RandomPinDialog.h
governikus::PinSettingsWidget::~PinSettingsWidget
virtual ~PinSettingsWidget() override
Definition: PinSettingsWidget.cpp:97
governikus::PinSettingsWidget::setMode
void setMode(Mode pMode)
Definition: PinSettingsWidget.cpp:211
governikus::ReaderConfigurationInfo::getIconWithNPA
QSharedPointer< UpdatableFile > getIconWithNPA() const
Definition: ReaderConfigurationInfo.cpp:94
governikus::PinSettingsWidget::getButtonText
QString getButtonText() const
Definition: PinSettingsWidget.cpp:217
governikus::ReaderFilter::UniqueReaderTypes
@ UniqueReaderTypes
Definition: ReaderFilter.h:27
governikus::ReaderManager::fireCardRetryCounterChanged
void fireCardRetryCounterChanged(const QString &pReaderName)
Definition: moc_ReaderManager.cpp:315
governikus::PinSettingsWidget::fireButtonEnabledUpdated
void fireButtonEnabledUpdated()
Definition: moc_PinSettingsWidget.cpp:203
governikus::PinSettingsWidget::updatePasswordFields
void updatePasswordFields()
Definition: PinSettingsWidget.cpp:167
governikus::PinSettingsWidget::Mode::AfterPinChange
@ AfterPinChange