diff --git a/src/citra_qt/configuration/configure_general.cpp b/src/citra_qt/configuration/configure_general.cpp index 9a2d58a68..f655a3a81 100644 --- a/src/citra_qt/configuration/configure_general.cpp +++ b/src/citra_qt/configuration/configure_general.cpp @@ -28,16 +28,9 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent) : QWidget(parent), ui(std::make_unique()) { ui->setupUi(this); - connect(ui->turbo_limit, &QSlider::valueChanged, this, [&](double value) { - Settings::values.turbo_limit.SetValue(SliderToSettings(value)); - ui->turbo_limit_display_label->setText( - QStringLiteral("%1%").arg(Settings::values.turbo_limit.GetValue())); - }); - // Set a minimum width for the label to prevent the slider from changing size. // This scales across DPIs, and is acceptable for uncapitalized strings. const auto width = static_cast(tr("unthrottled").size() * 6); - ui->emulation_speed_display_label->setMinimumWidth(width); ui->emulation_speed_combo->setVisible(!Settings::IsConfiguringGlobal()); ui->screenshot_combo->setVisible(!Settings::IsConfiguringGlobal()); #ifndef __unix__ @@ -53,17 +46,6 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent) connect(ui->button_reset_defaults, &QPushButton::clicked, this, &ConfigureGeneral::ResetDefaults); - connect(ui->frame_limit, &QSlider::valueChanged, this, [&](int value) { - if (value == ui->frame_limit->maximum()) { - ui->emulation_speed_display_label->setText(tr("unthrottled")); - } else { - ui->emulation_speed_display_label->setText( - QStringLiteral("%1%") - .arg(SliderToSettings(value)) - .rightJustified(tr("unthrottled").size())); - } - }); - connect(ui->change_screenshot_dir, &QToolButton::clicked, this, [this] { ui->change_screenshot_dir->setEnabled(false); const QString dir_path = QFileDialog::getExistingDirectory( @@ -80,9 +62,7 @@ ConfigureGeneral::~ConfigureGeneral() = default; void ConfigureGeneral::SetConfiguration() { if (Settings::IsConfiguringGlobal()) { - ui->turbo_limit->setValue(SettingsToSlider(Settings::values.turbo_limit.GetValue())); - ui->turbo_limit_display_label->setText( - QStringLiteral("%1%").arg(Settings::values.turbo_limit.GetValue())); + ui->turbo_limit->setValue(Settings::values.turbo_limit.GetValue()); ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing.GetValue()); ui->toggle_background_pause->setChecked( @@ -97,19 +77,7 @@ void ConfigureGeneral::SetConfiguration() { #endif } - if (Settings::values.frame_limit.GetValue() == 0) { - ui->frame_limit->setValue(ui->frame_limit->maximum()); - } else { - ui->frame_limit->setValue(SettingsToSlider(Settings::values.frame_limit.GetValue())); - } - if (ui->frame_limit->value() == ui->frame_limit->maximum()) { - ui->emulation_speed_display_label->setText(tr("unthrottled")); - } else { - ui->emulation_speed_display_label->setText( - QStringLiteral("%1%") - .arg(SliderToSettings(ui->frame_limit->value())) - .rightJustified(tr("unthrottled").size())); - } + ui->frame_limit->setValue(Settings::values.frame_limit.GetValue()); if (!Settings::IsConfiguringGlobal()) { if (Settings::values.frame_limit.UsingGlobal()) { @@ -163,11 +131,9 @@ void ConfigureGeneral::ResetDefaults() { } void ConfigureGeneral::ApplyConfiguration() { - ConfigurationShared::ApplyPerGameSetting( - &Settings::values.frame_limit, ui->emulation_speed_combo, [this](s32) { - const bool is_maximum = ui->frame_limit->value() == ui->frame_limit->maximum(); - return is_maximum ? 0 : SliderToSettings(ui->frame_limit->value()); - }); + ConfigurationShared::ApplyPerGameSetting(&Settings::values.frame_limit, + ui->emulation_speed_combo, + [this](s32) { return ui->frame_limit->value(); }); ConfigurationShared::ApplyPerGameSetting( &UISettings::values.screenshot_path, ui->screenshot_combo, @@ -182,6 +148,7 @@ void ConfigureGeneral::ApplyConfiguration() { #ifdef __unix__ Settings::values.enable_gamemode = ui->toggle_gamemode->isChecked(); #endif + Settings::values.turbo_limit = ui->turbo_limit->value(); } } diff --git a/src/citra_qt/configuration/configure_general.ui b/src/citra_qt/configuration/configure_general.ui index a4fee730a..cfafe4c57 100644 --- a/src/citra_qt/configuration/configure_general.ui +++ b/src/citra_qt/configuration/configure_general.ui @@ -105,44 +105,32 @@ - Emulation Speed + Emulation Speed: - - - 0 - + - 199 + 9999 - - 5 - - - 15 - - - 19 - - - Qt::Horizontal - - - QSlider::TicksBelow + + % - - - + + + Qt::Orientation::Horizontal - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 40 + 20 + - + @@ -170,56 +158,28 @@ - - - 0 - + - 198 + 9999 - - 5 - - - 15 - - - 19 - - - Qt::Horizontal - - - QSlider::TicksBelow + + % - Qt::Horizontal - - - QSizePolicy::Fixed + Qt::Orientation::Horizontal - 32 + 40 20 - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - @@ -287,7 +247,7 @@ - + Reset All Settings @@ -297,7 +257,7 @@ - Qt::Vertical + Qt::Orientation::Vertical diff --git a/src/common/settings.h b/src/common/settings.h index 589de0057..b04ea8f0e 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -509,8 +509,8 @@ struct Values { SwitchableSetting use_vsync{true, "use_vsync"}; Setting use_shader_jit{true, "use_shader_jit"}; SwitchableSetting resolution_factor{1, 0, 10, "resolution_factor"}; - SwitchableSetting frame_limit{100, 0, 1000, "frame_limit"}; - SwitchableSetting turbo_limit{200, 0, 1000, "turbo_limit"}; + SwitchableSetting frame_limit{100, 1, 9999, "frame_limit"}; + SwitchableSetting turbo_limit{200, 1, 9999, "turbo_limit"}; SwitchableSetting texture_filter{TextureFilter::NoFilter, "texture_filter"}; SwitchableSetting texture_sampling{TextureSampling::GameControlled, "texture_sampling"};