summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2006-08-02 09:43:57 +0000
committerEugenio Favalli <elvenprogrammer@gmail.com>2006-08-02 09:43:57 +0000
commit25fe73f89756cb4102f97bcccdb8635a6a56f35d (patch)
tree12f6737acba4927f49f7d7b676467fe301a2a430 /src/gui
parent2ae843719c2a7b2325309404a0e3cbb4aeb9c3df (diff)
downloadmana-client-25fe73f89756cb4102f97bcccdb8635a6a56f35d.tar.gz
mana-client-25fe73f89756cb4102f97bcccdb8635a6a56f35d.tar.bz2
mana-client-25fe73f89756cb4102f97bcccdb8635a6a56f35d.tar.xz
mana-client-25fe73f89756cb4102f97bcccdb8635a6a56f35d.zip
Ported account registration to tmwserv. There's still a disconnection/reconnection between registration and login.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/char_select.cpp14
-rw-r--r--src/gui/char_select.h7
-rw-r--r--src/gui/register.cpp20
-rw-r--r--src/gui/register.h1
4 files changed, 24 insertions, 18 deletions
diff --git a/src/gui/char_select.cpp b/src/gui/char_select.cpp
index 934988f4..27b5b55a 100644
--- a/src/gui/char_select.cpp
+++ b/src/gui/char_select.cpp
@@ -70,10 +70,9 @@ void CharDeleteConfirm::action(const std::string &eventId, gcn::Widget *widget)
}
CharSelectDialog::CharSelectDialog(Network *network,
- LockedArray<LocalPlayer*> *charInfo,
- unsigned char sex):
+ LockedArray<LocalPlayer*> *charInfo):
Window("Select Character"), mNetwork(network),
- mCharInfo(charInfo), mSex(sex), mCharSelected(false)
+ mCharInfo(charInfo), mCharSelected(false)
{
mSelectButton = new Button("Ok", "ok", this);
mCancelButton = new Button("Cancel", "cancel", this);
@@ -86,7 +85,7 @@ CharSelectDialog::CharSelectDialog(Network *network,
mLevelLabel = new gcn::Label("Level");
mJobLevelLabel = new gcn::Label("Job Level");
mMoneyLabel = new gcn::Label("Money");
- mPlayerBox = new PlayerBox(sex);
+ mPlayerBox = new PlayerBox(0);
int w = 195;
int h = 220;
@@ -149,7 +148,7 @@ void CharSelectDialog::action(const std::string &eventId, gcn::Widget *widget)
{
// Start new character dialog
mCharInfo->lock();
- new CharCreateDialog(this, mCharInfo->getPos(), mNetwork, mSex);
+ new CharCreateDialog(this, mCharInfo->getPos(), mNetwork);
mCharInfo->unlock();
}
}
@@ -228,8 +227,7 @@ void CharSelectDialog::logic()
updatePlayerInfo();
}
-CharCreateDialog::CharCreateDialog(Window *parent, int slot, Network *network,
- unsigned char sex):
+CharCreateDialog::CharCreateDialog(Window *parent, int slot, Network *network):
Window("Create Character", true, parent), mNetwork(network), mSlot(slot)
{
mNameField = new TextField("");
@@ -242,7 +240,7 @@ CharCreateDialog::CharCreateDialog(Window *parent, int slot, Network *network,
mHairStyleLabel = new gcn::Label("Hair Style:");
mCreateButton = new Button("Create", "create", this);
mCancelButton = new Button("Cancel", "cancel", this);
- mPlayerBox = new PlayerBox(sex);
+ mPlayerBox = new PlayerBox(0);
mPlayerBox->mShowPlayer = true;
mNameField->setEventId("create");
diff --git a/src/gui/char_select.h b/src/gui/char_select.h
index 20105516..3bf9911e 100644
--- a/src/gui/char_select.h
+++ b/src/gui/char_select.h
@@ -48,8 +48,7 @@ class CharSelectDialog : public Window, public gcn::ActionListener
* Constructor.
*/
CharSelectDialog(Network *network,
- LockedArray<LocalPlayer*> *charInfo,
- unsigned char sex);
+ LockedArray<LocalPlayer*> *charInfo);
void action(const std::string& eventId, gcn::Widget* widget);
@@ -75,7 +74,6 @@ class CharSelectDialog : public Window, public gcn::ActionListener
PlayerBox *mPlayerBox;
- unsigned char mSex;
bool mCharSelected;
/**
@@ -100,8 +98,7 @@ class CharCreateDialog : public Window, public gcn::ActionListener
/**
* Constructor.
*/
- CharCreateDialog(Window *parent, int slot, Network *network,
- unsigned char sex);
+ CharCreateDialog(Window *parent, int slot, Network *network);
void action(const std::string& eventId, gcn::Widget* widget);
diff --git a/src/gui/register.cpp b/src/gui/register.cpp
index 38136b87..82e5f716 100644
--- a/src/gui/register.cpp
+++ b/src/gui/register.cpp
@@ -50,10 +50,12 @@ RegisterDialog::RegisterDialog(LoginData *loginData):
gcn::Label *userLabel = new gcn::Label("Name:");
gcn::Label *passwordLabel = new gcn::Label("Password:");
gcn::Label *confirmLabel = new gcn::Label("Confirm:");
+ gcn::Label *emailLabel = new gcn::Label("Email:");
gcn::Label *serverLabel = new gcn::Label("Server:");
mUserField = new TextField("player");
mPasswordField = new PasswordField();
mConfirmField = new PasswordField();
+ mEmailField = new TextField();
mServerField = new TextField();
mMaleButton = new RadioButton("Male", "sex", true);
mFemaleButton = new RadioButton("Female", "sex", false);
@@ -61,7 +63,7 @@ RegisterDialog::RegisterDialog(LoginData *loginData):
mCancelButton = new Button("Cancel", "cancel", this);
int width = 200;
- int height = 150;
+ int height = 170;
setContentSize(width, height);
mUserField->setPosition(65, 5);
@@ -72,17 +74,21 @@ RegisterDialog::RegisterDialog(LoginData *loginData):
mConfirmField->setPosition(
65, mPasswordField->getY() + mPasswordField->getHeight() + 7);
mConfirmField->setWidth(130);
+ mEmailField->setPosition(
+ 65, mConfirmField->getY() + mConfirmField->getHeight() + 7);
+ mEmailField->setWidth(130);
mServerField->setPosition(
- 65, 23 + mConfirmField->getY() + mConfirmField->getHeight() + 7);
+ 65, 23 + mEmailField->getY() + mEmailField->getHeight() + 7);
mServerField->setWidth(130);
userLabel->setPosition(5, mUserField->getY() + 1);
passwordLabel->setPosition(5, mPasswordField->getY() + 1);
confirmLabel->setPosition(5, mConfirmField->getY() + 1);
+ emailLabel->setPosition(5, mEmailField->getY() + 1);
serverLabel->setPosition(5, mServerField->getY() + 1);
mFemaleButton->setPosition(width - mFemaleButton->getWidth() - 10,
- mConfirmField->getY() + mConfirmField->getHeight() + 7);
+ mEmailField->getY() + mEmailField->getHeight() + 7);
mMaleButton->setPosition(mFemaleButton->getX() - mMaleButton->getWidth() - 5,
mFemaleButton->getY());
@@ -92,11 +98,13 @@ RegisterDialog::RegisterDialog(LoginData *loginData):
add(userLabel);
add(passwordLabel);
+ add(emailLabel);
add(serverLabel);
add(confirmLabel);
add(mUserField);
add(mPasswordField);
add(mConfirmField);
+ add(mEmailField);
add(mServerField);
add(mMaleButton);
add(mFemaleButton);
@@ -176,6 +184,8 @@ RegisterDialog::action(const std::string &eventId, gcn::Widget *widget)
error = 2;
}
+ // TODO: Check if a valid email address was given
+
if (error > 0)
{
if (error == 1)
@@ -202,9 +212,9 @@ RegisterDialog::action(const std::string &eventId, gcn::Widget *widget)
mLoginData->port = (short)config.getValue("port", 0);
mLoginData->username = mUserField->getText();
mLoginData->password = mPasswordField->getText();
- mLoginData->username += mFemaleButton->isMarked() ? "_F" : "_M";
+ mLoginData->email = mEmailField->getText();
- state = ACCOUNT_STATE;
+ state = REGISTER_ACCOUNT_STATE;
}
}
}
diff --git a/src/gui/register.h b/src/gui/register.h
index 5d3f6cd5..30dacd3e 100644
--- a/src/gui/register.h
+++ b/src/gui/register.h
@@ -65,6 +65,7 @@ class RegisterDialog : public Window, public gcn::ActionListener {
gcn::TextField *mUserField;
gcn::TextField *mPasswordField;
gcn::TextField *mConfirmField;
+ gcn::TextField *mEmailField;
gcn::TextField *mServerField;
gcn::Button *mRegisterButton;