Эх сурвалжийг харах

yuzu: Save mute when in background setting

Narr the Reg 2 жил өмнө
parent
commit
9169cbf728

+ 2 - 0
src/common/settings.cpp

@@ -203,6 +203,8 @@ const char* TranslateCategory(Category category) {
     case Category::Ui:
     case Category::Ui:
     case Category::UiGeneral:
     case Category::UiGeneral:
         return "UI";
         return "UI";
+    case Category::UiAudio:
+        return "UiAudio";
     case Category::UiLayout:
     case Category::UiLayout:
         return "UiLayout";
         return "UiLayout";
     case Category::UiGameList:
     case Category::UiGameList:

+ 1 - 0
src/common/settings_common.h

@@ -32,6 +32,7 @@ enum class Category : u32 {
     AddOns,
     AddOns,
     Controls,
     Controls,
     Ui,
     Ui,
+    UiAudio,
     UiGeneral,
     UiGeneral,
     UiLayout,
     UiLayout,
     UiGameList,
     UiGameList,

+ 2 - 0
src/yuzu/configuration/config.cpp

@@ -360,6 +360,7 @@ void Config::ReadAudioValues() {
     qt_config->beginGroup(QStringLiteral("Audio"));
     qt_config->beginGroup(QStringLiteral("Audio"));
 
 
     ReadCategory(Settings::Category::Audio);
     ReadCategory(Settings::Category::Audio);
+    ReadCategory(Settings::Category::UiAudio);
 
 
     qt_config->endGroup();
     qt_config->endGroup();
 }
 }
@@ -900,6 +901,7 @@ void Config::SaveAudioValues() {
     qt_config->beginGroup(QStringLiteral("Audio"));
     qt_config->beginGroup(QStringLiteral("Audio"));
 
 
     WriteCategory(Settings::Category::Audio);
     WriteCategory(Settings::Category::Audio);
+    WriteCategory(Settings::Category::UiAudio);
 
 
     qt_config->endGroup();
     qt_config->endGroup();
 }
 }

+ 7 - 3
src/yuzu/configuration/configure_audio.cpp

@@ -38,17 +38,21 @@ void ConfigureAudio::Setup(const ConfigurationShared::Builder& builder) {
 
 
     std::map<u32, QWidget*> hold;
     std::map<u32, QWidget*> hold;
 
 
-    auto push = [&](Settings::Category category) {
+    auto push_settings = [&](Settings::Category category) {
         for (auto* setting : Settings::values.linkage.by_category[category]) {
         for (auto* setting : Settings::values.linkage.by_category[category]) {
             settings.push_back(setting);
             settings.push_back(setting);
         }
         }
+    };
+
+    auto push_ui_settings = [&](Settings::Category category) {
         for (auto* setting : UISettings::values.linkage.by_category[category]) {
         for (auto* setting : UISettings::values.linkage.by_category[category]) {
             settings.push_back(setting);
             settings.push_back(setting);
         }
         }
     };
     };
 
 
-    push(Settings::Category::Audio);
-    push(Settings::Category::SystemAudio);
+    push_settings(Settings::Category::Audio);
+    push_settings(Settings::Category::SystemAudio);
+    push_ui_settings(Settings::Category::UiAudio);
 
 
     for (auto* setting : settings) {
     for (auto* setting : settings) {
         auto* widget = builder.BuildWidget(setting, apply_funcs);
         auto* widget = builder.BuildWidget(setting, apply_funcs);

+ 7 - 3
src/yuzu/uisettings.h

@@ -109,9 +109,13 @@ struct Values {
                                            Settings::Specialization::Default,
                                            Settings::Specialization::Default,
                                            true,
                                            true,
                                            true};
                                            true};
-    Setting<bool> mute_when_in_background{
-        linkage, false, "muteWhenInBackground", Category::Audio, Settings::Specialization::Default,
-        true,    true};
+    Setting<bool> mute_when_in_background{linkage,
+                                          false,
+                                          "muteWhenInBackground",
+                                          Category::UiAudio,
+                                          Settings::Specialization::Default,
+                                          true,
+                                          true};
     Setting<bool> hide_mouse{
     Setting<bool> hide_mouse{
         linkage, true, "hideInactiveMouse", Category::UiGeneral, Settings::Specialization::Default,
         linkage, true, "hideInactiveMouse", Category::UiGeneral, Settings::Specialization::Default,
         true,    true};
         true,    true};