mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-12-23 17:00:57 +01:00
configure_graphics: Implement highlighted overrides
This commit is contained in:
parent
bf25d583c6
commit
c4246b80f8
2 changed files with 200 additions and 134 deletions
|
@ -32,7 +32,12 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
||||||
SetConfiguration();
|
SetConfiguration();
|
||||||
|
|
||||||
connect(ui->api, qOverload<int>(&QComboBox::currentIndexChanged), this,
|
connect(ui->api, qOverload<int>(&QComboBox::currentIndexChanged), this,
|
||||||
[this] { UpdateDeviceComboBox(); });
|
[this] {
|
||||||
|
UpdateDeviceComboBox();
|
||||||
|
if (!Settings::configuring_global) {
|
||||||
|
ConfigurationShared::SetHighlight(ui->api_layout, "api_layout", ui->api->currentIndex() != ConfigurationShared::USE_GLOBAL_INDEX);
|
||||||
|
}
|
||||||
|
});
|
||||||
connect(ui->device, qOverload<int>(&QComboBox::activated), this,
|
connect(ui->device, qOverload<int>(&QComboBox::activated), this,
|
||||||
[this](int device) { UpdateDeviceSelection(device); });
|
[this](int device) { UpdateDeviceSelection(device); });
|
||||||
|
|
||||||
|
@ -65,25 +70,23 @@ void ConfigureGraphics::SetConfiguration() {
|
||||||
ui->api->setEnabled(runtime_lock);
|
ui->api->setEnabled(runtime_lock);
|
||||||
ui->use_asynchronous_gpu_emulation->setEnabled(runtime_lock);
|
ui->use_asynchronous_gpu_emulation->setEnabled(runtime_lock);
|
||||||
ui->use_disk_shader_cache->setEnabled(runtime_lock);
|
ui->use_disk_shader_cache->setEnabled(runtime_lock);
|
||||||
|
ui->use_disk_shader_cache->setChecked(Settings::values.use_disk_shader_cache.GetValue());
|
||||||
|
ui->use_asynchronous_gpu_emulation->setChecked(
|
||||||
|
Settings::values.use_asynchronous_gpu_emulation.GetValue());
|
||||||
|
|
||||||
if (Settings::configuring_global) {
|
if (Settings::configuring_global) {
|
||||||
ui->api->setCurrentIndex(static_cast<int>(Settings::values.renderer_backend.GetValue()));
|
ui->api->setCurrentIndex(static_cast<int>(Settings::values.renderer_backend.GetValue()));
|
||||||
ui->aspect_ratio_combobox->setCurrentIndex(Settings::values.aspect_ratio.GetValue());
|
ui->aspect_ratio_combobox->setCurrentIndex(Settings::values.aspect_ratio.GetValue());
|
||||||
ui->use_disk_shader_cache->setChecked(Settings::values.use_disk_shader_cache.GetValue());
|
|
||||||
ui->use_asynchronous_gpu_emulation->setChecked(
|
|
||||||
Settings::values.use_asynchronous_gpu_emulation.GetValue());
|
|
||||||
} else {
|
} else {
|
||||||
ConfigurationShared::SetPerGameSetting(ui->use_disk_shader_cache,
|
|
||||||
&Settings::values.use_disk_shader_cache);
|
|
||||||
ConfigurationShared::SetPerGameSetting(ui->use_asynchronous_gpu_emulation,
|
|
||||||
&Settings::values.use_asynchronous_gpu_emulation);
|
|
||||||
|
|
||||||
ConfigurationShared::SetPerGameSetting(ui->api, &Settings::values.renderer_backend);
|
ConfigurationShared::SetPerGameSetting(ui->api, &Settings::values.renderer_backend);
|
||||||
ConfigurationShared::SetPerGameSetting(ui->aspect_ratio_combobox,
|
ConfigurationShared::SetPerGameSetting(ui->aspect_ratio_combobox,
|
||||||
&Settings::values.aspect_ratio);
|
&Settings::values.aspect_ratio);
|
||||||
|
|
||||||
ui->bg_combobox->setCurrentIndex(Settings::values.bg_red.UsingGlobal() ? 0 : 1);
|
ui->bg_combobox->setCurrentIndex(Settings::values.bg_red.UsingGlobal() ? 0 : 1);
|
||||||
ui->bg_button->setEnabled(!Settings::values.bg_red.UsingGlobal());
|
ui->bg_button->setEnabled(!Settings::values.bg_red.UsingGlobal());
|
||||||
|
ConfigurationShared::SetHighlight(ui->aspect_ratio_layout, "aspect_ratio_layout", !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(),
|
UpdateBackgroundColorButton(QColor::fromRgbF(Settings::values.bg_red.GetValue(),
|
||||||
|
@ -240,11 +243,23 @@ void ConfigureGraphics::SetupPerGameUI() {
|
||||||
return;
|
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,
|
connect(ui->bg_combobox, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this,
|
||||||
[this](int index) { ui->bg_button->setEnabled(index == 1); });
|
[this](int index) {
|
||||||
|
ui->bg_button->setEnabled(index == 1);
|
||||||
|
ConfigurationShared::SetHighlight(ui->bg_layout, "bg_layout", index == 1);
|
||||||
|
});
|
||||||
|
|
||||||
ui->use_disk_shader_cache->setTristate(true);
|
ConfigurationShared::SetColoredTristate(ui->use_disk_shader_cache, "use_disk_shader_cache",
|
||||||
ui->use_asynchronous_gpu_emulation->setTristate(true);
|
Settings::values.use_disk_shader_cache,
|
||||||
ConfigurationShared::InsertGlobalItem(ui->aspect_ratio_combobox);
|
ConfigurationShared::trackers.use_disk_shader_cache);
|
||||||
ConfigurationShared::InsertGlobalItem(ui->api);
|
ConfigurationShared::SetColoredTristate(
|
||||||
|
ui->use_asynchronous_gpu_emulation, "use_asynchronous_gpu_emulation",
|
||||||
|
Settings::values.use_asynchronous_gpu_emulation,
|
||||||
|
ConfigurationShared::trackers.use_asynchronous_gpu_emulation);
|
||||||
|
|
||||||
|
ConfigurationShared::InsertGlobalItem(ui->aspect_ratio_combobox, ui->aspect_ratio_combobox->itemText(Settings::values.aspect_ratio.GetValue(true)));
|
||||||
|
ConfigurationShared::InsertGlobalItem(ui->api, ui->api->itemText(static_cast<int>(Settings::values.renderer_backend.GetValue(true))));
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,43 +23,57 @@
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<widget class="QWidget" name="api_layout" native="true">
|
||||||
<item>
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
<widget class="QLabel" name="label_2">
|
<property name="leftMargin">
|
||||||
<property name="text">
|
<number>0</number>
|
||||||
<string>API:</string>
|
</property>
|
||||||
</property>
|
<property name="topMargin">
|
||||||
</widget>
|
<number>0</number>
|
||||||
</item>
|
</property>
|
||||||
<item>
|
<property name="rightMargin">
|
||||||
<widget class="QComboBox" name="api">
|
<number>0</number>
|
||||||
<item>
|
</property>
|
||||||
<property name="text">
|
<property name="bottomMargin">
|
||||||
<string notr="true">OpenGL</string>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
<item>
|
||||||
<item>
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<property name="text">
|
<item row="0" column="1">
|
||||||
<string notr="true">Vulkan</string>
|
<widget class="QComboBox" name="api">
|
||||||
</property>
|
<item>
|
||||||
</item>
|
<property name="text">
|
||||||
</widget>
|
<string notr="true">OpenGL</string>
|
||||||
</item>
|
</property>
|
||||||
</layout>
|
</item>
|
||||||
</item>
|
<item>
|
||||||
<item>
|
<property name="text">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
<string notr="true">Vulkan</string>
|
||||||
<item>
|
</property>
|
||||||
<widget class="QLabel" name="label_3">
|
</item>
|
||||||
<property name="text">
|
</widget>
|
||||||
<string>Device:</string>
|
</item>
|
||||||
</property>
|
<item row="0" column="0">
|
||||||
</widget>
|
<widget class="QLabel" name="label_2">
|
||||||
</item>
|
<property name="text">
|
||||||
<item>
|
<string>API:</string>
|
||||||
<widget class="QComboBox" name="device"/>
|
</property>
|
||||||
</item>
|
</widget>
|
||||||
</layout>
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QComboBox" name="device"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Device:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
@ -85,96 +99,133 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
<widget class="QWidget" name="aspect_ratio_layout" native="true">
|
||||||
<item>
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
<widget class="QLabel" name="ar_label">
|
<property name="leftMargin">
|
||||||
<property name="text">
|
<number>0</number>
|
||||||
<string>Aspect Ratio:</string>
|
</property>
|
||||||
</property>
|
<property name="topMargin">
|
||||||
</widget>
|
<number>0</number>
|
||||||
</item>
|
</property>
|
||||||
<item>
|
<property name="rightMargin">
|
||||||
<widget class="QComboBox" name="aspect_ratio_combobox">
|
<number>0</number>
|
||||||
<item>
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="ar_label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Default (16:9)</string>
|
<string>Aspect Ratio:</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</widget>
|
||||||
<item>
|
</item>
|
||||||
<property name="text">
|
<item>
|
||||||
<string>Force 4:3</string>
|
<widget class="QComboBox" name="aspect_ratio_combobox">
|
||||||
</property>
|
<item>
|
||||||
</item>
|
<property name="text">
|
||||||
<item>
|
<string>Default (16:9)</string>
|
||||||
<property name="text">
|
</property>
|
||||||
<string>Force 21:9</string>
|
</item>
|
||||||
</property>
|
<item>
|
||||||
</item>
|
<property name="text">
|
||||||
<item>
|
<string>Force 4:3</string>
|
||||||
<property name="text">
|
</property>
|
||||||
<string>Stretch to Window</string>
|
</item>
|
||||||
</property>
|
<item>
|
||||||
</item>
|
<property name="text">
|
||||||
</widget>
|
<string>Force 21:9</string>
|
||||||
</item>
|
</property>
|
||||||
</layout>
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Stretch to Window</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
<widget class="QWidget" name="bg_layout" native="true">
|
||||||
<item>
|
<property name="sizePolicy">
|
||||||
<widget class="QComboBox" name="bg_combobox">
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||||
<property name="currentText">
|
<horstretch>0</horstretch>
|
||||||
<string>Use global background color</string>
|
<verstretch>0</verstretch>
|
||||||
</property>
|
</sizepolicy>
|
||||||
<property name="currentIndex">
|
</property>
|
||||||
<number>0</number>
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
</property>
|
<property name="spacing">
|
||||||
<property name="maxVisibleItems">
|
<number>6</number>
|
||||||
<number>10</number>
|
</property>
|
||||||
</property>
|
<property name="leftMargin">
|
||||||
<item>
|
<number>0</number>
|
||||||
<property name="text">
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="bg_combobox">
|
||||||
|
<property name="currentText">
|
||||||
<string>Use global background color</string>
|
<string>Use global background color</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
<property name="currentIndex">
|
||||||
<item>
|
<number>0</number>
|
||||||
<property name="text">
|
|
||||||
<string>Set background color:</string>
|
|
||||||
</property>
|
</property>
|
||||||
</item>
|
<property name="maxVisibleItems">
|
||||||
</widget>
|
<number>10</number>
|
||||||
</item>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="bg_label">
|
<property name="text">
|
||||||
<property name="text">
|
<string>Use global background color</string>
|
||||||
<string>Background Color:</string>
|
</property>
|
||||||
</property>
|
</item>
|
||||||
</widget>
|
<item>
|
||||||
</item>
|
<property name="text">
|
||||||
<item>
|
<string>Set background color:</string>
|
||||||
<spacer name="horizontalSpacer">
|
</property>
|
||||||
<property name="orientation">
|
</item>
|
||||||
<enum>Qt::Horizontal</enum>
|
</widget>
|
||||||
</property>
|
</item>
|
||||||
<property name="sizeHint" stdset="0">
|
<item>
|
||||||
<size>
|
<widget class="QLabel" name="bg_label">
|
||||||
<width>40</width>
|
<property name="text">
|
||||||
<height>20</height>
|
<string>Background Color:</string>
|
||||||
</size>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</spacer>
|
</item>
|
||||||
</item>
|
<item>
|
||||||
<item>
|
<spacer name="horizontalSpacer">
|
||||||
<widget class="QPushButton" name="bg_button">
|
<property name="orientation">
|
||||||
<property name="maximumSize">
|
<enum>Qt::Horizontal</enum>
|
||||||
<size>
|
</property>
|
||||||
<width>40</width>
|
<property name="sizeHint" stdset="0">
|
||||||
<height>16777215</height>
|
<size>
|
||||||
</size>
|
<width>40</width>
|
||||||
</property>
|
<height>20</height>
|
||||||
</widget>
|
</size>
|
||||||
</item>
|
</property>
|
||||||
</layout>
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="bg_button">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
Loading…
Reference in a new issue