AusweisApp2
StepAuthenticationEac1Widget.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "context/AuthContext.h"
10 #include "generic/ButtonState.h"
11 
12 #include <QCheckBox>
13 #include <QLabel>
14 #include <QProgressBar>
15 
16 #ifdef Q_OS_WIN
17 #include <QWinTaskbarButton>
18 #endif
19 
20 
21 namespace Ui
22 {
23 class StepAuthenticationEac1Widget;
24 } // namespace Ui
25 
26 
27 namespace governikus
28 {
29 
30 class PasswordEdit;
31 
33  : public QWidget
34 {
35  Q_OBJECT
36 
37  public:
38  enum class State
39  {
40  INITIAL,
41  EDIT_CHAT,
42  ENTER_PIN,
47  FINISHED,
48  };
49  Q_ENUM(State)
50 
51  public:
52  StepAuthenticationEac1Widget(QWidget* pParent = nullptr);
53  virtual ~StepAuthenticationEac1Widget() override;
54 
55  void setContext(const QSharedPointer<AuthContext>& pContext);
56 
57  void setState(State pState);
58  void forwardStep();
59 
61 
62  Q_SIGNALS:
63  void setForwardButtonState(ButtonState pState, const QString& pText = QString());
64  void setCancelButtonState(ButtonState pState);
65 
66  void firePinUpdated(const QString& pPin);
67  void fireCanUpdated(const QString& pCan);
68 
69  private Q_SLOTS:
70  void focusWidget();
71  void onDetailsButtonClicked();
72  void checkBoxChanged(int pCheckState);
73  void canTextEdited(const QString& pText);
74  void pinTextEdited(const QString& pText);
75  void onRandomButtonClicked();
76  void onResultChanged();
77 
78  protected:
79  virtual void hideEvent(QHideEvent* pEvent) override;
80  virtual void showEvent(QShowEvent* pEvent) override;
81  virtual void changeEvent(QEvent* pEvent) override;
82 
83  private:
84  void setToolTip();
85  void updateWidget();
86  void setupChatView();
87  void prepareChatsForGui();
88  void updateProgressPanel();
89  void addChatRightToGui(AccessRight pRight, bool pOptional, int pListSize);
90  void clearPinWidgetLayout();
91  void createBasicReaderWidget();
92 
93  private:
94  QScopedPointer<Ui::StepAuthenticationEac1Widget> mUi;
95  QSharedPointer<AuthContext> mContext;
96  QMap<QCheckBox*, AccessRight> mMap;
97 
98  PasswordEdit* mCANField;
99  PasswordEdit* mPINField;
100 
101  State mState;
102  QProgressBar* mProgressBar;
103  QLabel* mProgressBarLabel;
104 
105  bool mCloseWindowWhenFinished;
106 
107  #ifdef Q_OS_WIN
108  QWinTaskbarButton* mTaskbarButton;
109  #endif
110 };
111 
112 
114 
115 } // namespace governikus
virtual ~StepAuthenticationEac1Widget() override
Definition: StepAuthenticationEac1Widget.cpp:56
void setState(State pState)
Definition: StepAuthenticationEac1Widget.cpp:74
void setCancelButtonState(ButtonState pState)
Definition: moc_StepAuthenticationEac1Widget.cpp:240
Dialog to display information about the application.
Definition: ui_AboutDialog.h:192
Definition: StepAuthenticationEac1Widget.h:32
ButtonState
Definition: ButtonState.h:12
virtual void showEvent(QShowEvent *pEvent) override
Definition: StepAuthenticationEac1Widget.cpp:580
void firePinUpdated(const QString &pPin)
Definition: moc_StepAuthenticationEac1Widget.cpp:247
State
Definition: StepAuthenticationEac1Widget.h:38
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
virtual void changeEvent(QEvent *pEvent) override
Definition: StepAuthenticationEac1Widget.cpp:656
StepAuthenticationEac1Widget(QWidget *pParent=nullptr)
Definition: StepAuthenticationEac1Widget.cpp:33
virtual void hideEvent(QHideEvent *pEvent) override
Definition: StepAuthenticationEac1Widget.cpp:568
#define defineEnumOperators(enumName)
Definition: EnumHelper.h:17
void fireCanUpdated(const QString &pCan)
Definition: moc_StepAuthenticationEac1Widget.cpp:254
Definition: PasswordEdit.h:21
void setForwardButtonState(ButtonState pState, const QString &pText=QString())
Definition: moc_StepAuthenticationEac1Widget.cpp:233
void forwardStep()
Definition: StepAuthenticationEac1Widget.cpp:84
void setContext(const QSharedPointer< AuthContext > &pContext)
Definition: StepAuthenticationEac1Widget.cpp:61
void updateButtonsAndPinWidget()
Definition: StepAuthenticationEac1Widget.cpp:118