achievementlogindialog.h (823B)
1 // SPDX-FileCopyrightText: 2019-2023 Connor McLaughlin <stenzek@gmail.com> 2 // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) 3 4 #pragma once 5 #include "ui_achievementlogindialog.h" 6 #include <QtWidgets/QDialog> 7 #include <QtWidgets/QPushButton> 8 9 namespace Achievements { 10 enum class LoginRequestReason; 11 } 12 13 class AchievementLoginDialog : public QDialog 14 { 15 Q_OBJECT 16 17 public: 18 AchievementLoginDialog(QWidget* parent, Achievements::LoginRequestReason reason); 19 ~AchievementLoginDialog(); 20 21 private Q_SLOTS: 22 void loginClicked(); 23 void cancelClicked(); 24 void processLoginResult(bool result, const QString& message); 25 26 private: 27 void connectUi(); 28 void enableUI(bool enabled); 29 bool canEnableLoginButton() const; 30 31 Ui::AchievementLoginDialog m_ui; 32 QPushButton* m_login; 33 Achievements::LoginRequestReason m_reason; 34 };