Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/src/duckstation-qt/achievementlogindialog.h
6233 views
1
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <[email protected]>
2
// SPDX-License-Identifier: 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 final : public QDialog
14
{
15
Q_OBJECT
16
17
public:
18
AchievementLoginDialog(QWidget* parent, Achievements::LoginRequestReason reason);
19
~AchievementLoginDialog();
20
21
private:
22
void connectUi();
23
void enableUI(bool enabled);
24
bool canEnableLoginButton() const;
25
26
void loginClicked();
27
void cancelClicked();
28
void processLoginResult(bool result, const QString& message);
29
30
void askToEnableAchievementsAndAccept();
31
void askToEnableHardcoreModeAndAccept();
32
void askToResetGameAndAccept();
33
34
Ui::AchievementLoginDialog m_ui;
35
QPushButton* m_login;
36
Achievements::LoginRequestReason m_reason;
37
};
38
39