Browse Source

configuration: Use paired settings

pull/15/merge
lat9nq 3 years ago
parent
commit
9de50d6194
  1. 14
      src/yuzu/configuration/configure_system.cpp
  2. 4
      src/yuzu/configuration/shared_widget.cpp

14
src/yuzu/configuration/configure_system.cpp

@ -107,18 +107,8 @@ void ConfigureSystem::Setup(const ConfigurationShared::Builder& builder) {
for (auto setting : settings) { for (auto setting : settings) {
ConfigurationShared::Widget* widget = [this, setting, &builder]() { ConfigurationShared::Widget* widget = [this, setting, &builder]() {
if (setting->Id() == Settings::values.custom_rtc.Id()) {
// custom_rtc needs a DateTimeEdit (default is LineEdit), and a checkbox to manage
// it and custom_rtc_enabled
return builder.BuildWidget(setting, apply_funcs,
&Settings::values.custom_rtc_enabled);
} else if (setting->Id() == Settings::values.rng_seed.Id()) {
// rng_seed needs a HexEdit (default is LineEdit), and a checkbox to manage
// it and rng_seed_enabled
return builder.BuildWidget(setting, apply_funcs,
&Settings::values.rng_seed_enabled);
} else if (setting->Id() == Settings::values.speed_limit.Id()) {
// speed_limit needs a checkbox to set use_speed_limit, as well as a spinbox
if (setting->Id() == Settings::values.speed_limit.Id()) {
// speed_limit must be specified to translate the percentage
return builder.BuildWidget(setting, apply_funcs, &Settings::values.use_speed_limit, return builder.BuildWidget(setting, apply_funcs, &Settings::values.use_speed_limit,
ConfigurationShared::RequestType::SpinBox, ConfigurationShared::RequestType::SpinBox,
tr("%", "Limit speed percentage (e.g. 50%)")); tr("%", "Limit speed percentage (e.g. 50%)"));

4
src/yuzu/configuration/shared_widget.cpp

@ -345,6 +345,10 @@ void Widget::SetupComponent(const QString& label, std::function<void()>& load_fu
QLayout* layout = new QHBoxLayout(this); QLayout* layout = new QHBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0); layout->setContentsMargins(0, 0, 0, 0);
if (other_setting == nullptr) {
other_setting = setting.PairedSetting();
}
const bool require_checkbox = const bool require_checkbox =
other_setting != nullptr && other_setting->TypeId() == typeid(bool); other_setting != nullptr && other_setting->TypeId() == typeid(bool);

Loading…
Cancel
Save