Clean up key names handling
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Fri, 12 Aug 2011 21:42:00 +0000 (23:42 +0200)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Fri, 12 Aug 2011 21:42:00 +0000 (23:42 +0200)
Constify keycode and move the static array of localizable names from the
guiKeyChangeMenu header to the implementation file, changing its name.

src/guiKeyChangeMenu.cpp
src/guiKeyChangeMenu.h
src/keycode.cpp
src/keycode.h

index 20a3d361e2b4067759ca101dcb3324eb62c11c0d..9c22dba2cafd2e56134da06d4b584088c8b786b9 100644 (file)
 #include "main.h"
 #include <string>
 
+static const char *KeyNamesLang[] =
+       { "-", N_("Left Button"), N_("Right Button"), N_("Cancel"), N_("Middle Button"), N_("X Button 1"),
+                       N_("X Button 2"), "-", N_("Back"), N_("Tab"), "-", "-", N_("Clear"), N_("Return"), "-",
+                       "-", N_("Shift"), N_("Control"), N_("Menu"), N_("Pause"), N_("Capital"), N_("Kana"), "-",
+                       N_("Junja"), N_("Final"), N_("Kanji"), "-", N_("Escape"), N_("Convert"), N_("Nonconvert"),
+                       N_("Accept"), N_("Mode Change"), N_("Space"), N_("Priot"), N_("Next"), N_("End"), N_("Home"),
+                       N_("Left"), N_("Up"), N_("Right"), N_("Down"), N_("Select"), N_("Print"), N_("Execute"),
+                       N_("Snapshot"), N_("Insert"), N_("Delete"), N_("Help"), "0", "1", "2", "3", "4", "5",
+                       "6", "7", "8", "9", "-", "-", "-", "-", "-", "-", "-", "A", "B", "C",
+                       "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q",
+                       "R", "S", "T", "U", "V", "W", "X", "Y", "Z", N_("Left Windows"),
+                       N_("Right Windows"), N_("Apps"), "-", N_("Sleep"), N_("Numpad 0"), N_("Numpad 1"),
+                       N_("Numpad 2"), N_("Numpad 3"), N_("Numpad 4"), N_("Numpad 5"), N_("Numpad 6"), N_("Numpad 7"),
+                       N_("Numpad 8"), N_("Numpad 9"), N_("Numpad *"), N_("Numpad +"), N_("Numpad /"), N_("Numpad -"),
+                       "Numpad .", "Numpad /", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8",
+                       "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18",
+                       "F19", "F20", "F21", "F22", "F23", "F24", "-", "-", "-", "-", "-", "-",
+                       "-", "-", N_("Num Lock"), N_("Scroll Lock"), "-", "-", "-", "-", "-", "-", "-",
+                       "-", "-", "-", "-", "-", "-", "-", N_("Left Shift"), N_("Right Shight"),
+                       N_("Left Control"), N_("Right Control"), N_("Left Menu"), N_("Right Menu"), "-", "-",
+                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
+                       "-", "-", "-", "-", "-", N_("Plus"), N_("Comma"), N_("Minus"), N_("Period"), "-", "-",
+                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
+                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
+                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
+                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", N_("Attn"), N_("CrSel"),
+                       N_("ExSel"), N_("Erase OEF"), N_("Play"), N_("Zoom"), N_("PA1"), N_("OEM Clear"), "-" };
+
 GUIKeyChangeMenu::GUIKeyChangeMenu(gui::IGUIEnvironment* env,
                gui::IGUIElement* parent, s32 id, IMenuManager *menumgr) :
        GUIModalMenu(env, parent, id, menumgr)
@@ -101,7 +129,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->forward = Environment->addButton(rect, this,
                                GUI_ID_KEY_FORWARD_BUTTON,
-                               wgettext(KeyNames[key_forward]));
+                               wgettext(KeyNamesLang[key_forward]));
        }
 
        offset += v2s32(0, 25);
