From 122bd30ba0fd9c21ef12320c9b45d336fdc83f42 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 3 May 2026 01:16:38 +1000 Subject: [PATCH] Qt: Move RAIntegration setting to advanced settings Out of space in the main page... --- .../achievementsettingswidget.cpp | 18 +------------ .../achievementsettingswidget.ui | 27 +++++++------------ src/duckstation-qt/advancedsettingswidget.cpp | 19 +++++++++++++ src/duckstation-qt/advancedsettingswidget.ui | 9 ++++++- 4 files changed, 38 insertions(+), 35 deletions(-) diff --git a/src/duckstation-qt/achievementsettingswidget.cpp b/src/duckstation-qt/achievementsettingswidget.cpp index 6b1c91b8c..2fb72b712 100644 --- a/src/duckstation-qt/achievementsettingswidget.cpp +++ b/src/duckstation-qt/achievementsettingswidget.cpp @@ -145,23 +145,6 @@ AchievementSettingsWidget::AchievementSettingsWidget(SettingsWindow* dialog, QWi m_ui.loginBox = nullptr; } - // RAIntegration is not available on non-win32/x64. -#ifdef RC_CLIENT_SUPPORTS_RAINTEGRATION - if (Achievements::IsRAIntegrationAvailable()) - SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.useRAIntegration, "Cheevos", "UseRAIntegration", false); - else - m_ui.useRAIntegration->setEnabled(false); - - dialog->registerWidgetHelp( - m_ui.useRAIntegration, tr("Enable RAIntegration (Development Only)"), tr("Unchecked"), - tr("When enabled, DuckStation will load the RAIntegration DLL which allows for achievement development.
The " - "RA_Integration.dll file must be placed in the same directory as the DuckStation executable.")); -#else - m_ui.settingsLayout->removeWidget(m_ui.useRAIntegration); - delete m_ui.useRAIntegration; - m_ui.useRAIntegration = nullptr; -#endif - updateEnableState(); onAchievementsNotificationDurationSliderChanged(); onLeaderboardsNotificationDurationSliderChanged(); @@ -250,6 +233,7 @@ void AchievementSettingsWidget::updateEnableState() m_ui.spectatorMode->setEnabled(enabled); m_ui.encoreMode->setEnabled(enabled && !spectator_enabled); m_ui.unofficialAchievements->setEnabled(enabled); + m_ui.prefetchBadges->setEnabled(enabled); m_ui.notificationsGroup->setEnabled(enabled); m_ui.progressTrackingGroup->setEnabled(enabled); diff --git a/src/duckstation-qt/achievementsettingswidget.ui b/src/duckstation-qt/achievementsettingswidget.ui index 2866b1421..00fce5dfe 100644 --- a/src/duckstation-qt/achievementsettingswidget.ui +++ b/src/duckstation-qt/achievementsettingswidget.ui @@ -7,7 +7,7 @@ 0 0 598 - 548 + 550 @@ -120,9 +120,9 @@ - + - Enable RAIntegration (Development Only) + Prefetch Badges @@ -228,6 +228,13 @@ + + + Show Leaderboard Trackers + + + + 0 @@ -251,13 +258,6 @@ - - - - Prefetch Badges - - - @@ -358,13 +358,6 @@ - - - - Show Leaderboard Trackers - - - diff --git a/src/duckstation-qt/advancedsettingswidget.cpp b/src/duckstation-qt/advancedsettingswidget.cpp index 8d135d09d..c3597e5bf 100644 --- a/src/duckstation-qt/advancedsettingswidget.cpp +++ b/src/duckstation-qt/advancedsettingswidget.cpp @@ -6,6 +6,8 @@ #include "settingswindow.h" #include "settingwidgetbinder.h" +#include "core/achievements.h" + #include "util/http_cache.h" #include "util/object_archive.h" @@ -81,6 +83,23 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(SettingsWindow* dialog, QWidget* dialog->registerWidgetHelp(m_ui.coversDirectory, tr("Covers Directory"), tr("Default"), tr("Specifies the directory where game cover images that are used in the game grid and " "Big Picture UI will be stored.")); + + // RAIntegration is not available on non-win32/x64. +#ifdef RC_CLIENT_SUPPORTS_RAINTEGRATION + if (Achievements::IsRAIntegrationAvailable()) + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.useRAIntegration, "Cheevos", "UseRAIntegration", false); + else + m_ui.useRAIntegration->setEnabled(false); + + dialog->registerWidgetHelp( + m_ui.useRAIntegration, tr("Enable RAIntegration (Development Only)"), tr("Unchecked"), + tr("When enabled, DuckStation will load the RAIntegration DLL which allows for achievement development.
The " + "RA_Integration.dll file must be placed in the same directory as the DuckStation executable.")); +#else + m_ui.interfaceSettingsLayout->removeWidget(m_ui.useRAIntegration); + delete m_ui.useRAIntegration; + m_ui.useRAIntegration = nullptr; +#endif } AdvancedSettingsWidget::~AdvancedSettingsWidget() = default; diff --git a/src/duckstation-qt/advancedsettingswidget.ui b/src/duckstation-qt/advancedsettingswidget.ui index e500860fa..127452312 100644 --- a/src/duckstation-qt/advancedsettingswidget.ui +++ b/src/duckstation-qt/advancedsettingswidget.ui @@ -110,7 +110,7 @@ Interface Settings - + @@ -118,6 +118,13 @@ + + + + Enable RAIntegration + + +