diff options
author | fearlessTobi <thm.frey@gmail.com> | 2018-08-21 01:14:06 +0200 |
---|---|---|
committer | fearlessTobi <thm.frey@gmail.com> | 2018-08-21 01:14:06 +0200 |
commit | ba8ff096fdc9f7ab101851c4cd06c3244a7d84c3 (patch) | |
tree | 927b7495e2674a375aca8a4b004907e8af76c638 /src/yuzu/configuration | |
parent | 028d90eb79b75292d352cc8d4b96a2df74cd6b6e (diff) |
Port #3353 from Citra
Diffstat (limited to 'src/yuzu/configuration')
-rw-r--r-- | src/yuzu/configuration/config.cpp | 6 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_graphics.cpp | 10 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_graphics.ui | 30 |
3 files changed, 37 insertions, 9 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 0bd46dbac..df55c3e3d 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -83,7 +83,8 @@ void Config::ReadValues() { qt_config->beginGroup("Renderer"); Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat(); - Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool(); + Settings::values.use_frame_limit = qt_config->value("use_frame_limit", true).toBool(); + Settings::values.frame_limit = qt_config->value("frame_limit", 100).toInt(); Settings::values.use_accurate_framebuffers = qt_config->value("use_accurate_framebuffers", false).toBool(); @@ -203,7 +204,8 @@ void Config::SaveValues() { qt_config->beginGroup("Renderer"); qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor); - qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit); + qt_config->setValue("use_frame_limit", Settings::values.use_frame_limit); + qt_config->setValue("frame_limit", Settings::values.frame_limit); qt_config->setValue("use_accurate_framebuffers", Settings::values.use_accurate_framebuffers); // Cast to double because Qt's written float values are not human-readable diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp index 4afe0f81b..ee1287028 100644 --- a/src/yuzu/configuration/configure_graphics.cpp +++ b/src/yuzu/configuration/configure_graphics.cpp @@ -12,6 +12,10 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent) ui->setupUi(this); this->setConfiguration(); + + ui->frame_limit->setEnabled(Settings::values.use_frame_limit); + connect(ui->toggle_frame_limit, &QCheckBox::stateChanged, ui->frame_limit, + &QSpinBox::setEnabled); } ConfigureGraphics::~ConfigureGraphics() = default; @@ -58,13 +62,15 @@ Resolution FromResolutionFactor(float factor) { void ConfigureGraphics::setConfiguration() { ui->resolution_factor_combobox->setCurrentIndex( static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor))); - ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit); + ui->toggle_frame_limit->setChecked(Settings::values.use_frame_limit); + ui->frame_limit->setValue(Settings::values.frame_limit); ui->use_accurate_framebuffers->setChecked(Settings::values.use_accurate_framebuffers); } void ConfigureGraphics::applyConfiguration() { Settings::values.resolution_factor = ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex())); - Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked(); + Settings::values.use_frame_limit = ui->toggle_frame_limit->isChecked(); + Settings::values.frame_limit = ui->frame_limit->value(); Settings::values.use_accurate_framebuffers = ui->use_accurate_framebuffers->isChecked(); } diff --git a/src/yuzu/configuration/configure_graphics.ui b/src/yuzu/configuration/configure_graphics.ui index 7d092df03..3bc18c26e 100644 --- a/src/yuzu/configuration/configure_graphics.ui +++ b/src/yuzu/configuration/configure_graphics.ui @@ -23,11 +23,31 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <widget class="QCheckBox" name="toggle_framelimit"> - <property name="text"> - <string>Limit framerate</string> - </property> - </widget> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QCheckBox" name="toggle_frame_limit"> + <property name="text"> + <string>Limit Speed Percent</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="frame_limit"> + <property name="suffix"> + <string>%</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>9999</number> + </property> + <property name="value"> + <number>100</number> + </property> + </widget> + </item> + </layout> </item> <item> <widget class="QCheckBox" name="use_accurate_framebuffers"> |