@@ -118,7 +146,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->backward = Environment->addButton(rect, this,
                                GUI_ID_KEY_BACKWARD_BUTTON,
-                               wgettext(KeyNames[key_backward]));
+                               wgettext(KeyNamesLang[key_backward]));
        }
        offset += v2s32(0, 25);
        {
@@ -133,7 +161,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                core::rect < s32 > rect(0, 0, 100, 30);
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->left = Environment->addButton(rect, this, GUI_ID_KEY_LEFT_BUTTON,
-                               wgettext(KeyNames[key_left]));
+                               wgettext(KeyNamesLang[key_left]));
        }
        offset += v2s32(0, 25);
        {
@@ -149,7 +177,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->right = Environment->addButton(rect, this,
                                GUI_ID_KEY_RIGHT_BUTTON,
-                               wgettext(KeyNames[key_right]));
+                               wgettext(KeyNamesLang[key_right]));
        }
        offset += v2s32(0, 25);
        {
@@ -164,7 +192,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                core::rect < s32 > rect(0, 0, 100, 30);
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->use = Environment->addButton(rect, this, GUI_ID_KEY_USE_BUTTON,
-                               wgettext(KeyNames[key_use]));
+                               wgettext(KeyNamesLang[key_use]));
        }
        offset += v2s32(0, 25);
        {
@@ -180,7 +208,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->sneak = Environment->addButton(rect, this,
                                GUI_ID_KEY_SNEAK_BUTTON,
-                               wgettext(KeyNames[key_sneak]));
+                               wgettext(KeyNamesLang[key_sneak]));
        }
        offset += v2s32(0, 25);
        {
@@ -194,7 +222,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                core::rect < s32 > rect(0, 0, 100, 30);
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->jump = Environment->addButton(rect, this, GUI_ID_KEY_JUMP_BUTTON,
-                               wgettext(KeyNames[key_jump]));
+                               wgettext(KeyNamesLang[key_jump]));
        }
 
        offset += v2s32(0, 25);
@@ -211,7 +239,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->inventory = Environment->addButton(rect, this,
                                GUI_ID_KEY_INVENTORY_BUTTON,
-                               wgettext(KeyNames[key_inventory]));
+                               wgettext(KeyNamesLang[key_inventory]));
        }
        offset += v2s32(0, 25);
        {
@@ -225,7 +253,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                core::rect < s32 > rect(0, 0, 100, 30);
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->chat = Environment->addButton(rect, this, GUI_ID_KEY_CHAT_BUTTON,
-                               wgettext(KeyNames[key_chat]));
+                               wgettext(KeyNamesLang[key_chat]));
        }
 
        //next col
@@ -242,7 +270,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                core::rect < s32 > rect(0, 0, 100, 30);
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->fly = Environment->addButton(rect, this, GUI_ID_KEY_FLY_BUTTON,
-                               wgettext(KeyNames[key_fly]));
+                               wgettext(KeyNamesLang[key_fly]));
        }
        offset += v2s32(0, 25);
        {
@@ -257,7 +285,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                core::rect < s32 > rect(0, 0, 100, 30);
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->fast = Environment->addButton(rect, this, GUI_ID_KEY_FAST_BUTTON,
-                               wgettext(KeyNames[key_fast]));
+                               wgettext(KeyNamesLang[key_fast]));
        }
        offset += v2s32(0, 25);
        {
@@ -273,7 +301,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->range = Environment->addButton(rect, this,
                                GUI_ID_KEY_RANGE_BUTTON,
-                               wgettext(KeyNames[key_range]));
+                               wgettext(KeyNamesLang[key_range]));
        }
 
        offset += v2s32(0, 25);
@@ -289,7 +317,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                core::rect < s32 > rect(0, 0, 100, 30);
                rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
                this->dump = Environment->addButton(rect, this, GUI_ID_KEY_DUMP_BUTTON,
-                               wgettext(KeyNames[key_dump]));
+                               wgettext(KeyNamesLang[key_dump]));
        }
        {
                core::rect < s32 > rect(0, 0, 100, 30);
@@ -367,45 +395,45 @@ bool GUIKeyChangeMenu::resetMenu()
                {
                case GUI_ID_KEY_FORWARD_BUTTON:
                        this->forward->setText(
-                                       wgettext(KeyNames[key_forward]));
+                                       wgettext(KeyNamesLang[key_forward]));
                        break;
                case GUI_ID_KEY_BACKWARD_BUTTON:
                        this->backward->setText(
-                                       wgettext(KeyNames[key_backward]));
+                                       wgettext(KeyNamesLang[key_backward]));
                        break;
                case GUI_ID_KEY_LEFT_BUTTON:
-                       this->left->setText(wgettext(KeyNames[key_left]));
+                       this->left->setText(wgettext(KeyNamesLang[key_left]));
                        break;
                case GUI_ID_KEY_RIGHT_BUTTON:
-                       this->right->setText(wgettext(KeyNames[key_right]));
+                       this->right->setText(wgettext(KeyNamesLang[key_right]));
                        break;
                case GUI_ID_KEY_JUMP_BUTTON:
-                       this->jump->setText(wgettext(KeyNames[key_jump]));
+                       this->jump->setText(wgettext(KeyNamesLang[key_jump]));
                        break;
                case GUI_ID_KEY_SNEAK_BUTTON:
