aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/main.cpp
diff options
context:
space:
mode:
authorfearlessTobi <thm.frey@gmail.com>2018-08-21 01:14:06 +0200
committerfearlessTobi <thm.frey@gmail.com>2018-08-21 01:14:06 +0200
commitba8ff096fdc9f7ab101851c4cd06c3244a7d84c3 (patch)
tree927b7495e2674a375aca8a4b004907e8af76c638 /src/yuzu/main.cpp
parent028d90eb79b75292d352cc8d4b96a2df74cd6b6e (diff)
Port #3353 from Citra
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r--src/yuzu/main.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 11d2331dff..41f765f121 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -226,6 +226,10 @@ void GMainWindow::InitializeHotkeys() {
Qt::ApplicationShortcut);
hotkey_registry.RegisterHotkey("Main Window", "Toggle Speed Limit", QKeySequence("CTRL+Z"),
Qt::ApplicationShortcut);
+ hotkey_registry.RegisterHotkey("Main Window", "Increase Speed Limit", QKeySequence("+"),
+ Qt::ApplicationShortcut);
+ hotkey_registry.RegisterHotkey("Main Window", "Decrease Speed Limit", QKeySequence("-"),
+ Qt::ApplicationShortcut);
hotkey_registry.LoadHotkeys();
connect(hotkey_registry.GetHotkey("Main Window", "Load File", this), &QShortcut::activated,
@@ -255,9 +259,24 @@ void GMainWindow::InitializeHotkeys() {
});
connect(hotkey_registry.GetHotkey("Main Window", "Toggle Speed Limit", this),
&QShortcut::activated, this, [&] {
- Settings::values.toggle_framelimit = !Settings::values.toggle_framelimit;
+ Settings::values.use_frame_limit = !Settings::values.use_frame_limit;
UpdateStatusBar();
});
+ constexpr u16 SPEED_LIMIT_STEP = 5;
+ connect(hotkey_registry.GetHotkey("Main Window", "Increase Speed Limit", this),
+ &QShortcut::activated, this, [&] {
+ if (Settings::values.frame_limit < 9999 - SPEED_LIMIT_STEP) {
+ Settings::values.frame_limit += SPEED_LIMIT_STEP;
+ UpdateStatusBar();
+ }
+ });
+ connect(hotkey_registry.GetHotkey("Main Window", "Decrease Speed Limit", this),
+ &QShortcut::activated, this, [&] {
+ if (Settings::values.frame_limit > SPEED_LIMIT_STEP) {
+ Settings::values.frame_limit -= SPEED_LIMIT_STEP;
+ UpdateStatusBar();
+ }
+ });
}
void GMainWindow::SetDefaultUIGeometry() {
@@ -910,7 +929,13 @@ void GMainWindow::UpdateStatusBar() {
auto results = Core::System::GetInstance().GetAndResetPerfStats();
- emu_speed_label->setText(tr("Speed: %1%").arg(results.emulation_speed * 100.0, 0, 'f', 0));
+ if (Settings::values.use_frame_limit) {
+ emu_speed_label->setText(tr("Speed: %1% / %2%")
+ .arg(results.emulation_speed * 100.0, 0, 'f', 0)
+ .arg(Settings::values.frame_limit));
+ } else {
+ emu_speed_label->setText(tr("Speed: %1%").arg(results.emulation_speed * 100.0, 0, 'f', 0));
+ }
game_fps_label->setText(tr("Game: %1 FPS").arg(results.game_fps, 0, 'f', 0));
emu_frametime_label->setText(tr("Frame: %1 ms").arg(results.frametime * 1000.0, 0, 'f', 2));