From 58672cc7b6ee58209a802e030f2a427e579ca415 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Mon, 13 Jul 2020 17:08:50 -0400 Subject: configure_general: Implement manual tristate buttons --- src/yuzu/configuration/configure_general.cpp | 42 +++++++++++++++++----------- 1 file changed, 25 insertions(+), 17 deletions(-) (limited to 'src/yuzu/configuration/configure_general.cpp') diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index 20316c9cc..e3ddbc294 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -19,9 +19,10 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent) SetConfiguration(); - connect(ui->toggle_frame_limit, &QCheckBox::stateChanged, ui->frame_limit, [this]() { - ui->frame_limit->setEnabled(ui->toggle_frame_limit->checkState() == Qt::Checked); - }); + if (Settings::configuring_global) { + connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, + [this]() { ui->frame_limit->setEnabled(ui->toggle_frame_limit->isChecked()); }); + } } ConfigureGeneral::~ConfigureGeneral() = default; @@ -40,17 +41,13 @@ void ConfigureGeneral::SetConfiguration() { ui->toggle_frame_limit->setChecked(Settings::values.use_frame_limit.GetValue()); ui->frame_limit->setValue(Settings::values.frame_limit.GetValue()); - if (!Settings::configuring_global) { - if (Settings::values.use_multi_core.UsingGlobal()) { - ui->use_multi_core->setCheckState(Qt::PartiallyChecked); - } - if (Settings::values.use_frame_limit.UsingGlobal()) { - ui->toggle_frame_limit->setCheckState(Qt::PartiallyChecked); - } + if (Settings::configuring_global) { + ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue()); + } else { + ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue() && + ConfigurationShared::trackers.use_frame_limit != + ConfigurationShared::CheckState::Global); } - - ui->frame_limit->setEnabled(ui->toggle_frame_limit->checkState() == Qt::Checked && - ui->toggle_frame_limit->isEnabled()); } void ConfigureGeneral::ApplyConfiguration() { @@ -71,9 +68,11 @@ void ConfigureGeneral::ApplyConfiguration() { } } else { ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, - ui->use_multi_core); + ui->use_multi_core, + ConfigurationShared::trackers.use_multi_core); - bool global_frame_limit = ui->toggle_frame_limit->checkState() == Qt::PartiallyChecked; + bool global_frame_limit = ConfigurationShared::trackers.use_frame_limit == + ConfigurationShared::CheckState::Global; Settings::values.use_frame_limit.SetGlobal(global_frame_limit); Settings::values.frame_limit.SetGlobal(global_frame_limit); if (!global_frame_limit) { @@ -109,6 +108,15 @@ void ConfigureGeneral::SetupPerGameUI() { ui->toggle_background_pause->setVisible(false); ui->toggle_hide_mouse->setVisible(false); - ui->toggle_frame_limit->setTristate(true); - ui->use_multi_core->setTristate(true); + ConfigurationShared::SetColoredTristate(ui->toggle_frame_limit, + Settings::values.use_frame_limit, + ConfigurationShared::trackers.use_frame_limit); + ConfigurationShared::SetColoredTristate(ui->use_multi_core, Settings::values.use_multi_core, + ConfigurationShared::trackers.use_multi_core); + + connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, [this]() { + ui->frame_limit->setEnabled(ui->toggle_frame_limit->isChecked() && + (ConfigurationShared::trackers.use_frame_limit != + ConfigurationShared::CheckState::Global)); + }); } -- cgit v1.2.3 From da65b92f9e9992413938bb084949367822b890c8 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Mon, 13 Jul 2020 19:22:41 -0400 Subject: configuration_shared: Require name of the widget for highlighting Prevents mass-coloring of elements later on --- src/yuzu/configuration/configure_general.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/yuzu/configuration/configure_general.cpp') diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index e3ddbc294..b4c288ca4 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -108,10 +108,11 @@ void ConfigureGeneral::SetupPerGameUI() { ui->toggle_background_pause->setVisible(false); ui->toggle_hide_mouse->setVisible(false); - ConfigurationShared::SetColoredTristate(ui->toggle_frame_limit, + ConfigurationShared::SetColoredTristate(ui->toggle_frame_limit, "toggle_frame_limit", Settings::values.use_frame_limit, ConfigurationShared::trackers.use_frame_limit); - ConfigurationShared::SetColoredTristate(ui->use_multi_core, Settings::values.use_multi_core, + ConfigurationShared::SetColoredTristate(ui->use_multi_core, "use_multi_core", + Settings::values.use_multi_core, ConfigurationShared::trackers.use_multi_core); connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, [this]() { -- cgit v1.2.3 From 0d462f560840f0ad584f1a24b02cd6c03cc4f5c2 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Tue, 14 Jul 2020 13:55:47 -0400 Subject: configuration_shared: Break up tracker structs to respective classes One less global variable. --- src/yuzu/configuration/configure_general.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/yuzu/configuration/configure_general.cpp') diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index b4c288ca4..672f9df87 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -45,7 +45,7 @@ void ConfigureGeneral::SetConfiguration() { ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue()); } else { ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue() && - ConfigurationShared::trackers.use_frame_limit != + trackers.use_frame_limit != ConfigurationShared::CheckState::Global); } } @@ -69,9 +69,9 @@ void ConfigureGeneral::ApplyConfiguration() { } else { ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, ui->use_multi_core, - ConfigurationShared::trackers.use_multi_core); + trackers.use_multi_core); - bool global_frame_limit = ConfigurationShared::trackers.use_frame_limit == + bool global_frame_limit = trackers.use_frame_limit == ConfigurationShared::CheckState::Global; Settings::values.use_frame_limit.SetGlobal(global_frame_limit); Settings::values.frame_limit.SetGlobal(global_frame_limit); @@ -110,14 +110,14 @@ void ConfigureGeneral::SetupPerGameUI() { ConfigurationShared::SetColoredTristate(ui->toggle_frame_limit, "toggle_frame_limit", Settings::values.use_frame_limit, - ConfigurationShared::trackers.use_frame_limit); + trackers.use_frame_limit); ConfigurationShared::SetColoredTristate(ui->use_multi_core, "use_multi_core", Settings::values.use_multi_core, - ConfigurationShared::trackers.use_multi_core); + trackers.use_multi_core); connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, [this]() { ui->frame_limit->setEnabled(ui->toggle_frame_limit->isChecked() && - (ConfigurationShared::trackers.use_frame_limit != + (trackers.use_frame_limit != ConfigurationShared::CheckState::Global)); }); } -- cgit v1.2.3 From 55ac28769aec7df378e8afe97b015bb2a56a7fd5 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Sat, 18 Jul 2020 13:25:07 -0400 Subject: clang-format --- src/yuzu/configuration/configure_general.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/yuzu/configuration/configure_general.cpp') diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index 672f9df87..3f7e1183a 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -68,11 +68,10 @@ void ConfigureGeneral::ApplyConfiguration() { } } else { ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, - ui->use_multi_core, - trackers.use_multi_core); + ui->use_multi_core, trackers.use_multi_core); - bool global_frame_limit = trackers.use_frame_limit == - ConfigurationShared::CheckState::Global; + bool global_frame_limit = + trackers.use_frame_limit == ConfigurationShared::CheckState::Global; Settings::values.use_frame_limit.SetGlobal(global_frame_limit); Settings::values.frame_limit.SetGlobal(global_frame_limit); if (!global_frame_limit) { @@ -116,8 +115,8 @@ void ConfigureGeneral::SetupPerGameUI() { trackers.use_multi_core); connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, [this]() { - ui->frame_limit->setEnabled(ui->toggle_frame_limit->isChecked() && - (trackers.use_frame_limit != - ConfigurationShared::CheckState::Global)); + ui->frame_limit->setEnabled( + ui->toggle_frame_limit->isChecked() && + (trackers.use_frame_limit != ConfigurationShared::CheckState::Global)); }); } -- cgit v1.2.3 From 3ef4769f31df20d4f4910faebf7ea89978e6a816 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Tue, 14 Jul 2020 15:42:12 -0400 Subject: configuration: Use forward declares and remove extraneous structs --- src/yuzu/configuration/configure_general.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'src/yuzu/configuration/configure_general.cpp') diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index 3f7e1183a..c0dbd9855 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -45,8 +45,7 @@ void ConfigureGeneral::SetConfiguration() { ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue()); } else { ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue() && - trackers.use_frame_limit != - ConfigurationShared::CheckState::Global); + use_frame_limit != ConfigurationShared::CheckState::Global); } } @@ -68,10 +67,9 @@ void ConfigureGeneral::ApplyConfiguration() { } } else { ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, - ui->use_multi_core, trackers.use_multi_core); + ui->use_multi_core, use_multi_core); - bool global_frame_limit = - trackers.use_frame_limit == ConfigurationShared::CheckState::Global; + bool global_frame_limit = use_frame_limit == ConfigurationShared::CheckState::Global; Settings::values.use_frame_limit.SetGlobal(global_frame_limit); Settings::values.frame_limit.SetGlobal(global_frame_limit); if (!global_frame_limit) { @@ -108,15 +106,12 @@ void ConfigureGeneral::SetupPerGameUI() { ui->toggle_hide_mouse->setVisible(false); ConfigurationShared::SetColoredTristate(ui->toggle_frame_limit, "toggle_frame_limit", - Settings::values.use_frame_limit, - trackers.use_frame_limit); + Settings::values.use_frame_limit, use_frame_limit); ConfigurationShared::SetColoredTristate(ui->use_multi_core, "use_multi_core", - Settings::values.use_multi_core, - trackers.use_multi_core); + Settings::values.use_multi_core, use_multi_core); connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, [this]() { - ui->frame_limit->setEnabled( - ui->toggle_frame_limit->isChecked() && - (trackers.use_frame_limit != ConfigurationShared::CheckState::Global)); + ui->frame_limit->setEnabled(ui->toggle_frame_limit->isChecked() && + (use_frame_limit != ConfigurationShared::CheckState::Global)); }); } -- cgit v1.2.3