-                       this->sneak->setText(wgettext(KeyNames[key_sneak]));
+                       this->sneak->setText(wgettext(KeyNamesLang[key_sneak]));
                        break;
                case GUI_ID_KEY_INVENTORY_BUTTON:
                        this->inventory->setText(
-                                       wgettext(KeyNames[key_inventory]));
+                                       wgettext(KeyNamesLang[key_inventory]));
                        break;
                case GUI_ID_KEY_CHAT_BUTTON:
-                       this->chat->setText(wgettext(KeyNames[key_chat]));
+                       this->chat->setText(wgettext(KeyNamesLang[key_chat]));
                        break;
                case GUI_ID_KEY_RANGE_BUTTON:
-                       this->range->setText(wgettext(KeyNames[key_range]));
+                       this->range->setText(wgettext(KeyNamesLang[key_range]));
                        break;
                case GUI_ID_KEY_FLY_BUTTON:
-                       this->fly->setText(wgettext(KeyNames[key_fly]));
+                       this->fly->setText(wgettext(KeyNamesLang[key_fly]));
                        break;
                case GUI_ID_KEY_FAST_BUTTON:
-                       this->fast->setText(wgettext(KeyNames[key_fast]));
+                       this->fast->setText(wgettext(KeyNamesLang[key_fast]));
                        break;
                case GUI_ID_KEY_USE_BUTTON:
-                       this->use->setText(wgettext(KeyNames[key_use]));
+                       this->use->setText(wgettext(KeyNamesLang[key_use]));
                        break;
                case GUI_ID_KEY_DUMP_BUTTON:
-                       this->dump->setText(wgettext(KeyNames[key_dump]));
+                       this->dump->setText(wgettext(KeyNamesLang[key_dump]));
                        break;
                }
                activeKey = -1;
@@ -422,79 +450,79 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
                if (activeKey == GUI_ID_KEY_FORWARD_BUTTON)
                {
                        this->forward->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_forward = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_BACKWARD_BUTTON)
                {
                        this->backward->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_backward = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_LEFT_BUTTON)
                {
                        this->left->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_left = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_RIGHT_BUTTON)
                {
                        this->right->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_right = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_JUMP_BUTTON)
                {
                        this->jump->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_jump = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_SNEAK_BUTTON)
                {
                        this->sneak->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_sneak = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_INVENTORY_BUTTON)
                {
                        this->inventory->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_inventory = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_CHAT_BUTTON)
                {
                        this->chat->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_chat = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_RANGE_BUTTON)
                {
                        this->range->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_range = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_FLY_BUTTON)
                {
                        this->fly->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_fly = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_FAST_BUTTON)
                {
                        this->fast->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_fast = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_USE_BUTTON)
                {
                        this->use->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_use = event.KeyInput.Key;
                }
                else if (activeKey == GUI_ID_KEY_DUMP_BUTTON)
                {
                        this->dump->setText(
-                                       wgettext(KeyNames[event.KeyInput.Key]));
+                                       wgettext(KeyNamesLang[event.KeyInput.Key]));
                        this->key_dump = event.KeyInput.Key;
                }
                changeCtype("C");
index dcca6b0b60ac48cda99065eb94a8c5bbeb9a6459..2caf69216fc06416eab5409d2b30a96d04939d58 100644 (file)
 #include "gettext.h"
 #include <string>
 
