diff --git a/src/platform/qt/SettingsView.cpp b/src/platform/qt/SettingsView.cpp
index 5f288da37..cc343cd29 100644
--- a/src/platform/qt/SettingsView.cpp
+++ b/src/platform/qt/SettingsView.cpp
@@ -36,6 +36,19 @@ SettingsView::SettingsView(ConfigController* controller, QWidget* parent)
loadSetting("allowOpposingDirections", m_ui.allowOpposingDirections);
loadSetting("suspendScreensaver", m_ui.suspendScreensaver);
+ double fastForwardRatio = loadSetting("fastForwardRatio").toDouble();
+ if (fastForwardRatio <= 0) {
+ m_ui.fastForwardUnbounded->setChecked(true);
+ m_ui.fastForwardRatio->setEnabled(false);
+ } else {
+ m_ui.fastForwardUnbounded->setChecked(false);
+ m_ui.fastForwardRatio->setEnabled(true);
+ m_ui.fastForwardRatio->setValue(fastForwardRatio);
+ }
+ connect(m_ui.fastForwardUnbounded, &QAbstractButton::toggled, [this](bool checked) {
+ m_ui.fastForwardRatio->setEnabled(!checked);
+ });
+
QString idleOptimization = loadSetting("idleOptimization");
if (idleOptimization == "ignore") {
m_ui.idleOptimization->setCurrentIndex(0);
@@ -103,6 +116,12 @@ void SettingsView::updateConfig() {
saveSetting("allowOpposingDirections", m_ui.allowOpposingDirections);
saveSetting("suspendScreensaver", m_ui.suspendScreensaver);
+ if (m_ui.fastForwardUnbounded->isChecked()) {
+ saveSetting("fastForwardRatio", "-1");
+ } else {
+ saveSetting("fastForwardRatio", m_ui.fastForwardRatio);
+ }
+
switch (m_ui.idleOptimization->currentIndex() + IDLE_LOOP_IGNORE) {
case IDLE_LOOP_IGNORE:
saveSetting("idleOptimization", "ignore");
diff --git a/src/platform/qt/SettingsView.ui b/src/platform/qt/SettingsView.ui
index 9de1f76e4..bfd7af451 100644
--- a/src/platform/qt/SettingsView.ui
+++ b/src/platform/qt/SettingsView.ui
@@ -6,8 +6,8 @@
0
0
- 698
- 366
+ 707
+ 420
@@ -380,21 +380,21 @@
- -
+
-
Qt::Horizontal
- -
+
-
Allow opposing input directions
- -
+
-
Suspend screensaver
@@ -404,14 +404,14 @@
- -
+
-
Idle loops
- -
+
-
-
@@ -430,6 +430,52 @@
+ -
+
+
+ false
+
+
+ ×
+
+
+ 0.010000000000000
+
+
+ 20.000000000000000
+
+
+ 0.500000000000000
+
+
+ 5.000000000000000
+
+
+
+ -
+
+
+ Fast forward speed
+
+
+
+ -
+
+
+ Unbounded
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+