From 55f09155342747648841bc25037ae2139a47dfcf Mon Sep 17 00:00:00 2001 From: Connor McLaughlin <stenzek@gmail.com> Date: Sat, 3 Oct 2020 23:59:51 +1000 Subject: [PATCH] Qt: Hopefully fix save state slot hotkeys being untranslatable --- src/core/host_interface.h | 1 + src/frontend-common/common_host_interface.cpp | 90 ++++++++++++++----- 2 files changed, 67 insertions(+), 24 deletions(-) diff --git a/src/core/host_interface.h b/src/core/host_interface.h index b1e7166fe..fcb4f61ff 100644 --- a/src/core/host_interface.h +++ b/src/core/host_interface.h @@ -184,5 +184,6 @@ protected: }; #define TRANSLATABLE(context, str) str +#define TRANSLATABLE_NOOP(context, str) extern HostInterface* g_host_interface; diff --git a/src/frontend-common/common_host_interface.cpp b/src/frontend-common/common_host_interface.cpp index af9b24d5a..9c1044edd 100644 --- a/src/frontend-common/common_host_interface.cpp +++ b/src/frontend-common/common_host_interface.cpp @@ -1509,35 +1509,77 @@ void CommonHostInterface::RegisterSaveStateHotkeys() for (u32 slot = 1; slot <= PER_GAME_SAVE_STATE_SLOTS; slot++) { - RegisterHotkey( - StaticString(TRANSLATABLE("Hotkeys", "Save States")), TinyString::FromFormat("LoadGameState%u", slot), - TinyString::FromFormat(TRANSLATABLE("Hotkeys", "Load Game State %u"), slot), [this, slot](bool pressed) { - if (!pressed) - LoadState(false, slot); - }); - RegisterHotkey( - StaticString(TRANSLATABLE("Hotkeys", "Save States")), TinyString::FromFormat("SaveGameState%u", slot), - TinyString::FromFormat(TRANSLATABLE("Hotkeys", "Save Game State %u"), slot), [this, slot](bool pressed) { - if (!pressed) - SaveState(false, slot); - }); + RegisterHotkey(StaticString(TRANSLATABLE("Hotkeys", "Save States")), + TinyString::FromFormat("LoadGameState%u", slot), TinyString::FromFormat("Load Game State %u", slot), + [this, slot](bool pressed) { + if (!pressed) + LoadState(false, slot); + }); + RegisterHotkey(StaticString(TRANSLATABLE("Hotkeys", "Save States")), + TinyString::FromFormat("SaveGameState%u", slot), TinyString::FromFormat("Save Game State %u", slot), + [this, slot](bool pressed) { + if (!pressed) + SaveState(false, slot); + }); } for (u32 slot = 1; slot <= GLOBAL_SAVE_STATE_SLOTS; slot++) { - RegisterHotkey( - StaticString(TRANSLATABLE("Hotkeys", "Save States")), TinyString::FromFormat("LoadGlobalState%u", slot), - TinyString::FromFormat(TRANSLATABLE("Hotkeys", "Load Global State %u"), slot), [this, slot](bool pressed) { - if (!pressed) - LoadState(true, slot); - }); - RegisterHotkey( - StaticString(TRANSLATABLE("Hotkeys", "Save States")), TinyString::FromFormat("SaveGlobalState%u", slot), - TinyString::FromFormat(TRANSLATABLE("Hotkeys", "Save Global State %u"), slot), [this, slot](bool pressed) { - if (!pressed) - SaveState(true, slot); - }); + RegisterHotkey(StaticString(TRANSLATABLE("Hotkeys", "Save States")), + TinyString::FromFormat("LoadGlobalState%u", slot), + TinyString::FromFormat("Load Global State %u", slot), [this, slot](bool pressed) { + if (!pressed) + LoadState(true, slot); + }); + RegisterHotkey(StaticString(TRANSLATABLE("Hotkeys", "Save States")), + TinyString::FromFormat("SaveGlobalState%u", slot), + TinyString::FromFormat("Save Global State %u", slot), [this, slot](bool pressed) { + if (!pressed) + SaveState(true, slot); + }); } + + // Dummy strings for translation because we construct them in a loop. + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 1"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 2"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 3"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 4"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 5"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 6"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 7"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 8"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 9"); + TRANSLATABLE_NOOP("Hotkeys", "Load Game State 10"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 1"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 2"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 3"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 4"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 5"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 6"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 7"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 8"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 9"); + TRANSLATABLE_NOOP("Hotkeys", "Save Game State 10"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 1"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 2"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 3"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 4"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 5"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 6"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 7"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 8"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 9"); + TRANSLATABLE_NOOP("Hotkeys", "Load Global State 10"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 1"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 2"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 3"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 4"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 5"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 6"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 7"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 8"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 9"); + TRANSLATABLE_NOOP("Hotkeys", "Save Global State 10"); } void CommonHostInterface::RegisterAudioHotkeys()