From e8af3f29d28943fd0c87ee8e7b1e80402a6a9d8f Mon Sep 17 00:00:00 2001
From: german77 <juangerman-13@hotmail.com>
Date: Sat, 11 Mar 2023 19:33:31 -0600
Subject: [PATCH 1/2] yuzu: Remove console id setting

---
 src/yuzu/configuration/configure_system.cpp | 22 -------------
 src/yuzu/configuration/configure_system.h   |  2 --
 src/yuzu/configuration/configure_system.ui  | 35 ++++-----------------
 3 files changed, 6 insertions(+), 53 deletions(-)

diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index 9ea4c02da9..b01ffdbac5 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -40,8 +40,6 @@ static bool IsValidLocale(u32 region_index, u32 language_index) {
 ConfigureSystem::ConfigureSystem(Core::System& system_, QWidget* parent)
     : QWidget(parent), ui{std::make_unique<Ui::ConfigureSystem>()}, system{system_} {
     ui->setupUi(this);
-    connect(ui->button_regenerate_console_id, &QPushButton::clicked, this,
-            &ConfigureSystem::RefreshConsoleID);
 
     connect(ui->rng_seed_checkbox, &QCheckBox::stateChanged, this, [this](int state) {
         ui->rng_seed_edit->setEnabled(state == Qt::Checked);
@@ -76,9 +74,6 @@ ConfigureSystem::ConfigureSystem(Core::System& system_, QWidget* parent)
             locale_check);
     connect(ui->combo_region, qOverload<int>(&QComboBox::currentIndexChanged), this, locale_check);
 
-    ui->label_console_id->setVisible(Settings::IsConfiguringGlobal());
-    ui->button_regenerate_console_id->setVisible(Settings::IsConfiguringGlobal());
-
     SetupPerGameUI();
 
     SetConfiguration();
@@ -202,23 +197,6 @@ void ConfigureSystem::ApplyConfiguration() {
     }
 }
 
-void ConfigureSystem::RefreshConsoleID() {
-    QMessageBox::StandardButton reply;
-    QString warning_text = tr("This will replace your current virtual Switch with a new one. "
-                              "Your current virtual Switch will not be recoverable. "
-                              "This might have unexpected effects in games. This might fail, "
-                              "if you use an outdated config savegame. Continue?");
-    reply = QMessageBox::critical(this, tr("Warning"), warning_text,
-                                  QMessageBox::No | QMessageBox::Yes);
-    if (reply == QMessageBox::No) {
-        return;
-    }
-
-    u64 console_id{};
-    ui->label_console_id->setText(
-        tr("Console ID: 0x%1").arg(QString::number(console_id, 16).toUpper()));
-}
-
 void ConfigureSystem::SetupPerGameUI() {
     if (Settings::IsConfiguringGlobal()) {
         ui->combo_language->setEnabled(Settings::values.language_index.UsingGlobal());
diff --git a/src/yuzu/configuration/configure_system.h b/src/yuzu/configuration/configure_system.h
index a7f0862581..ec28724a19 100644
--- a/src/yuzu/configuration/configure_system.h
+++ b/src/yuzu/configuration/configure_system.h
@@ -35,8 +35,6 @@ private:
 
     void ReadSystemSettings();
 
-    void RefreshConsoleID();
-
     void SetupPerGameUI();
 
     std::unique_ptr<Ui::ConfigureSystem> ui;
diff --git a/src/yuzu/configuration/configure_system.ui b/src/yuzu/configuration/configure_system.ui
index 0459cd9242..254a441475 100644
--- a/src/yuzu/configuration/configure_system.ui
+++ b/src/yuzu/configuration/configure_system.ui
@@ -411,7 +411,7 @@
             </item>
            </widget>
           </item>
-          <item row="5" column="0">
+          <item row="4" column="0">
            <widget class="QCheckBox" name="custom_rtc_checkbox">
             <property name="text">
              <string>Custom RTC</string>
@@ -425,14 +425,14 @@
             </property>
            </widget>
           </item>
-          <item row="6" column="0">
+          <item row="5" column="0">
            <widget class="QCheckBox" name="rng_seed_checkbox">
             <property name="text">
              <string>RNG Seed</string>
             </property>
            </widget>
           </item>
-          <item row="7" column="0">
+          <item row="6" column="0">
            <widget class="QLabel" name="device_name_label">
             <property name="text">
              <string>Device Name</string>
@@ -458,13 +458,6 @@
             </item>
            </widget>
           </item>
-          <item row="4" column="0">
-           <widget class="QLabel" name="label_console_id">
-            <property name="text">
-             <string>Console ID:</string>
-            </property>
-           </widget>
-          </item>
           <item row="3" column="0">
            <widget class="QLabel" name="label_sound">
             <property name="text">
@@ -472,7 +465,7 @@
             </property>
            </widget>
           </item>
-          <item row="5" column="1">
+          <item row="4" column="1">
            <widget class="QDateTimeEdit" name="custom_rtc_edit">
             <property name="minimumDate">
              <date>
@@ -483,14 +476,14 @@
             </property>
            </widget>
           </item>
-          <item row="7" column="1">
+          <item row="6" column="1">
            <widget class="QLineEdit" name="device_name_edit">
             <property name="maxLength">
              <number>128</number>
             </property>
            </widget>
           </item>
-          <item row="6" column="1">
+          <item row="5" column="1">
            <widget class="QLineEdit" name="rng_seed_edit">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
@@ -511,22 +504,6 @@
             </property>
            </widget>
           </item>
-          <item row="4" column="1">
-           <widget class="QPushButton" name="button_regenerate_console_id">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="layoutDirection">
-             <enum>Qt::RightToLeft</enum>
-            </property>
-            <property name="text">
-             <string>Regenerate</string>
-            </property>
-           </widget>
-          </item>
          </layout>
         </item>
        </layout>

From e090a1c6bdcfc7515c66fc49b0028b161dbe80eb Mon Sep 17 00:00:00 2001
From: german77 <juangerman-13@hotmail.com>
Date: Sat, 11 Mar 2023 20:04:36 -0600
Subject: [PATCH 2/2] yuzu: Move audio settings to audio section

---
 src/yuzu/configuration/configure_audio.cpp   | 13 ++++++
 src/yuzu/configuration/configure_audio.ui    | 45 +++++++++++++++++++-
 src/yuzu/configuration/configure_general.cpp |  2 -
 src/yuzu/configuration/configure_general.ui  |  7 ---
 src/yuzu/configuration/configure_system.cpp  |  8 ----
 src/yuzu/configuration/configure_system.ui   | 26 -----------
 6 files changed, 56 insertions(+), 45 deletions(-)

diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp
index 70cc6f84bd..4bec512607 100644
--- a/src/yuzu/configuration/configure_audio.cpp
+++ b/src/yuzu/configuration/configure_audio.cpp
@@ -10,6 +10,7 @@
 #include "ui_configure_audio.h"
 #include "yuzu/configuration/configuration_shared.h"
 #include "yuzu/configuration/configure_audio.h"
+#include "yuzu/uisettings.h"
 
 ConfigureAudio::ConfigureAudio(const Core::System& system_, QWidget* parent)
     : QWidget(parent), ui(std::make_unique<Ui::ConfigureAudio>()), system{system_} {
@@ -47,17 +48,22 @@ void ConfigureAudio::SetConfiguration() {
 
     const auto volume_value = static_cast<int>(Settings::values.volume.GetValue());
     ui->volume_slider->setValue(volume_value);
+    ui->toggle_background_mute->setChecked(UISettings::values.mute_when_in_background.GetValue());
 
     if (!Settings::IsConfiguringGlobal()) {
         if (Settings::values.volume.UsingGlobal()) {
             ui->volume_combo_box->setCurrentIndex(0);
             ui->volume_slider->setEnabled(false);
+            ui->combo_sound->setCurrentIndex(Settings::values.sound_index.GetValue());
         } else {
             ui->volume_combo_box->setCurrentIndex(1);
             ui->volume_slider->setEnabled(true);
+            ConfigurationShared::SetPerGameSetting(ui->combo_sound, &Settings::values.sound_index);
         }
         ConfigurationShared::SetHighlight(ui->volume_layout,
                                           !Settings::values.volume.UsingGlobal());
+        ConfigurationShared::SetHighlight(ui->mode_label,
+                                          !Settings::values.sound_index.UsingGlobal());
     }
     SetVolumeIndicatorText(ui->volume_slider->sliderPosition());
 }
@@ -109,6 +115,8 @@ void ConfigureAudio::SetVolumeIndicatorText(int percentage) {
 }
 
 void ConfigureAudio::ApplyConfiguration() {
+    ConfigurationShared::ApplyPerGameSetting(&Settings::values.sound_index, ui->combo_sound);
+
     if (Settings::IsConfiguringGlobal()) {
         Settings::values.sink_id =
             ui->sink_combo_box->itemText(ui->sink_combo_box->currentIndex()).toStdString();
@@ -116,6 +124,7 @@ void ConfigureAudio::ApplyConfiguration() {
             ui->output_combo_box->itemText(ui->output_combo_box->currentIndex()).toStdString());
         Settings::values.audio_input_device_id.SetValue(
             ui->input_combo_box->itemText(ui->input_combo_box->currentIndex()).toStdString());
+        UISettings::values.mute_when_in_background = ui->toggle_background_mute->isChecked();
 
         // Guard if during game and set to game-specific value
         if (Settings::values.volume.UsingGlobal()) {
@@ -174,10 +183,14 @@ void ConfigureAudio::RetranslateUI() {
 void ConfigureAudio::SetupPerGameUI() {
     if (Settings::IsConfiguringGlobal()) {
         ui->volume_slider->setEnabled(Settings::values.volume.UsingGlobal());
+        // ui->combo_sound->setEnabled(Settings::values.sound_index.UsingGlobal());
 
         return;
     }
 
+    // ConfigurationShared::SetColoredComboBox(ui->combo_sound, ui->label_sound,
+    //                                        Settings::values.sound_index.GetValue(true));
+
     connect(ui->volume_combo_box, qOverload<int>(&QComboBox::activated), this, [this](int index) {
         ui->volume_slider->setEnabled(index == 1);
         ConfigurationShared::SetHighlight(ui->volume_layout, index == 1);
diff --git a/src/yuzu/configuration/configure_audio.ui b/src/yuzu/configuration/configure_audio.ui
index 6034d8581d..bcd5d8c2b9 100644
--- a/src/yuzu/configuration/configure_audio.ui
+++ b/src/yuzu/configuration/configure_audio.ui
@@ -39,7 +39,7 @@
         <item>
          <widget class="QLabel" name="output_label">
           <property name="text">
-           <string>Output Device</string>
+           <string>Output Device:</string>
           </property>
          </widget>
         </item>
@@ -53,7 +53,7 @@
         <item>
          <widget class="QLabel" name="input_label">
           <property name="text">
-           <string>Input Device</string>
+           <string>Input Device:</string>
           </property>
          </widget>
         </item>
@@ -61,6 +61,36 @@
          <widget class="QComboBox" name="input_combo_box"/>
         </item>
        </layout>
+      </item>
+       <item>
+       <layout class="QHBoxLayout" name="mode_layout">
+        <item>
+         <widget class="QLabel" name="mode_label">
+          <property name="text">
+           <string>Sound Ouput Mode:</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+          <widget class="QComboBox" name="combo_sound">
+            <item>
+              <property name="text">
+                <string>Mono</string>
+              </property>
+            </item>
+            <item>
+              <property name="text">
+                <string>Stereo</string>
+              </property>
+            </item>
+            <item>
+              <property name="text">
+                <string>Surround</string>
+              </property>
+            </item>
+          </widget>
+        </item>
+       </layout>
       </item>
       <item>
        <widget class="QWidget" name="volume_layout" native="true">
@@ -149,6 +179,17 @@
         </layout>
        </widget>
       </item>
+      <item>
+       <layout class="QHBoxLayout" name="mute_layout">
+         <item>
+           <widget class="QCheckBox" name="toggle_background_mute">
+             <property name="text">
+               <string>Mute audio when in background</string>
+             </property>
+           </widget>
+         </item>
+       </layout>
+      </item>
      </layout>
     </widget>
    </item>
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 7ade01ba62..207bcdc4de 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -42,7 +42,6 @@ void ConfigureGeneral::SetConfiguration() {
     ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing.GetValue());
     ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot.GetValue());
     ui->toggle_background_pause->setChecked(UISettings::values.pause_when_in_background.GetValue());
-    ui->toggle_background_mute->setChecked(UISettings::values.mute_when_in_background.GetValue());
     ui->toggle_hide_mouse->setChecked(UISettings::values.hide_mouse.GetValue());
 
     ui->toggle_speed_limit->setChecked(Settings::values.use_speed_limit.GetValue());
@@ -88,7 +87,6 @@ void ConfigureGeneral::ApplyConfiguration() {
         UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
         UISettings::values.select_user_on_boot = ui->toggle_user_on_boot->isChecked();
         UISettings::values.pause_when_in_background = ui->toggle_background_pause->isChecked();
-        UISettings::values.mute_when_in_background = ui->toggle_background_mute->isChecked();
         UISettings::values.hide_mouse = ui->toggle_hide_mouse->isChecked();
 
         // Guard if during game and set to game-specific value
diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui
index 5b90b11094..6cd79673c1 100644
--- a/src/yuzu/configuration/configure_general.ui
+++ b/src/yuzu/configuration/configure_general.ui
@@ -89,13 +89,6 @@
             </property>
            </widget>
           </item>
-          <item>
-           <widget class="QCheckBox" name="toggle_background_mute">
-            <property name="text">
-             <string>Mute audio when in background</string>
-            </property>
-           </widget>
-          </item>
           <item>
            <widget class="QCheckBox" name="toggle_hide_mouse">
             <property name="text">
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index b01ffdbac5..6af34f7935 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -116,14 +116,12 @@ void ConfigureSystem::SetConfiguration() {
         ui->combo_language->setCurrentIndex(Settings::values.language_index.GetValue());
         ui->combo_region->setCurrentIndex(Settings::values.region_index.GetValue());
         ui->combo_time_zone->setCurrentIndex(Settings::values.time_zone_index.GetValue());
-        ui->combo_sound->setCurrentIndex(Settings::values.sound_index.GetValue());
     } else {
         ConfigurationShared::SetPerGameSetting(ui->combo_language,
                                                &Settings::values.language_index);
         ConfigurationShared::SetPerGameSetting(ui->combo_region, &Settings::values.region_index);
         ConfigurationShared::SetPerGameSetting(ui->combo_time_zone,
                                                &Settings::values.time_zone_index);
-        ConfigurationShared::SetPerGameSetting(ui->combo_sound, &Settings::values.sound_index);
 
         ConfigurationShared::SetHighlight(ui->label_language,
                                           !Settings::values.language_index.UsingGlobal());
@@ -131,8 +129,6 @@ void ConfigureSystem::SetConfiguration() {
                                           !Settings::values.region_index.UsingGlobal());
         ConfigurationShared::SetHighlight(ui->label_timezone,
                                           !Settings::values.time_zone_index.UsingGlobal());
-        ConfigurationShared::SetHighlight(ui->label_sound,
-                                          !Settings::values.sound_index.UsingGlobal());
     }
 }
 
@@ -164,7 +160,6 @@ void ConfigureSystem::ApplyConfiguration() {
     ConfigurationShared::ApplyPerGameSetting(&Settings::values.region_index, ui->combo_region);
     ConfigurationShared::ApplyPerGameSetting(&Settings::values.time_zone_index,
                                              ui->combo_time_zone);
-    ConfigurationShared::ApplyPerGameSetting(&Settings::values.sound_index, ui->combo_sound);
 
     if (Settings::IsConfiguringGlobal()) {
         // Guard if during game and set to game-specific value
@@ -202,7 +197,6 @@ void ConfigureSystem::SetupPerGameUI() {
         ui->combo_language->setEnabled(Settings::values.language_index.UsingGlobal());
         ui->combo_region->setEnabled(Settings::values.region_index.UsingGlobal());
         ui->combo_time_zone->setEnabled(Settings::values.time_zone_index.UsingGlobal());
-        ui->combo_sound->setEnabled(Settings::values.sound_index.UsingGlobal());
         ui->rng_seed_checkbox->setEnabled(Settings::values.rng_seed.UsingGlobal());
         ui->rng_seed_edit->setEnabled(Settings::values.rng_seed.UsingGlobal());
 
@@ -215,8 +209,6 @@ void ConfigureSystem::SetupPerGameUI() {
                                             Settings::values.region_index.GetValue(true));
     ConfigurationShared::SetColoredComboBox(ui->combo_time_zone, ui->label_timezone,
                                             Settings::values.time_zone_index.GetValue(true));
-    ConfigurationShared::SetColoredComboBox(ui->combo_sound, ui->label_sound,
-                                            Settings::values.sound_index.GetValue(true));
 
     ConfigurationShared::SetColoredTristate(
         ui->rng_seed_checkbox, Settings::values.rng_seed.UsingGlobal(),
diff --git a/src/yuzu/configuration/configure_system.ui b/src/yuzu/configuration/configure_system.ui
index 254a441475..9e7bc3b930 100644
--- a/src/yuzu/configuration/configure_system.ui
+++ b/src/yuzu/configuration/configure_system.ui
@@ -439,32 +439,6 @@
             </property>
            </widget>
           </item>
-          <item row="3" column="1">
-           <widget class="QComboBox" name="combo_sound">
-            <item>
-             <property name="text">
-              <string>Mono</string>
-             </property>
-            </item>
-            <item>
-             <property name="text">
-              <string>Stereo</string>
-             </property>
-            </item>
-            <item>
-             <property name="text">
-              <string>Surround</string>
-             </property>
-            </item>
-           </widget>
-          </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="label_sound">
-            <property name="text">
-             <string>Sound output mode</string>
-            </property>
-           </widget>
-          </item>
           <item row="4" column="1">
            <widget class="QDateTimeEdit" name="custom_rtc_edit">
             <property name="minimumDate">