summaryrefslogtreecommitdiff
path: root/src/gui/register.h
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-03-24 16:24:43 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-03-24 16:24:43 +0000
commitbfbb797e6c528e0650826e917d498c52362abbb0 (patch)
tree8d111b92eefe8451a66b57599217829b4127318e /src/gui/register.h
parentdae5c721bf974792db526f1d736384d95a75635e (diff)
downloadmana-client-bfbb797e6c528e0650826e917d498c52362abbb0.tar.gz
mana-client-bfbb797e6c528e0650826e917d498c52362abbb0.tar.bz2
mana-client-bfbb797e6c528e0650826e917d498c52362abbb0.tar.xz
mana-client-bfbb797e6c528e0650826e917d498c52362abbb0.zip
Merged 0.0 changes from revision 3177 to 3234 to trunk.
Diffstat (limited to 'src/gui/register.h')
-rw-r--r--src/gui/register.h37
1 files changed, 31 insertions, 6 deletions
diff --git a/src/gui/register.h b/src/gui/register.h
index 4ffe451f..088e8f9b 100644
--- a/src/gui/register.h
+++ b/src/gui/register.h
@@ -26,23 +26,39 @@
#include <iosfwd>
#include <guichan/actionlistener.hpp>
+#include <guichan/keylistener.hpp>
#include "window.h"
#include "../guichanfwd.h"
class LoginData;
class OkDialog;
-class WrongDataNoticeListener;
/**
- * The login dialog.
+ * Listener used while dealing with wrong data. It is used to direct the focus
+ * to the field which contained wrong data when the Ok button was pressed on
+ * the error notice.
+ */
+class WrongDataNoticeListener : public gcn::ActionListener {
+ public:
+ void setTarget(gcn::TextField *textField);
+ void action(const gcn::ActionEvent &event);
+ private:
+ gcn::TextField *mTarget;
+};
+
+/**
+ * The registration dialog.
*
* \ingroup Interface
*/
-class RegisterDialog : public Window, public gcn::ActionListener {
+class RegisterDialog : public Window, public gcn::ActionListener,
+ public gcn::KeyListener
+{
public:
/**
- * Constructor
+ * Constructor. Name, password and server fields will be initialized to
+ * the information already present in the LoginData instance.
*
* @see Window::Window
*/
@@ -58,10 +74,19 @@ class RegisterDialog : public Window, public gcn::ActionListener {
*/
void action(const gcn::ActionEvent &event);
- // Made them public to have the possibility to request focus
- // from external functions.
+ /**
+ * Called when a key is pressed in one of the text fields.
+ */
+ void keyPressed(gcn::KeyEvent &keyEvent);
private:
+ /**
+ * Returns whether submit can be enabled. This is true in the register
+ * state, when all necessary fields have some text.
+ */
+ bool
+ canSubmit();
+
gcn::TextField *mUserField;
gcn::TextField *mPasswordField;
gcn::TextField *mConfirmField;