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());
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
governikus::StepAuthenticationEac1Widget::State::READING_CARD_DATA
@ READING_CARD_DATA
governikus::StepAuthenticationEac1Widget::State::ENTER_PIN
@ ENTER_PIN
governikus::PasswordEdit::text
QString text() const
Definition: PasswordEdit.cpp:143
AuthContext.h
defineEnumOperators
#define defineEnumOperators(enumName)
Definition: EnumHelper.h:17
governikus::WorkflowContext::fireResultChanged
void fireResultChanged()
governikus::StepAuthenticationEac1Widget::fireCanUpdated
void fireCanUpdated(const QString &pCan)
governikus::StepAuthenticationEac1Widget::forwardStep
void forwardStep()
Definition: StepAuthenticationEac1Widget.cpp:84
governikus::PasswordEdit::configureValidation
void configureValidation(const QRegularExpression &pExpression, const QString &pInvalidValueToolTip)
Definition: PasswordEdit.cpp:126
governikus::StepAuthenticationEac1Widget::firePinUpdated
void firePinUpdated(const QString &pPin)
governikus::StepAuthenticationEac1Widget::setForwardButtonState
void setForwardButtonState(ButtonState pState, const QString &pText=QString())
governikus::PasswordEdit::setText
void setText(const QString &pText)
Definition: PasswordEdit.cpp:169
governikus::PasswordEdit::setAccessibleName
void setAccessibleName(const QString &pName)
Definition: PasswordEdit.cpp:181
governikus::StepAuthenticationEac1Widget::updateButtonsAndPinWidget
void updateButtonsAndPinWidget()
Definition: StepAuthenticationEac1Widget.cpp:118
governikus::ButtonState
ButtonState
Definition: ButtonState.h:13
governikus::StepAuthenticationEac1Widget::State
State
Definition: StepAuthenticationEac1Widget.h:39
governikus::StepAuthenticationEac1Widget::showEvent
virtual void showEvent(QShowEvent *pEvent) override
Definition: StepAuthenticationEac1Widget.cpp:580
governikus::PasswordEdit::setFocus
void setFocus()
Definition: PasswordEdit.cpp:187
governikus::StepAuthenticationEac1Widget::setState
void setState(State pState)
Definition: StepAuthenticationEac1Widget.cpp:74
AppSettings.h
governikus::StepAuthenticationEac1Widget
Definition: StepAuthenticationEac1Widget.h:34
governikus::RandomPinDialog
Definition: RandomPinDialog.h:22
governikus::StepAuthenticationEac1Widget::State::REDIRECTING_BROWSER
@ REDIRECTING_BROWSER
governikus::StepAuthenticationEac1Widget::changeEvent
virtual void changeEvent(QEvent *pEvent) override
Definition: StepAuthenticationEac1Widget.cpp:656
governikus::StepAuthenticationEac1Widget::State::AUTHENTICATING_CARD
@ AUTHENTICATING_CARD
governikus::DetailDialog
Definition: DetailDialog.h:21
PasswordEdit.h
governikus::PasswordEdit
Definition: PasswordEdit.h:23
governikus::StepAuthenticationEac1Widget::setCancelButtonState
void setCancelButtonState(ButtonState pState)
governikus::ButtonState::FOCUSSED
@ FOCUSSED
Button is visible, enabled, and focussed.
governikus::StepAuthenticationEac1Widget::hideEvent
virtual void hideEvent(QHideEvent *pEvent) override
Definition: StepAuthenticationEac1Widget.cpp:568
Ui
Dialog to display information about the application.
Definition: AboutDialog.h:13
governikus::LanguageLoader::getInstance
static LanguageLoader & getInstance()
Definition: LanguageLoader.cpp:42
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::StepAuthenticationEac1Widget::State::AUTHENTICATING_ESERVICE
@ AUTHENTICATING_ESERVICE
governikus::PasswordEdit::textEdited
void textEdited(const QString &pText)
governikus::PasswordEdit::setMaxLength
void setMaxLength(int pLength, bool pShrink=true)
Definition: PasswordEdit.cpp:116
governikus::PasswordEdit::setCursorPosition
void setCursorPosition(int pPosition)
Definition: PasswordEdit.cpp:175
ButtonState.h
governikus::StepAuthenticationEac1Widget::State::EDIT_CHAT
@ EDIT_CHAT
governikus::StepAuthenticationEac1Widget::State::FINISHED
@ FINISHED
governikus::CVCertificateBody
struct certificateprofilebody_st { ASN1_OCTET_STRING *mCertificateProfileIdentifier CVCertificateBody
Definition: CVCertificateBody.h:46
governikus::StepAuthenticationEac1Widget::StepAuthenticationEac1Widget
StepAuthenticationEac1Widget(QWidget *pParent=nullptr)
Definition: StepAuthenticationEac1Widget.cpp:33
StepAuthenticationEac1Widget.h
RandomPinDialog.h
governikus::StepAuthenticationEac1Widget::setContext
void setContext(const QSharedPointer< AuthContext > &pContext)
Definition: StepAuthenticationEac1Widget.cpp:61
governikus::PasswordEdit::clear
void clear()
Definition: PasswordEdit.cpp:163
governikus::StepAuthenticationEac1Widget::~StepAuthenticationEac1Widget
virtual ~StepAuthenticationEac1Widget() override
Definition: StepAuthenticationEac1Widget.cpp:56
DetailDialog.h
LanguageLoader.h
governikus::StepAuthenticationEac1Widget::State::INITIAL
@ INITIAL
governikus::LanguageLoader::getUsedLocale
const QLocale & getUsedLocale() const
Definition: LanguageLoader.cpp:176
CardConnection.h