mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
Properly Notify when Achievements Login Fails
This commit is contained in:
@ -39,8 +39,24 @@ AchievementSettingsWidget::AchievementSettingsWidget(QWidget* parent) : QWidget(
|
||||
ToggleHardcore();
|
||||
}
|
||||
|
||||
void AchievementSettingsWidget::UpdateData()
|
||||
void AchievementSettingsWidget::UpdateData(int login_failed_code)
|
||||
{
|
||||
if (login_failed_code != RC_OK)
|
||||
{
|
||||
switch (login_failed_code)
|
||||
{
|
||||
case RC_INVALID_CREDENTIALS:
|
||||
m_common_login_failed->setText(tr("Login Failed - Invalid Username/Password"));
|
||||
break;
|
||||
case RC_NO_RESPONSE:
|
||||
m_common_login_failed->setText(tr("Login Failed - No Internet Connection"));
|
||||
break;
|
||||
default:
|
||||
m_common_login_failed->setText(tr("Login Failed - Server Error"));
|
||||
break;
|
||||
}
|
||||
m_common_login_failed->setVisible(true);
|
||||
}
|
||||
LoadSettings();
|
||||
}
|
||||
|
||||
@ -245,6 +261,7 @@ void AchievementSettingsWidget::ToggleRAIntegration()
|
||||
|
||||
void AchievementSettingsWidget::Login()
|
||||
{
|
||||
m_common_login_failed->setVisible(false);
|
||||
Config::SetBaseOrCurrent(Config::RA_USERNAME, m_common_username_input->text().toStdString());
|
||||
AchievementManager::GetInstance().Login(m_common_password_input->text().toStdString());
|
||||
m_common_password_input->setText(QString());
|
||||
|
@ -18,7 +18,7 @@ class AchievementSettingsWidget final : public QWidget
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit AchievementSettingsWidget(QWidget* parent);
|
||||
void UpdateData();
|
||||
void UpdateData(int login_failed_code);
|
||||
|
||||
private:
|
||||
void OnControllerInterfaceConfigure();
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
#include <mutex>
|
||||
|
||||
#include <rcheevos/include/rc_error.h>
|
||||
|
||||
#include <QDialogButtonBox>
|
||||
#include <QScrollArea>
|
||||
#include <QScrollBar>
|
||||
@ -36,7 +38,7 @@ AchievementsWindow::AchievementsWindow(QWidget* parent) : QDialog(parent)
|
||||
});
|
||||
});
|
||||
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this,
|
||||
[this] { m_settings_widget->UpdateData(); });
|
||||
[this] { m_settings_widget->UpdateData(RC_OK); });
|
||||
connect(&Settings::Instance(), &Settings::HardcoreStateChanged, this,
|
||||
[this] { AchievementsWindow::UpdateData({.all = true}); });
|
||||
}
|
||||
@ -79,7 +81,7 @@ void AchievementsWindow::ConnectWidgets()
|
||||
|
||||
void AchievementsWindow::UpdateData(AchievementManager::UpdatedItems updated_items)
|
||||
{
|
||||
m_settings_widget->UpdateData();
|
||||
m_settings_widget->UpdateData(updated_items.failed_login_code);
|
||||
if (updated_items.all)
|
||||
{
|
||||
m_header_widget->UpdateData();
|
||||
|
Reference in New Issue
Block a user