From c99712ea7d991036d3b78b94e4e1faf9c7f9c074 Mon Sep 17 00:00:00 2001 From: Kyle K <190571+Docteh@users.noreply.github.com> Date: Mon, 18 Apr 2022 05:35:54 -0700 Subject: [PATCH] ui: translate hat directions QObject ends up being its own translation context. But this works in our favor. GetButtonName and GetDirectionName will share one translation the directions such as "Left" "Right" and the ConfigureInputPlayer context will contain translations that show up in the form, in places that aren't those buttons. --- .../configuration/configure_input_player.cpp | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index 291e37acf4..a0f29d147c 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp @@ -10,6 +10,7 @@ #include #include #include +#include "common/assert.h" #include "common/param_package.h" #include "core/hid/emulated_controller.h" #include "core/hid/hid_core.h" @@ -119,6 +120,23 @@ QString GetButtonName(Common::Input::ButtonNames button_name) { } } +QString GetDirectionName(const std::string& direction) { + if (direction == "left") { + return QObject::tr("Left"); + } + if (direction == "right") { + return QObject::tr("Right"); + } + if (direction == "up") { + return QObject::tr("Up"); + } + if (direction == "down") { + return QObject::tr("Down"); + } + UNIMPLEMENTED_MSG("Unimplemented direction name={}", direction); + return QString::fromStdString(direction); +} + void SetAnalogParam(const Common::ParamPackage& input_param, Common::ParamPackage& analog_param, const std::string& button_name) { // The poller returned a complete axis, so set all the buttons @@ -162,7 +180,7 @@ QString ConfigureInputPlayer::ButtonToText(const Common::ParamPackage& param) { if (common_button_name == Common::Input::ButtonNames::Value) { if (param.Has("hat")) { - const QString hat = QString::fromStdString(param.Get("direction", "")); + const QString hat = GetDirectionName(param.Get("direction", "")); return QObject::tr("%1%2Hat %3").arg(toggle, inverted, hat); } if (param.Has("axis")) {