From 1aabae49ed033d0f9c3742e842a742a0b4bcb733 Mon Sep 17 00:00:00 2001 From: TryTwo Date: Fri, 2 May 2025 15:32:37 -0700 Subject: [PATCH 1/2] Settings: Bugfix. Remove Aspect Ratio combobox signal so it doesn't trigger a settings changed save. --- .../Config/Graphics/GeneralWidget.cpp | 21 ++++++++++++------- .../DolphinQt/Config/Graphics/GeneralWidget.h | 1 + 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp index b698fbdd77..51c07066d3 100644 --- a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp @@ -79,6 +79,8 @@ void GeneralWidget::CreateWidgets() Config::GFX_CUSTOM_ASPECT_RATIO_WIDTH, m_game_layer); m_custom_aspect_height = new ConfigInteger(1, MAX_CUSTOM_ASPECT_RATIO_RESOLUTION, Config::GFX_CUSTOM_ASPECT_RATIO_HEIGHT, m_game_layer); + ToggleCustomAspectRatio(m_aspect_combo->currentIndex()); + m_adapter_combo = new ToolTipComboBox; m_enable_vsync = new ConfigBool(tr("V-Sync"), Config::GFX_VSYNC, m_game_layer); m_enable_fullscreen = @@ -169,14 +171,17 @@ void GeneralWidget::ConnectWidgets() Config::SetBaseOrCurrent(Config::GFX_ADAPTER, index); emit BackendChanged(QString::fromStdString(Config::Get(Config::MAIN_GFX_BACKEND))); }); - connect(m_aspect_combo, qOverload(&QComboBox::currentIndexChanged), this, [&](int index) { - const bool is_custom_aspect_ratio = (index == static_cast(AspectMode::Custom)) || - (index == static_cast(AspectMode::CustomStretch)); - m_custom_aspect_label->setHidden(!is_custom_aspect_ratio); - m_custom_aspect_width->setHidden(!is_custom_aspect_ratio); - m_custom_aspect_height->setHidden(!is_custom_aspect_ratio); - }); - m_aspect_combo->currentIndexChanged(m_aspect_combo->currentIndex()); + connect(m_aspect_combo, &QComboBox::currentIndexChanged, this, + &GeneralWidget::ToggleCustomAspectRatio); +} + +void GeneralWidget::ToggleCustomAspectRatio(int index) +{ + const bool is_custom_aspect_ratio = (index == static_cast(AspectMode::Custom)) || + (index == static_cast(AspectMode::CustomStretch)); + m_custom_aspect_label->setHidden(!is_custom_aspect_ratio); + m_custom_aspect_width->setHidden(!is_custom_aspect_ratio); + m_custom_aspect_height->setHidden(!is_custom_aspect_ratio); } void GeneralWidget::BackendWarning() diff --git a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.h b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.h index 42f74229d8..30849234f3 100644 --- a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.h +++ b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.h @@ -40,6 +40,7 @@ private: void BackendWarning(); void CreateWidgets(); + void ToggleCustomAspectRatio(int index); void ConnectWidgets(); void AddDescriptions(); From c1d0a49f35f8418811ac2f945f35acdfadee0d54 Mon Sep 17 00:00:00 2001 From: TryTwo Date: Fri, 2 May 2025 16:03:14 -0700 Subject: [PATCH 2/2] Settings: Bugfix. Fix some combo boxes setting a value without user input. Prevents initial Load from calling the connection to save value. --- Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp b/Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp index de82f319d5..3c77b2bc3a 100644 --- a/Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp +++ b/Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp @@ -45,8 +45,8 @@ ConfigStringChoice::ConfigStringChoice(const std::vector