From dfa56765d6d869a317ec46dcf3a8f4f35b146382 Mon Sep 17 00:00:00 2001 From: xcfrg <30675315+xcfrg@users.noreply.github.com> Date: Sun, 16 Jul 2023 18:45:33 -0400 Subject: yuzu: integrate gamemode support on linux --- src/yuzu/configuration/configure_general.cpp | 3 +++ src/yuzu/configuration/shared_translation.cpp | 1 + 2 files changed, 4 insertions(+) (limited to 'src/yuzu/configuration') diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index c727fadd1..ce7e17850 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -29,6 +29,9 @@ ConfigureGeneral::ConfigureGeneral(const Core::System& system_, if (!Settings::IsConfiguringGlobal()) { ui->button_reset_defaults->setVisible(false); } +#ifndef __linux__ + ui->enable_gamemode->setVisible(false); +#endif } ConfigureGeneral::~ConfigureGeneral() = default; diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index a7b5def32..903805e75 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp @@ -175,6 +175,7 @@ std::unique_ptr InitializeTranslations(QWidget* parent) { INSERT(UISettings, hide_mouse, tr("Hide mouse on inactivity"), QStringLiteral()); INSERT(UISettings, controller_applet_disabled, tr("Disable controller applet"), QStringLiteral()); + INSERT(UISettings, enable_gamemode, tr("Enable Gamemode"), QStringLiteral()); // Ui Debugging -- cgit v1.2.3 From 40644d43f700cb0075db0eea288078bda7cf4527 Mon Sep 17 00:00:00 2001 From: flodavid Date: Fri, 3 Nov 2023 15:41:16 +0100 Subject: yuzu: create linux group in general settings - Create files dedicated to starting and stopping gamemode functions - Use them in yuzu and yuzu_cmd modules --- src/yuzu/configuration/configure_general.cpp | 46 +++++++++++++++++++++------ src/yuzu/configuration/configure_general.ui | 27 ++++++++++++++++ src/yuzu/configuration/configure_system.ui | 2 +- src/yuzu/configuration/shared_translation.cpp | 4 ++- 4 files changed, 67 insertions(+), 12 deletions(-) (limited to 'src/yuzu/configuration') diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index ce7e17850..701b895e7 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -29,9 +29,6 @@ ConfigureGeneral::ConfigureGeneral(const Core::System& system_, if (!Settings::IsConfiguringGlobal()) { ui->button_reset_defaults->setVisible(false); } -#ifndef __linux__ - ui->enable_gamemode->setVisible(false); -#endif } ConfigureGeneral::~ConfigureGeneral() = default; @@ -39,12 +36,29 @@ ConfigureGeneral::~ConfigureGeneral() = default; void ConfigureGeneral::SetConfiguration() {} void ConfigureGeneral::Setup(const ConfigurationShared::Builder& builder) { - QLayout& layout = *ui->general_widget->layout(); + QLayout& general_layout = *ui->general_widget->layout(); + QLayout& linux_layout = *ui->linux_widget->layout(); + + std::map general_hold{}; + std::map linux_hold{}; + + std::vector settings; + + auto push = [&settings](auto& list) { + for (auto setting : list) { + settings.push_back(setting); + } + }; - std::map hold{}; + push(UISettings::values.linkage.by_category[Settings::Category::UiGeneral]); + push(Settings::values.linkage.by_category[Settings::Category::Linux]); - for (const auto setting : - UISettings::values.linkage.by_category[Settings::Category::UiGeneral]) { + // Only show Linux group on Unix +#ifndef __unix__ + ui->LinuxGroupBox->setVisible(false); +#endif + + for (const auto setting : settings) { auto* widget = builder.BuildWidget(setting, apply_funcs); if (widget == nullptr) { @@ -55,11 +69,23 @@ void ConfigureGeneral::Setup(const ConfigurationShared::Builder& builder) { continue; } - hold.emplace(setting->Id(), widget); + switch (setting->GetCategory()) { + case Settings::Category::UiGeneral: + general_hold.emplace(setting->Id(), widget); + break; + case Settings::Category::Linux: + linux_hold.emplace(setting->Id(), widget); + break; + default: + widget->deleteLater(); + } } - for (const auto& [id, widget] : hold) { - layout.addWidget(widget); + for (const auto& [id, widget] : general_hold) { + general_layout.addWidget(widget); + } + for (const auto& [id, widget] : linux_hold) { + linux_layout.addWidget(widget); } } diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui index a10e7d3a5..ef20891a3 100644 --- a/src/yuzu/configuration/configure_general.ui +++ b/src/yuzu/configuration/configure_general.ui @@ -46,6 +46,33 @@ + + + + Linux + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + diff --git a/src/yuzu/configuration/configure_system.ui b/src/yuzu/configuration/configure_system.ui index 2a735836e..04b771129 100644 --- a/src/yuzu/configuration/configure_system.ui +++ b/src/yuzu/configuration/configure_system.ui @@ -57,7 +57,7 @@ - + Core diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index 903805e75..ee0ca4aa7 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp @@ -175,7 +175,9 @@ std::unique_ptr InitializeTranslations(QWidget* parent) { INSERT(UISettings, hide_mouse, tr("Hide mouse on inactivity"), QStringLiteral()); INSERT(UISettings, controller_applet_disabled, tr("Disable controller applet"), QStringLiteral()); - INSERT(UISettings, enable_gamemode, tr("Enable Gamemode"), QStringLiteral()); + + // Linux + INSERT(Settings, enable_gamemode, tr("Enable Gamemode"), QStringLiteral()); // Ui Debugging -- cgit v1.2.3