diff options
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/webauthdialog.h')
-rw-r--r-- | examples/webenginewidgets/simplebrowser/webauthdialog.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/examples/webenginewidgets/simplebrowser/webauthdialog.h b/examples/webenginewidgets/simplebrowser/webauthdialog.h new file mode 100644 index 000000000..47832c1bb --- /dev/null +++ b/examples/webenginewidgets/simplebrowser/webauthdialog.h @@ -0,0 +1,41 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef WEBAUTHDIALOG_H +#define WEBAUTHDIALOG_H + +#include <QDialog> +#include <QButtonGroup> +#include <QScrollArea> +#include "ui_webauthdialog.h" +#include "qwebenginewebauthuxrequest.h" + +class WebAuthDialog : public QDialog +{ + Q_OBJECT +public: + WebAuthDialog(QWebEngineWebAuthUxRequest *request, QWidget *parent = nullptr); + ~WebAuthDialog(); + + void updateDisplay(); + +private: + QWebEngineWebAuthUxRequest *uxRequest; + QButtonGroup *buttonGroup = nullptr; + QScrollArea *scrollArea = nullptr; + QWidget *selectAccountWidget = nullptr; + QVBoxLayout *selectAccountLayout = nullptr; + + void setupSelectAccountUI(); + void setupCollectPinUI(); + void setupFinishCollectTokenUI(); + void setupErrorUI(); + void onCancelRequest(); + void onRetry(); + void onAcceptRequest(); + void clearSelectAccountButtons(); + + Ui::WebAuthDialog *uiWebAuthDialog; +}; + +#endif // WEBAUTHDIALOG_H |