mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
AchievementManager: Make GetInstance() return a reference
The internal static member will always have a valid lifetime. Makes this consistent with other instance based objects in our code.
This commit is contained in:
@ -25,7 +25,7 @@ AchievementsWindow::AchievementsWindow(QWidget* parent) : QDialog(parent)
|
||||
|
||||
CreateMainLayout();
|
||||
ConnectWidgets();
|
||||
AchievementManager::GetInstance()->SetUpdateCallback(
|
||||
AchievementManager::GetInstance().SetUpdateCallback(
|
||||
[this] { QueueOnObject(this, &AchievementsWindow::UpdateData); });
|
||||
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this,
|
||||
&AchievementsWindow::UpdateData);
|
||||
@ -41,7 +41,7 @@ void AchievementsWindow::showEvent(QShowEvent* event)
|
||||
|
||||
void AchievementsWindow::CreateMainLayout()
|
||||
{
|
||||
auto* layout = new QVBoxLayout();
|
||||
const auto is_game_loaded = AchievementManager::GetInstance().IsGameLoaded();
|
||||
|
||||
m_header_widget = new AchievementHeaderWidget(this);
|
||||
m_tab_widget = new QTabWidget();
|
||||
@ -50,12 +50,13 @@ void AchievementsWindow::CreateMainLayout()
|
||||
m_leaderboard_widget = new AchievementLeaderboardWidget(m_tab_widget);
|
||||
m_tab_widget->addTab(GetWrappedWidget(m_settings_widget, this, 125, 100), tr("Settings"));
|
||||
m_tab_widget->addTab(GetWrappedWidget(m_progress_widget, this, 125, 100), tr("Progress"));
|
||||
m_tab_widget->setTabVisible(1, AchievementManager::GetInstance()->IsGameLoaded());
|
||||
m_tab_widget->setTabVisible(1, is_game_loaded);
|
||||
m_tab_widget->addTab(GetWrappedWidget(m_leaderboard_widget, this, 125, 100), tr("Leaderboards"));
|
||||
m_tab_widget->setTabVisible(2, AchievementManager::GetInstance()->IsGameLoaded());
|
||||
m_tab_widget->setTabVisible(2, is_game_loaded);
|
||||
|
||||
m_button_box = new QDialogButtonBox(QDialogButtonBox::Close);
|
||||
|
||||
auto* layout = new QVBoxLayout();
|
||||
layout->addWidget(m_header_widget);
|
||||
layout->addWidget(m_tab_widget);
|
||||
layout->addWidget(m_button_box);
|
||||
@ -71,14 +72,17 @@ void AchievementsWindow::ConnectWidgets()
|
||||
void AchievementsWindow::UpdateData()
|
||||
{
|
||||
{
|
||||
std::lock_guard lg{*AchievementManager::GetInstance()->GetLock()};
|
||||
auto& instance = AchievementManager::GetInstance();
|
||||
std::lock_guard lg{*instance.GetLock()};
|
||||
const bool is_game_loaded = instance.IsGameLoaded();
|
||||
|
||||
m_header_widget->UpdateData();
|
||||
m_header_widget->setVisible(AchievementManager::GetInstance()->IsLoggedIn());
|
||||
m_header_widget->setVisible(instance.IsLoggedIn());
|
||||
m_settings_widget->UpdateData();
|
||||
m_progress_widget->UpdateData();
|
||||
m_tab_widget->setTabVisible(1, AchievementManager::GetInstance()->IsGameLoaded());
|
||||
m_tab_widget->setTabVisible(1, is_game_loaded);
|
||||
m_leaderboard_widget->UpdateData();
|
||||
m_tab_widget->setTabVisible(2, AchievementManager::GetInstance()->IsGameLoaded());
|
||||
m_tab_widget->setTabVisible(2, is_game_loaded);
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
Reference in New Issue
Block a user