mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	configuration: Use paired settings
This commit is contained in:
		@@ -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
	
	Block a user