configuration: Use paired settings
This commit is contained in:
parent
7f708e8d77
commit
9de50d6194
|
@ -107,18 +107,8 @@ void ConfigureSystem::Setup(const ConfigurationShared::Builder& builder) {
|
|||
|
||||
for (auto setting : settings) {
|
||||
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,
|
||||
ConfigurationShared::RequestType::SpinBox,
|
||||
tr("%", "Limit speed percentage (e.g. 50%)"));
|
||||
|
|
|
@ -345,6 +345,10 @@ void Widget::SetupComponent(const QString& label, std::function<void()>& load_fu
|
|||
QLayout* layout = new QHBoxLayout(this);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
if (other_setting == nullptr) {
|
||||
other_setting = setting.PairedSetting();
|
||||
}
|
||||
|
||||
const bool require_checkbox =
|
||||
other_setting != nullptr && other_setting->TypeId() == typeid(bool);
|
||||
|
||||
|
|
Reference in New Issue