configuration_shared: Add default combobox setup function

Not a catch-all, but helps clean up the code for when I do this a lot. Also fixes some bugs caught in configure_graphics.
This commit is contained in:
lat9nq
2020-07-13 23:00:56 -04:00
parent 2627241541
commit 6316a3d8d9
3 changed files with 52 additions and 21 deletions

View File

@ -80,6 +80,8 @@ void ConfigureGraphics::SetConfiguration() {
ui->aspect_ratio_combobox->setCurrentIndex(Settings::values.aspect_ratio.GetValue());
} else {
ConfigurationShared::SetPerGameSetting(ui->api, &Settings::values.renderer_backend);
ConfigurationShared::SetHighlight(ui->api_layout, "api_layout",
!Settings::values.renderer_backend.UsingGlobal());
ConfigurationShared::SetPerGameSetting(ui->aspect_ratio_combobox,
&Settings::values.aspect_ratio);
@ -89,8 +91,6 @@ void ConfigureGraphics::SetConfiguration() {
!Settings::values.aspect_ratio.UsingGlobal());
ConfigurationShared::SetHighlight(ui->bg_layout, "bg_layout",
!Settings::values.bg_red.UsingGlobal());
// FIXME: ConfigurationShared::SetHighlight(ui->api_layout, "api_layout",
// !Settings::values.renderer_backend.UsingGlobal());
}
UpdateBackgroundColorButton(QColor::fromRgbF(Settings::values.bg_red.GetValue(),
@ -141,10 +141,12 @@ void ConfigureGraphics::ApplyConfiguration() {
ConfigurationShared::ApplyPerGameSetting(&Settings::values.aspect_ratio,
ui->aspect_ratio_combobox);
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_disk_shader_cache,
ui->use_disk_shader_cache);
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_gpu_emulation,
ui->use_asynchronous_gpu_emulation);
ConfigurationShared::ApplyPerGameSetting(
&Settings::values.use_disk_shader_cache, ui->use_disk_shader_cache,
ConfigurationShared::trackers.use_disk_shader_cache);
ConfigurationShared::ApplyPerGameSetting(
&Settings::values.use_asynchronous_gpu_emulation, ui->use_asynchronous_gpu_emulation,
ConfigurationShared::trackers.use_asynchronous_gpu_emulation);
if (ui->bg_combobox->currentIndex() == ConfigurationShared::USE_GLOBAL_INDEX) {
Settings::values.bg_red.SetGlobal(true);
@ -247,11 +249,6 @@ void ConfigureGraphics::SetupPerGameUI() {
return;
}
connect(ui->aspect_ratio_combobox, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated),
this, [this](int index) {
ConfigurationShared::SetHighlight(ui->aspect_ratio_layout, "aspect_ratio_layout",
index != 0);
});
connect(ui->bg_combobox, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this,
[this](int index) {
ui->bg_button->setEnabled(index == 1);
@ -266,8 +263,9 @@ void ConfigureGraphics::SetupPerGameUI() {
Settings::values.use_asynchronous_gpu_emulation,
ConfigurationShared::trackers.use_asynchronous_gpu_emulation);
ConfigurationShared::InsertGlobalItem(ui->aspect_ratio_combobox,
Settings::values.aspect_ratio.GetValue(true));
ConfigurationShared::SetColoredComboBox(ui->aspect_ratio_combobox, ui->aspect_ratio_layout,
"aspect_ratio_layout",
Settings::values.aspect_ratio.GetValue(true));
ConfigurationShared::InsertGlobalItem(
ui->api, static_cast<int>(Settings::values.renderer_backend.GetValue(true)));
}