summaryrefslogtreecommitdiff
path: root/src/gui/windows
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-03-02 13:40:42 +0300
committerAndrei Karas <akaras@inbox.ru>2014-03-02 13:40:42 +0300
commitfa4ce6cc00f1d3029ccfe7fd02cca29d4147bfb3 (patch)
tree8f3950de53b13b8b9071d3006121f050ea9c23d2 /src/gui/windows
parent07518d71fdcb0c16ea8ece1993b6448839346092 (diff)
downloadmanaplus-fa4ce6cc00f1d3029ccfe7fd02cca29d4147bfb3.tar.gz
manaplus-fa4ce6cc00f1d3029ccfe7fd02cca29d4147bfb3.tar.bz2
manaplus-fa4ce6cc00f1d3029ccfe7fd02cca29d4147bfb3.tar.xz
manaplus-fa4ce6cc00f1d3029ccfe7fd02cca29d4147bfb3.zip
Dehardcode Fx keys in chat window.
Diffstat (limited to 'src/gui/windows')
-rw-r--r--src/gui/windows/chatwindow.cpp56
1 files changed, 27 insertions, 29 deletions
diff --git a/src/gui/windows/chatwindow.cpp b/src/gui/windows/chatwindow.cpp
index d769c4397..51d7d6db7 100644
--- a/src/gui/windows/chatwindow.cpp
+++ b/src/gui/windows/chatwindow.cpp
@@ -781,14 +781,16 @@ void ChatWindow::mouseDragged(MouseEvent &event)
}
}
-#define caseKey(key, str) case key:\
- temp = str; \
- break
+#define ifKey(key, str) \
+ else if (actionId == static_cast<int>(key)) \
+ { \
+ temp = str; \
+ }
void ChatWindow::keyPressed(KeyEvent &event)
{
- const int key = event.getKey().getValue();
const int actionId = event.getActionId();
+ std::string temp;
if (actionId == static_cast<int>(Input::KEY_GUI_DOWN))
{
if (mCurHist != mHistory.end())
@@ -910,38 +912,34 @@ void ChatWindow::keyPressed(KeyEvent &event)
mChatInput->getText().length()));
}
}
-
- std::string temp;
- switch (key)
+ else if (actionId == static_cast<int>(Input::KEY_GUI_F1))
{
- case Key::F1:
- if (emoteWindow)
- {
- if (emoteWindow->isVisible())
- emoteWindow->hide();
- else
- emoteWindow->show();
- }
- break;
- caseKey(Key::F2, "\u2318");
- caseKey(Key::F3, "\u263A");
- caseKey(Key::F4, "\u2665");
- caseKey(Key::F5, "\u266A");
- caseKey(Key::F6, "\u266B");
- caseKey(Key::F7, "\u26A0");
- caseKey(Key::F8, "\u2622");
- caseKey(Key::F9, "\u262E");
- caseKey(Key::F10, "\u2605");
- caseKey(Key::F11, "\u2618");
- caseKey(Key::F12, "\u2592");
- default:
- break;
+ if (emoteWindow)
+ {
+ if (emoteWindow->isVisible())
+ emoteWindow->hide();
+ else
+ emoteWindow->show();
+ }
}
+ ifKey(Input::KEY_GUI_F2, "\u2318")
+ ifKey(Input::KEY_GUI_F3, "\u263A")
+ ifKey(Input::KEY_GUI_F4, "\u2665")
+ ifKey(Input::KEY_GUI_F5, "\u266A")
+ ifKey(Input::KEY_GUI_F6, "\u266B")
+ ifKey(Input::KEY_GUI_F7, "\u26A0")
+ ifKey(Input::KEY_GUI_F8, "\u2622")
+ ifKey(Input::KEY_GUI_F9, "\u262E")
+ ifKey(Input::KEY_GUI_F10, "\u2605")
+ ifKey(Input::KEY_GUI_F11, "\u2618")
+ ifKey(Input::KEY_GUI_F12, "\u2592")
if (!temp.empty())
addInputText(temp, false);
}
+#undef ifKey
+
void ChatWindow::processEvent(const Channels channel,
const DepricatedEvent &event)
{