diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/setup_input.cpp | 37 | ||||
-rw-r--r-- | src/gui/setup_input.h | 5 | ||||
-rw-r--r-- | src/gui/setupactiondata.h | 2 |
3 files changed, 42 insertions, 2 deletions
diff --git a/src/gui/setup_input.cpp b/src/gui/setup_input.cpp index 48ec90124..b1054fac3 100644 --- a/src/gui/setup_input.cpp +++ b/src/gui/setup_input.cpp @@ -145,6 +145,8 @@ Setup_Input::Setup_Input(): k ++; } + fixTranslations(); + // Do the layout LayoutHelper h(this); ContainerPlacer place = h.getPlacer(0, 0); @@ -205,7 +207,6 @@ void Setup_Input::cancel() void Setup_Input::action(const gcn::ActionEvent &event) { - logger->log("event: %s", event.getId().c_str()); const std::string id = event.getId(); if (event.getSource() == mKeyList) @@ -360,3 +361,37 @@ void Setup_Input::keyUnresolved() inputManager.setNewKeyIndex(Input::KEY_NO_VALUE); } } + +void Setup_Input::fixTranslation(SetupActionData *actionDatas, int actionStart, + int actionEnd, std::string text) +{ + int k = 0; + + while (!actionDatas[k].name.empty()) + { + SetupActionData &data = actionDatas[k]; + + const int actionId = data.actionId; + if (actionId >= actionStart && actionId <= actionEnd) + { + data.name = strprintf(gettext(text.c_str()), + actionId - actionStart + 1); + } + k ++; + } +} + +void Setup_Input::fixTranslations() +{ + fixTranslation(setupActionData1, Input::KEY_SHORTCUT_1, + Input::KEY_SHORTCUT_20, "Item Shortcut %d"); + + fixTranslation(setupActionData3, Input::KEY_EMOTE_1, + Input::KEY_EMOTE_48, "Emote Shortcut %d"); + + fixTranslation(setupActionData4, Input::KEY_OUTFIT_1, + Input::KEY_OUTFIT_48, "Outfit Shortcut %d"); + + fixTranslation(setupActionData7, Input::KEY_MOVE_TO_POINT_1, + Input::KEY_MOVE_TO_POINT_48, "Move to point Shortcut %d"); +} diff --git a/src/gui/setup_input.h b/src/gui/setup_input.h index 645f6f6a5..89b102881 100644 --- a/src/gui/setup_input.h +++ b/src/gui/setup_input.h @@ -80,6 +80,11 @@ class Setup_Input : public SetupTab std::string keyToString(int index); private: + void fixTranslations(); + + void fixTranslation(SetupActionData *actionDatas, int actionStart, + int actionEnd, std::string text); + class KeyListModel *mKeyListModel; gcn::ListBox *mKeyList; diff --git a/src/gui/setupactiondata.h b/src/gui/setupactiondata.h index 99e846d9c..3be3fb39f 100644 --- a/src/gui/setupactiondata.h +++ b/src/gui/setupactiondata.h @@ -37,7 +37,7 @@ int selectedData = 0; struct SetupActionData { - const std::string name; + std::string name; const int actionId; std::string text; }; |