summaryrefslogtreecommitdiff
path: root/src/gui/logindialog.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-04-19 23:48:29 +0300
committerAndrei Karas <akaras@inbox.ru>2012-04-19 23:48:29 +0300
commit0b7e752bd177c90a05ca752fa31810f9e34c432c (patch)
treedb1809a48faf051af11c94058e8f126c9e9ef1ab /src/gui/logindialog.cpp
parent23f87c10db7e6b149e9e1f351e1a82516c545df7 (diff)
downloadmv-0b7e752bd177c90a05ca752fa31810f9e34c432c.tar.gz
mv-0b7e752bd177c90a05ca752fa31810f9e34c432c.tar.bz2
mv-0b7e752bd177c90a05ca752fa31810f9e34c432c.tar.xz
mv-0b7e752bd177c90a05ca752fa31810f9e34c432c.zip
Dehardcode keys in gui widgets.
Add new tab with keys settings in input settings tab.
Diffstat (limited to 'src/gui/logindialog.cpp')
-rw-r--r--src/gui/logindialog.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/gui/logindialog.cpp b/src/gui/logindialog.cpp
index e089c53fa..63073e9d5 100644
--- a/src/gui/logindialog.cpp
+++ b/src/gui/logindialog.cpp
@@ -24,6 +24,8 @@
#include "client.h"
#include "configuration.h"
+#include "keydata.h"
+#include "keyevent.h"
#include "gui/okdialog.h"
#include "gui/sdlinput.h"
@@ -312,14 +314,21 @@ void LoginDialog::action(const gcn::ActionEvent &event)
void LoginDialog::keyPressed(gcn::KeyEvent &keyEvent)
{
- gcn::Key key = keyEvent.getKey();
+ int actionId = static_cast<KeyEvent*>(&keyEvent)->getActionId();
- if (key.getValue() == Key::ESCAPE)
+ if (actionId == Input::KEY_GUI_CANCEL)
+ {
action(gcn::ActionEvent(nullptr, mServerButton->getActionEventId()));
- else if (key.getValue() == Key::ENTER)
+ }
+ else if (actionId == Input::KEY_GUI_SELECT
+ || actionId == Input::KEY_GUI_SELECT2)
+ {
action(gcn::ActionEvent(nullptr, mLoginButton->getActionEventId()));
+ }
else
+ {
mLoginButton->setEnabled(canSubmit());
+ }
}
bool LoginDialog::canSubmit() const