summaryrefslogtreecommitdiff
path: root/src/gui/login.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/login.cpp')
-rw-r--r--src/gui/login.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/gui/login.cpp b/src/gui/login.cpp
index aa14b00e..396c5d1a 100644
--- a/src/gui/login.cpp
+++ b/src/gui/login.cpp
@@ -22,6 +22,7 @@
#include "gui/login.h"
#include "gui/okdialog.h"
+#include "gui/sdlinput.h"
#include "gui/widgets/button.h"
#include "gui/widgets/checkbox.h"
@@ -77,6 +78,8 @@ LoginDialog::LoginDialog(LoginData *loginData):
place(3, 6, mLoginButton);
reflowLayout(250, 0);
+ addKeyListener(this);
+
center();
setVisible(true);
@@ -121,7 +124,20 @@ void LoginDialog::action(const gcn::ActionEvent &event)
void LoginDialog::keyPressed(gcn::KeyEvent &keyEvent)
{
- mLoginButton->setEnabled(canSubmit());
+ gcn::Key key = keyEvent.getKey();
+
+ if (key.getValue() == Key::ESCAPE)
+ {
+ action(gcn::ActionEvent(NULL, mServerButton->getActionEventId()));
+ }
+ else if (key.getValue() == Key::ENTER)
+ {
+ action(gcn::ActionEvent(NULL, mLoginButton->getActionEventId()));
+ }
+ else
+ {
+ mLoginButton->setEnabled(canSubmit());
+ }
}
bool LoginDialog::canSubmit()