From 16bc04769d0fdd319be5bcebddb49ddd87f76d94 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 6 Feb 2013 00:40:31 +0300 Subject: Add support in register dialog for apply/close by keyboard Default keys: enter and esc --- src/gui/registerdialog.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/gui') diff --git a/src/gui/registerdialog.cpp b/src/gui/registerdialog.cpp index 40738abb2..d803bd89e 100644 --- a/src/gui/registerdialog.cpp +++ b/src/gui/registerdialog.cpp @@ -24,6 +24,8 @@ #include "client.h" #include "configuration.h" +#include "keydata.h" +#include "keyevent.h" #include "gui/logindialog.h" #include "gui/okdialog.h" @@ -270,7 +272,26 @@ void RegisterDialog::action(const gcn::ActionEvent &event) void RegisterDialog::keyPressed(gcn::KeyEvent &keyEvent A_UNUSED) { - mRegisterButton->setEnabled(canSubmit()); + if (keyEvent.isConsumed()) + { + mRegisterButton->setEnabled(canSubmit()); + return; + } + const int actionId = static_cast( + &keyEvent)->getActionId(); + if (actionId == static_cast(Input::KEY_GUI_CANCEL)) + { + action(gcn::ActionEvent(nullptr, mCancelButton->getActionEventId())); + } + else if (actionId == static_cast(Input::KEY_GUI_SELECT) + || actionId == static_cast(Input::KEY_GUI_SELECT2)) + { + action(gcn::ActionEvent(nullptr, mRegisterButton->getActionEventId())); + } + else + { + mRegisterButton->setEnabled(canSubmit()); + } } bool RegisterDialog::canSubmit() const -- cgit v1.2.3-70-g09d2