diff --git a/src/common/settings.h b/src/common/settings.h index 1aff6cc74d..dd3cd14a02 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -138,29 +138,29 @@ struct Values { Linkage linkage{}; // Applet - Setting cabinet_applet_mode{linkage, AppletMode::LLE, "cabinet_applet_mode", + SwitchableSetting cabinet_applet_mode{linkage, AppletMode::LLE, "cabinet_applet_mode", Category::LibraryApplet}; - Setting controller_applet_mode{linkage, AppletMode::HLE, "controller_applet_mode", + SwitchableSetting controller_applet_mode{linkage, AppletMode::HLE, "controller_applet_mode", Category::LibraryApplet}; Setting data_erase_applet_mode{linkage, AppletMode::HLE, "data_erase_applet_mode", Category::LibraryApplet}; - Setting error_applet_mode{linkage, AppletMode::LLE, "error_applet_mode", + SwitchableSetting error_applet_mode{linkage, AppletMode::LLE, "error_applet_mode", Category::LibraryApplet}; Setting net_connect_applet_mode{linkage, AppletMode::LLE, "net_connect_applet_mode", Category::LibraryApplet}; - Setting player_select_applet_mode{ + SwitchableSetting player_select_applet_mode{ linkage, AppletMode::LLE, "player_select_applet_mode", Category::LibraryApplet}; - Setting swkbd_applet_mode{linkage, AppletMode::HLE, "swkbd_applet_mode", + SwitchableSetting swkbd_applet_mode{linkage, AppletMode::HLE, "swkbd_applet_mode", Category::LibraryApplet}; - Setting mii_edit_applet_mode{linkage, AppletMode::LLE, "mii_edit_applet_mode", + SwitchableSetting mii_edit_applet_mode{linkage, AppletMode::LLE, "mii_edit_applet_mode", Category::LibraryApplet}; - Setting web_applet_mode{linkage, AppletMode::HLE, "web_applet_mode", + SwitchableSetting web_applet_mode{linkage, AppletMode::HLE, "web_applet_mode", Category::LibraryApplet}; Setting shop_applet_mode{linkage, AppletMode::HLE, "shop_applet_mode", Category::LibraryApplet}; - Setting photo_viewer_applet_mode{ + SwitchableSetting photo_viewer_applet_mode{ linkage, AppletMode::LLE, "photo_viewer_applet_mode", Category::LibraryApplet}; - Setting offline_web_applet_mode{linkage, AppletMode::LLE, "offline_web_applet_mode", + SwitchableSetting offline_web_applet_mode{linkage, AppletMode::LLE, "offline_web_applet_mode", Category::LibraryApplet}; Setting login_share_applet_mode{linkage, AppletMode::HLE, "login_share_applet_mode", Category::LibraryApplet}; @@ -168,6 +168,7 @@ struct Values { linkage, AppletMode::HLE, "wifi_web_auth_applet_mode", Category::LibraryApplet}; Setting my_page_applet_mode{linkage, AppletMode::LLE, "my_page_applet_mode", Category::LibraryApplet}; + SwitchableSetting enable_overlay{linkage, false, "enable_overlay", Category::LibraryApplet}; // Audio SwitchableSetting sink_id{linkage, AudioEngine::Auto, "output_engine", @@ -830,8 +831,6 @@ struct Values { // Per-game overrides bool use_squashed_iterated_blend; - - Setting enable_overlay{linkage, false, "enable_overlay", Category::Core}; }; extern Values values; diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp index 0e304a87d6..1648a0e538 100644 --- a/src/frontend_common/config.cpp +++ b/src/frontend_common/config.cpp @@ -426,8 +426,8 @@ void Config::ReadValues() { ReadServiceValues(); ReadWebServiceValues(); ReadMiscellaneousValues(); - ReadLibraryAppletValues(); } + ReadLibraryAppletValues(); ReadNetworkValues(); ReadControlValues(); ReadCoreValues(); @@ -524,10 +524,10 @@ void Config::SaveValues() { SaveDisabledAddOnValues(); SaveWebServiceValues(); SaveMiscellaneousValues(); - SaveLibraryAppletValues(); } else { LOG_DEBUG(Config, "Saving only generic configuration values"); } + SaveLibraryAppletValues(); SaveNetworkValues(); SaveControlValues(); SaveCoreValues(); diff --git a/src/qt_common/config/shared_translation.cpp b/src/qt_common/config/shared_translation.cpp index 9666092802..9d33fa6979 100644 --- a/src/qt_common/config/shared_translation.cpp +++ b/src/qt_common/config/shared_translation.cpp @@ -47,7 +47,10 @@ std::unique_ptr InitializeTranslations(QObject* parent) INSERT(Settings, login_share_applet_mode, tr("Login share"), QString()); INSERT(Settings, wifi_web_auth_applet_mode, tr("Wifi web auth"), QString()); INSERT(Settings, my_page_applet_mode, tr("My page"), QString()); - INSERT(Settings, enable_overlay, tr("Enable Overlay Applet"), QString()); + INSERT(Settings, + enable_overlay, + tr("Enable Overlay Applet"), + tr("Enables Horizon\'s built-in overlay applet. Press and hold the home button for 1 second to show it.")); // Audio INSERT(Settings, sink_id, tr("Output Engine:"), QString()); diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp index eddb24b952..00e0a14aa3 100644 --- a/src/yuzu/configuration/configure_per_game.cpp +++ b/src/yuzu/configuration/configure_per_game.cpp @@ -41,6 +41,7 @@ #include "yuzu/configuration/configure_per_game_addons.h" #include "yuzu/configuration/configure_system.h" #include "yuzu/configuration/configure_network.h" +#include "yuzu/configuration/configure_applets.h" #include "qt_common/config/uisettings.h" #include "yuzu/util/util.h" #include "yuzu/vk_device_info.h" @@ -69,6 +70,7 @@ ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id_, const std::st input_tab = std::make_unique(system_, game_config.get(), this); system_tab = std::make_unique(system_, tab_group, *builder, this); network_tab = std::make_unique(system_, this); + applets_tab = std::make_unique(system_, tab_group, *builder, this); ui->setupUi(this); @@ -81,6 +83,7 @@ ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id_, const std::st ui->tabWidget->addTab(audio_tab.get(), tr("Audio")); ui->tabWidget->addTab(input_tab.get(), tr("Input Profiles")); ui->tabWidget->addTab(network_tab.get(), tr("Network")); + ui->tabWidget->addTab(applets_tab.get(), tr("Applets")); setFocusPolicy(Qt::ClickFocus); setWindowTitle(tr("Properties")); @@ -108,6 +111,7 @@ void ConfigurePerGame::ApplyConfiguration() { addons_tab->ApplyConfiguration(); input_tab->ApplyConfiguration(); network_tab->ApplyConfiguration(); + applets_tab->ApplyConfiguration(); if (Settings::IsDockedMode() && Settings::values.players.GetValue()[0].controller_type == Settings::ControllerType::Handheld) { diff --git a/src/yuzu/configuration/configure_per_game.h b/src/yuzu/configuration/configure_per_game.h index 1e53bf0708..442daab9cb 100644 --- a/src/yuzu/configuration/configure_per_game.h +++ b/src/yuzu/configuration/configure_per_game.h @@ -38,6 +38,7 @@ class ConfigureGraphicsExtensions; class ConfigureInputPerGame; class ConfigureSystem; class ConfigureNetwork; +class ConfigureApplets; class QGraphicsScene; class QStandardItem; @@ -93,4 +94,5 @@ private: std::unique_ptr input_tab; std::unique_ptr system_tab; std::unique_ptr network_tab; + std::unique_ptr applets_tab; };