summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar muemart2017-12-13 19:06:14 +0100
committerGravatar noah katz2018-01-16 16:49:48 -0500
commitaec3b28547c4f7bf1bd94340dd423b49df9e3db0 (patch)
treeee685fba2203bab0d41a3096ab104bbfdbd911ec /src
parentAdd translation support for button labels (diff)
downloadyuzu-aec3b28547c4f7bf1bd94340dd423b49df9e3db0.tar.gz
yuzu-aec3b28547c4f7bf1bd94340dd423b49df9e3db0.tar.xz
yuzu-aec3b28547c4f7bf1bd94340dd423b49df9e3db0.zip
Use static functions instead of lambdas
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/configuration/configure_input.cpp95
1 files changed, 46 insertions, 49 deletions
diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp
index bcb91b636..0a67c3180 100644
--- a/src/yuzu/configuration/configure_input.cpp
+++ b/src/yuzu/configuration/configure_input.cpp
@@ -42,6 +42,52 @@ static void SetAnalogButton(const Common::ParamPackage& input_param,
42 analog_param.Set(button_name, input_param.Serialize()); 42 analog_param.Set(button_name, input_param.Serialize());
43} 43}
44 44
45static QString ButtonToText(const Common::ParamPackage& param) {
46 if (!param.Has("engine")) {
47 return QObject::tr("[not set]");
48 } else if (param.Get("engine", "") == "keyboard") {
49 return getKeyName(param.Get("code", 0));
50 } else if (param.Get("engine", "") == "sdl") {
51 QString text = QString(QObject::tr("Joystick %1")).arg(param.Get("joystick", "").c_str());
52 if (param.Has("hat")) {
53 text += QString(QObject::tr(" Hat %1 %2"))
54 .arg(param.Get("hat", "").c_str(), param.Get("direction", "").c_str());
55 }
56 if (param.Has("axis")) {
57 text += QString(QObject::tr(" Axis %1%2"))
58 .arg(param.Get("axis", "").c_str(), param.Get("direction", "").c_str());
59 }
60 if (param.Has("button")) {
61 text += QString(QObject::tr(" Button %1")).arg(param.Get("button", "").c_str());
62 }
63 return text;
64 } else {
65 return QObject::tr("[unknown]");
66 }
67};
68
69static QString AnalogToText(const Common::ParamPackage& param, const std::string& dir) {
70 if (!param.Has("engine")) {
71 return QObject::tr("[not set]");
72 } else if (param.Get("engine", "") == "analog_from_button") {
73 return ButtonToText(Common::ParamPackage{param.Get(dir, "")});
74 } else if (param.Get("engine", "") == "sdl") {
75 if (dir == "modifier") {
76 return QString(QObject::tr("[unused]"));
77 }
78
79 QString text = QString(QObject::tr("Joystick %1")).arg(param.Get("joystick", "").c_str());
80 if (dir == "left" || dir == "right") {
81 text += QString(QObject::tr(" Axis %1")).arg(param.Get("axis_x", "").c_str());
82 } else if (dir == "up" || dir == "down") {
83 text += QString(QObject::tr(" Axis %1")).arg(param.Get("axis_y", "").c_str());
84 }
85 return text;
86 } else {
87 return QObject::tr("[unknown]");
88 }
89};
90
45ConfigureInput::ConfigureInput(QWidget* parent) 91ConfigureInput::ConfigureInput(QWidget* parent)
46 : QWidget(parent), ui(std::make_unique<Ui::ConfigureInput>()), 92 : QWidget(parent), ui(std::make_unique<Ui::ConfigureInput>()),
47 timeout_timer(std::make_unique<QTimer>()), poll_timer(std::make_unique<QTimer>()) { 93 timeout_timer(std::make_unique<QTimer>()), poll_timer(std::make_unique<QTimer>()) {
@@ -166,55 +212,6 @@ void ConfigureInput::restoreDefaults() {
166} 212}
167 213
168void ConfigureInput::updateButtonLabels() { 214void ConfigureInput::updateButtonLabels() {
169 QString unknown_mapping(tr("[unknown]"));
170 QString mapping_not_set(tr("[not set]"));
171
172 auto ButtonToText = [&unknown_mapping, &mapping_not_set](const Common::ParamPackage& param) {
173 if (!param.Has("engine")) {
174 return mapping_not_set;
175 } else if (param.Get("engine", "") == "keyboard") {
176 return getKeyName(param.Get("code", 0));
177 } else if (param.Get("engine", "") == "sdl") {
178 QString text = QString(tr("Joystick %1")).arg(param.Get("joystick", "").c_str());
179 if (param.Has("hat")) {
180 text += QString(tr(" Hat %1 %2"))
181 .arg(param.Get("hat", "").c_str(), param.Get("direction", "").c_str());
182 }
183 if (param.Has("axis")) {
184 text += QString(tr(" Axis %1%2"))
185 .arg(param.Get("axis", "").c_str(), param.Get("direction", "").c_str());
186 }
187 if (param.Has("button")) {
188 text += QString(tr(" Button %1")).arg(param.Get("button", "").c_str());
189 }
190 return text;
191 } else {
192 return unknown_mapping;
193 }
194 };
195 auto AnalogToText = [&unknown_mapping, &mapping_not_set,
196 &ButtonToText](const Common::ParamPackage& param, const std::string& dir) {
197 if (!param.Has("engine")) {
198 return mapping_not_set;
199 } else if (param.Get("engine", "") == "analog_from_button") {
200 return ButtonToText(Common::ParamPackage{param.Get(dir, "")});
201 } else if (param.Get("engine", "") == "sdl") {
202 if (dir == "modifier") {
203 return QString(tr("[unused]"));
204 }
205
206 QString text = QString(tr("Joystick %1")).arg(param.Get("joystick", "").c_str());
207 if (dir == "left" || dir == "right") {
208 text += QString(tr(" Axis %1")).arg(param.Get("axis_x", "").c_str());
209 } else if (dir == "up" || dir == "down") {
210 text += QString(tr(" Axis %1")).arg(param.Get("axis_y", "").c_str());
211 }
212 return text;
213 } else {
214 return unknown_mapping;
215 }
216 };
217
218 for (int button = 0; button < Settings::NativeButton::NumButtons; button++) { 215 for (int button = 0; button < Settings::NativeButton::NumButtons; button++) {
219 button_map[button]->setText(ButtonToText(buttons_param[button])); 216 button_map[button]->setText(ButtonToText(buttons_param[button]));
220 } 217 }