[colobot] 237/390: Nicer formatting of key names
Didier Raboud
odyx at moszumanska.debian.org
Fri Jun 12 14:21:50 UTC 2015
This is an automated email from the git hooks/post-receive script.
odyx pushed a commit to branch upstream/latest
in repository colobot.
commit 601a58ea3123e666f696e3867c69c7c5d4aacb15
Author: krzys-h <krzys_h at interia.pl>
Date: Thu Dec 11 19:48:06 2014 +0100
Nicer formatting of key names
---
src/common/restext.cpp | 68 ++++++++++++++++++++++++++------------------------
src/ui/key.cpp | 2 +-
2 files changed, 37 insertions(+), 33 deletions(-)
diff --git a/src/common/restext.cpp b/src/common/restext.cpp
index 8756c62..8e5c172 100644
--- a/src/common/restext.cpp
+++ b/src/common/restext.cpp
@@ -36,6 +36,7 @@
#include <libintl.h>
#include <SDL_keyboard.h>
+#include <boost/regex.hpp>
const char* stringsText[RT_MAX] = { nullptr };
const char* stringsEvent[EVENT_STD_MAX] = { nullptr };
@@ -814,31 +815,6 @@ static const char* GetResourceBase(ResType type, int num)
str = stringsCbot[num];
break;
- case RES_KEY:
-
- if (static_cast<unsigned int>(num) == KEY_INVALID)
- return "";
- else if (num == VIRTUAL_KMOD_CTRL)
- return "Ctrl";
- else if (num == VIRTUAL_KMOD_SHIFT)
- return "Shift";
- else if (num == VIRTUAL_KMOD_ALT)
- return "Alt";
- else if (num == VIRTUAL_KMOD_META)
- return "Win";
- else if (num > VIRTUAL_JOY(0))
- {
- // TODO: temporary fix
- static std::string sstr;
- sstr = gettext("Button %1");
- sstr = StrUtils::Replace(sstr, "%1", StrUtils::ToString<int>(1 + num - VIRTUAL_JOY(0)));
- return sstr.c_str();
- }
- else
- str = SDL_GetKeyName(static_cast<SDLKey>(num));
-
- break;
-
default:
assert(false);
}
@@ -850,15 +826,43 @@ static const char* GetResourceBase(ResType type, int num)
bool GetResource(ResType type, int num, std::string& text)
{
- const char *tmpl = GetResourceBase(type, num);
+ if(type != RES_KEY)
+ {
+ const char *tmpl = GetResourceBase(type, num);
+
+ if (!tmpl)
+ {
+ text.clear();
+ return false;
+ }
- if (!tmpl)
+ PutKeyName(text, tmpl);
+ return true;
+ }
+ else
{
- text.clear();
- return false;
+ if (static_cast<unsigned int>(num) == KEY_INVALID)
+ text.clear();
+ else if (num == VIRTUAL_KMOD_CTRL)
+ text = "Ctrl";
+ else if (num == VIRTUAL_KMOD_SHIFT)
+ text = "Shift";
+ else if (num == VIRTUAL_KMOD_ALT)
+ text = "Alt";
+ else if (num == VIRTUAL_KMOD_META)
+ text = "Win";
+ else if (num > VIRTUAL_JOY(0))
+ {
+ text = gettext("Button %1");
+ text = StrUtils::Replace(text, "%1", StrUtils::ToString<int>(1 + num - VIRTUAL_JOY(0)));
+ }
+ else
+ {
+ text = SDL_GetKeyName(static_cast<SDLKey>(num));
+ text = boost::regex_replace(text, boost::regex("\\[(.*)\\]"), "\\1");
+ text[0] = toupper(text[0]);
+ }
+ return true;
}
-
- PutKeyName(text, tmpl);
- return true;
}
diff --git a/src/ui/key.cpp b/src/ui/key.cpp
index 8b59bb1..9243825 100644
--- a/src/ui/key.cpp
+++ b/src/ui/key.cpp
@@ -101,7 +101,7 @@ bool CKey::EventProcess(const Event &event)
bool CKey::TestKey(unsigned int key)
{
- if (key == KEY(PAUSE) || key == KEY(PRINT) || key == KEY(ESCAPE)) return true; // blocked key
+ if (key == KEY(PAUSE) || key == KEY(PRINT)) return true; // blocked key
for (int i = 0; i < INPUT_SLOT_MAX; i++)
{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git
More information about the Pkg-games-commits
mailing list