summaryrefslogtreecommitdiff
path: root/src/gui/changepassworddialog.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-09-30 14:03:48 +0300
committerAndrei Karas <akaras@inbox.ru>2013-09-30 14:03:48 +0300
commit25d77892d72d455f8a89372687db45aefbc61cec (patch)
treede03cb1af09eebf6db853a6585b953884bcca3b2 /src/gui/changepassworddialog.cpp
parent05c22dd1a69fe90da67188c74a6995ee3747e937 (diff)
downloadmanaplus-25d77892d72d455f8a89372687db45aefbc61cec.tar.gz
manaplus-25d77892d72d455f8a89372687db45aefbc61cec.tar.bz2
manaplus-25d77892d72d455f8a89372687db45aefbc61cec.tar.xz
manaplus-25d77892d72d455f8a89372687db45aefbc61cec.zip
move windows classes to windows directory.
Diffstat (limited to 'src/gui/changepassworddialog.cpp')
-rw-r--r--src/gui/changepassworddialog.cpp172
1 files changed, 0 insertions, 172 deletions
diff --git a/src/gui/changepassworddialog.cpp b/src/gui/changepassworddialog.cpp
deleted file mode 100644
index 3f41df3c5..000000000
--- a/src/gui/changepassworddialog.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2013 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "gui/changepassworddialog.h"
-
-#include "client.h"
-
-#include "gui/registerdialog.h"
-#include "gui/okdialog.h"
-
-#include "gui/widgets/button.h"
-#include "gui/widgets/passwordfield.h"
-#include "gui/widgets/label.h"
-#include "gui/widgets/layout.h"
-
-#include "net/logindata.h"
-#include "net/loginhandler.h"
-#include "net/net.h"
-
-#include "utils/gettext.h"
-
-#include <string>
-#include <sstream>
-
-#include "debug.h"
-
-ChangePasswordDialog::ChangePasswordDialog(LoginData *const data):
- // TRANSLATORS: change password window name
- Window(_("Change Password"), true, nullptr, "changepassword.xml"),
- gcn::ActionListener(),
- mOldPassField(new PasswordField(this)),
- mFirstPassField(new PasswordField(this)),
- mSecondPassField(new PasswordField(this)),
- // TRANSLATORS: change password dialog button
- mChangePassButton(new Button(this, _("Change Password"),
- "change_password", this)),
- // TRANSLATORS: change password dialog button
- mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
- mWrongDataNoticeListener(new WrongDataNoticeListener),
- mLoginData(data)
-{
- Label *const accountLabel = new Label(this,
- // TRANSLATORS: change password dialog label
- strprintf(_("Account: %s"), mLoginData->username.c_str()));
-
- place(0, 0, accountLabel, 3);
- // TRANSLATORS: change password dialog label
- place(0, 1, new Label(this, _("Password:")), 3);
- place(0, 2, mOldPassField, 3).setPadding(1);
- // TRANSLATORS: change password dialog label
- place(0, 3, new Label(this, _("Type new password twice:")), 3);
- place(0, 4, mFirstPassField, 3).setPadding(1);
- place(0, 5, mSecondPassField, 3).setPadding(1);
- place(1, 6, mCancelButton);
- place(2, 6, mChangePassButton);
- reflowLayout(200);
-
- center();
- setVisible(true);
- mOldPassField->requestFocus();
-
- mOldPassField->setActionEventId("change_password");
- mFirstPassField->setActionEventId("change_password");
- mSecondPassField->setActionEventId("change_password");
-}
-
-ChangePasswordDialog::~ChangePasswordDialog()
-{
- delete mWrongDataNoticeListener;
- mWrongDataNoticeListener = nullptr;
-}
-
-void ChangePasswordDialog::action(const gcn::ActionEvent &event)
-{
- const std::string &eventId = event.getId();
- if (eventId == "cancel")
- {
- client->setState(STATE_CHAR_SELECT);
- }
- else if (eventId == "change_password")
- {
- const std::string username = mLoginData->username.c_str();
- const std::string oldPassword = mOldPassField->getText();
- const std::string newFirstPass = mFirstPassField->getText();
- const std::string newSecondPass = mSecondPassField->getText();
- logger->log("ChangePasswordDialog::Password change, Username is %s",
- username.c_str());
-
- std::stringstream errorMsg;
- int error = 0;
-
- const unsigned int min = Net::getLoginHandler()
- ->getMinPasswordLength();
- const unsigned int max = Net::getLoginHandler()
- ->getMaxPasswordLength();
-
- // Check old Password
- if (oldPassword.empty())
- {
- // No old password
- // TRANSLATORS: change password error
- errorMsg << _("Enter the old password first.");
- error = 1;
- }
- else if (newFirstPass.length() < min)
- {
- // First password too short
- // TRANSLATORS: change password error
- errorMsg << strprintf(_("The new password needs to be at least"
- " %u characters long."), min);
- error = 2;
- }
- else if (newFirstPass.length() > max)
- {
- // First password too long
- // TRANSLATORS: change password error
- errorMsg << strprintf(_("The new password needs to be less "
- "than %u characters long."), max);
- error = 2;
- }
- else if (newFirstPass != newSecondPass)
- {
- // Second Pass mismatch
- // TRANSLATORS: change password error
- errorMsg << _("The new password entries mismatch.");
- error = 3;
- }
-
- if (error > 0)
- {
- if (error == 1)
- mWrongDataNoticeListener->setTarget(this->mOldPassField);
- else if (error == 2)
- mWrongDataNoticeListener->setTarget(this->mFirstPassField);
- else if (error == 3)
- mWrongDataNoticeListener->setTarget(this->mSecondPassField);
-
- // TRANSLATORS: change password error header
- OkDialog *const dlg = new OkDialog(_("Error"),
- errorMsg.str(), DIALOG_ERROR);
- dlg->addActionListener(mWrongDataNoticeListener);
- }
- else
- {
- // No errors detected, change account password.
- mChangePassButton->setEnabled(false);
- // Set the new password
- mLoginData->password = oldPassword;
- mLoginData->newPassword = newFirstPass;
- client->setState(STATE_CHANGEPASSWORD_ATTEMPT);
- }
- }
-}