-static const char *KeyNames[] =
-       { "-", N_("Left Button"), N_("Right Button"), N_("Cancel"), N_("Middle Button"), N_("X Button 1"),
-                       N_("X Button 2"), "-", N_("Back"), N_("Tab"), "-", "-", N_("Clear"), N_("Return"), "-",
-                       "-", N_("Shift"), N_("Control"), N_("Menu"), N_("Pause"), N_("Capital"), N_("Kana"), "-",
-                       N_("Junja"), N_("Final"), N_("Kanji"), "-", N_("Escape"), N_("Convert"), N_("Nonconvert"),
-                       N_("Accept"), N_("Mode Change"), N_("Space"), N_("Priot"), N_("Next"), N_("End"), N_("Home"),
-                       N_("Left"), N_("Up"), N_("Right"), N_("Down"), N_("Select"), N_("Print"), N_("Execute"),
-                       N_("Snapshot"), N_("Insert"), N_("Delete"), N_("Help"), "0", "1", "2", "3", "4", "5",
-                       "6", "7", "8", "9", "-", "-", "-", "-", "-", "-", "-", "A", "B", "C",
-                       "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q",
-                       "R", "S", "T", "U", "V", "W", "X", "Y", "Z", N_("Left Windows"),
-                       N_("Right Windows"), N_("Apps"), "-", N_("Sleep"), N_("Numpad 0"), N_("Numpad 1"),
-                       N_("Numpad 2"), N_("Numpad 3"), N_("Numpad 4"), N_("Numpad 5"), N_("Numpad 6"), N_("Numpad 7"),
-                       N_("Numpad 8"), N_("Numpad 9"), N_("Numpad *"), N_("Numpad +"), N_("Numpad /"), N_("Numpad -"),
-                       "Numpad .", "Numpad /", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8",
-                       "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18",
-                       "F19", "F20", "F21", "F22", "F23", "F24", "-", "-", "-", "-", "-", "-",
-                       "-", "-", N_("Num Lock"), N_("Scroll Lock"), "-", "-", "-", "-", "-", "-", "-",
-                       "-", "-", "-", "-", "-", "-", "-", N_("Left Shift"), N_("Right Shight"),
-                       N_("Left Control"), N_("Right Control"), N_("Left Menu"), N_("Right Menu"), "-", "-",
-                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
-                       "-", "-", "-", "-", "-", N_("Plus"), N_("Comma"), N_("Minus"), N_("Period"), "-", "-",
-                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
-                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
-                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
-                       "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", N_("Attn"), N_("CrSel"),
-                       N_("ExSel"), N_("Erase OEF"), N_("Play"), N_("Zoom"), N_("PA1"), N_("OEM Clear"), "-" };
-       enum
-       {
-               GUI_ID_BACK_BUTTON = 101, GUI_ID_ABORT_BUTTON, GUI_ID_SCROLL_BAR,
-               //buttons
-               GUI_ID_KEY_FORWARD_BUTTON,
-               GUI_ID_KEY_BACKWARD_BUTTON,
-               GUI_ID_KEY_LEFT_BUTTON,
-               GUI_ID_KEY_RIGHT_BUTTON,
-               GUI_ID_KEY_USE_BUTTON,
-               GUI_ID_KEY_FLY_BUTTON,
-               GUI_ID_KEY_FAST_BUTTON,
-               GUI_ID_KEY_JUMP_BUTTON,
-               GUI_ID_KEY_CHAT_BUTTON,
-               GUI_ID_KEY_SNEAK_BUTTON,
-               GUI_ID_KEY_INVENTORY_BUTTON,
-               GUI_ID_KEY_DUMP_BUTTON,
-               GUI_ID_KEY_RANGE_BUTTON
-       };
+enum
+{
+       GUI_ID_BACK_BUTTON = 101, GUI_ID_ABORT_BUTTON, GUI_ID_SCROLL_BAR,
+       //buttons
+       GUI_ID_KEY_FORWARD_BUTTON,
+       GUI_ID_KEY_BACKWARD_BUTTON,
+       GUI_ID_KEY_LEFT_BUTTON,
+       GUI_ID_KEY_RIGHT_BUTTON,
+       GUI_ID_KEY_USE_BUTTON,
+       GUI_ID_KEY_FLY_BUTTON,
+       GUI_ID_KEY_FAST_BUTTON,
+       GUI_ID_KEY_JUMP_BUTTON,
+       GUI_ID_KEY_CHAT_BUTTON,
+       GUI_ID_KEY_SNEAK_BUTTON,
+       GUI_ID_KEY_INVENTORY_BUTTON,
+       GUI_ID_KEY_DUMP_BUTTON,
+       GUI_ID_KEY_RANGE_BUTTON
+};
 
 class GUIKeyChangeMenu: public GUIModalMenu
 {
index f014914d02a6f27e3070a60aa4693e9affc36a36..323d12e74a5162a70e9634c04f4667f2915c8d26 100644 (file)
@@ -206,7 +206,7 @@ static const char *KeyNames[] =
                "-", "-", "-", "-", "-", "-", "-", "-", "Attn", "CrSel", "ExSel",
                "Erase OEF", "Play", "Zoom", "PA1", "OEM Clear", "-" };
 
-std::string keycode_to_keyname(s32 keycode)
+const std::string &keycode_to_keyname(s32 keycode)
 {
        return KeyNames[keycode];
 }
index 300682b121d7fded978b9638bdfebde227b46bfe..2681e7efa37d0fb4c85985eb8ef1b8cd724b08c6 100644 (file)
@@ -24,7 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <string>
 
 irr::EKEY_CODE keyname_to_keycode(const char *name);
-std::string keycode_to_keyname(s32 keycode);
+const std::string &keycode_to_keyname(s32 keycode);
 
 // Key configuration getter
 irr::EKEY_CODE getKeySetting(const char *settingname);