// SPDX-FileCopyrightText: 2017 Contributors to Chatterino // // SPDX-License-Identifier: MIT #pragma once #include "widgets/BaseWidget.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace chatterino { class BasicLoginWidget : public QWidget { public: BasicLoginWidget(); struct { QVBoxLayout layout; QHBoxLayout horizontalLayout; QPushButton loginButton; QPushButton pasteCodeButton; QLabel unableToOpenBrowserHelper; } ui_; }; class AdvancedLoginWidget : public QWidget { public: AdvancedLoginWidget(); void refreshButtons(); struct { QVBoxLayout layout; QLabel instructionsLabel; QFormLayout formLayout; QLineEdit userIDInput; QLineEdit usernameInput; QLineEdit clientIDInput; QLineEdit oauthTokenInput; struct { QHBoxLayout layout; QPushButton addUserButton; QPushButton clearFieldsButton; } buttonUpperRow; } ui_; }; class LoginDialog : public QDialog { public: LoginDialog(QWidget *parent); private: struct { QVBoxLayout mainLayout; QTabWidget tabWidget; QDialogButtonBox buttonBox; BasicLoginWidget basic; AdvancedLoginWidget advanced; } ui_; }; } // namespace chatterino