summaryrefslogtreecommitdiff
path: root/src/gui/editserverdialog.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/editserverdialog.cpp
parent05c22dd1a69fe90da67188c74a6995ee3747e937 (diff)
downloadmv-25d77892d72d455f8a89372687db45aefbc61cec.tar.gz
mv-25d77892d72d455f8a89372687db45aefbc61cec.tar.bz2
mv-25d77892d72d455f8a89372687db45aefbc61cec.tar.xz
mv-25d77892d72d455f8a89372687db45aefbc61cec.zip
move windows classes to windows directory.
Diffstat (limited to 'src/gui/editserverdialog.cpp')
-rw-r--r--src/gui/editserverdialog.cpp300
1 files changed, 0 insertions, 300 deletions
diff --git a/src/gui/editserverdialog.cpp b/src/gui/editserverdialog.cpp
deleted file mode 100644
index ff1d42eea..000000000
--- a/src/gui/editserverdialog.cpp
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2011-2012 The Mana Developers
- * Copyright (C) 2012-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/editserverdialog.h"
-
-#include "input/keydata.h"
-#include "input/keyevent.h"
-
-#include "gui/okdialog.h"
-#include "gui/serverdialog.h"
-
-#include "gui/widgets/button.h"
-#include "gui/widgets/dropdown.h"
-#include "gui/widgets/label.h"
-#include "gui/widgets/layout.h"
-#include "gui/widgets/textfield.h"
-
-#include "utils/gettext.h"
-
-std::string TypeListModel::getElementAt(int elementIndex)
-{
- if (elementIndex == 0)
- return "TmwAthena";
- else if (elementIndex == 1)
- return "Evol";
-#ifdef EATHENA_SUPPORT
- else if (elementIndex == 2)
- return "eAthena";
-#ifdef MANASERV_SUPPORT
- else if (elementIndex == 3)
- return "ManaServ";
-#endif
-#else
-#ifdef MANASERV_SUPPORT
- else if (elementIndex == 2)
- return "ManaServ";
-#endif
-#endif
- else
- return "Unknown";
-}
-
-EditServerDialog::EditServerDialog(ServerDialog *const parent,
- ServerInfo server,
- const int index) :
- // TRANSLATORS: edit server dialog name
- Window(_("Edit Server"), true, parent),
- gcn::ActionListener(),
- gcn::KeyListener(),
- mServerAddressField(new TextField(this, std::string())),
- mPortField(new TextField(this, std::string())),
- mNameField(new TextField(this, std::string())),
- mDescriptionField(new TextField(this, std::string())),
- mOnlineListUrlField(new TextField(this, std::string())),
- // TRANSLATORS: edit server dialog button
- mConnectButton(new Button(this, _("Connect"), "connect", this)),
- // TRANSLATORS: edit server dialog button
- mOkButton(new Button(this, _("OK"), "addServer", this)),
- // TRANSLATORS: edit server dialog button
- mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
- mTypeListModel(new TypeListModel),
- mTypeField(new DropDown(this, mTypeListModel, false, true)),
- mServerDialog(parent),
- mServer(server),
- mIndex(index)
-{
- setWindowName("EditServerDialog");
-
- // TRANSLATORS: edit server dialog label
- Label *const nameLabel = new Label(this, _("Name:"));
- // TRANSLATORS: edit server dialog label
- Label *const serverAdressLabel = new Label(this, _("Address:"));
- // TRANSLATORS: edit server dialog label
- Label *const portLabel = new Label(this, _("Port:"));
- // TRANSLATORS: edit server dialog label
- Label *const typeLabel = new Label(this, _("Server type:"));
- // TRANSLATORS: edit server dialog label
- Label *const descriptionLabel = new Label(this, _("Description:"));
- // TRANSLATORS: edit server dialog label
- Label *const onlineListUrlLabel = new Label(this, _("Online list url:"));
- mPortField->setNumeric(true);
- mPortField->setRange(1, 65535);
-
- mTypeField->setSelected(0); // TmwAthena by default
-
- mServerAddressField->addActionListener(this);
- mPortField->addActionListener(this);
-
- place(0, 0, nameLabel);
- place(1, 0, mNameField, 4).setPadding(3);
- place(0, 1, serverAdressLabel);
- place(1, 1, mServerAddressField, 4).setPadding(3);
- place(0, 2, portLabel);
- place(1, 2, mPortField, 4).setPadding(3);
- place(0, 3, typeLabel);
- place(1, 3, mTypeField).setPadding(3);
- place(0, 4, descriptionLabel);
- place(1, 4, mDescriptionField, 4).setPadding(3);
- place(0, 5, onlineListUrlLabel);
- place(1, 5, mOnlineListUrlField, 4).setPadding(3);
- place(0, 6, mConnectButton);
- place(4, 6, mOkButton);
- place(3, 6, mCancelButton);
-
- // Do this manually instead of calling reflowLayout so we can enforce a
- // minimum width.
- int width = 0;
- int height = 0;
- getLayout().reflow(width, height);
- if (width < 300)
- {
- width = 300;
- getLayout().reflow(width, height);
- }
- if (height < 120)
- {
- height = 120;
- getLayout().reflow(width, height);
- }
-
- setContentSize(width, height);
-
- setMinWidth(getWidth());
- setMinHeight(getHeight());
- setDefaultSize(getWidth(), getHeight(), ImageRect::CENTER);
-
- setResizable(false);
- addKeyListener(this);
-
- loadWindowState();
-
- mNameField->setText(mServer.name);
- mDescriptionField->setText(mServer.description);
- mOnlineListUrlField->setText(mServer.onlineListUrl);
- mServerAddressField->setText(mServer.hostname);
- mPortField->setText(toString(mServer.port));
-
- switch (mServer.type)
- {
-#ifdef EATHENA_SUPPORT
- case ServerInfo::EATHENA:
- mTypeField->setSelected(2);
- break;
- case ServerInfo::MANASERV:
-#ifdef MANASERV_SUPPORT
- mTypeField->setSelected(3);
- break;
-#endif
-#else
- case ServerInfo::MANASERV:
-#ifdef MANASERV_SUPPORT
- mTypeField->setSelected(2);
- break;
-#endif
-#endif
- default:
- case ServerInfo::UNKNOWN:
- case ServerInfo::TMWATHENA:
-#ifndef EATHENA_SUPPORT
- case ServerInfo::EATHENA:
-#endif
- mTypeField->setSelected(0);
- break;
- case ServerInfo::EVOL:
- mTypeField->setSelected(1);
- break;
- }
-
- setLocationRelativeTo(getParentWindow());
- setVisible(true);
-
- mNameField->requestFocus();
-}
-
-EditServerDialog::~EditServerDialog()
-{
- delete mTypeListModel;
-}
-
-void EditServerDialog::action(const gcn::ActionEvent &event)
-{
- const std::string &eventId = event.getId();
-
- if (eventId == "ok")
- {
- // Give focus back to the server dialog.
- mServerAddressField->requestFocus();
- }
- if (eventId == "addServer" || eventId == "connect")
- {
- // Check the given information
- if (mServerAddressField->getText().empty()
- || mPortField->getText().empty())
- {
- // TRANSLATORS: edit server dialog error header
- OkDialog *const dlg = new OkDialog(_("Error"),
- // TRANSLATORS: edit server dialog error message
- _("Please at least type both the address and the port "
- "of the server."), DIALOG_ERROR);
- dlg->addActionListener(this);
- }
- else
- {
- mCancelButton->setEnabled(false);
- mOkButton->setEnabled(false);
-
- mServer.name = mNameField->getText();
- mServer.description = mDescriptionField->getText();
- mServer.onlineListUrl = mOnlineListUrlField->getText();
- mServer.hostname = mServerAddressField->getText();
- mServer.port = static_cast<int16_t>(atoi(
- mPortField->getText().c_str()));
-
- if (mTypeField)
- {
- switch (mTypeField->getSelected())
- {
- case 0:
- mServer.type = ServerInfo::TMWATHENA;
- break;
- case 1:
- mServer.type = ServerInfo::EVOL;
- break;
-#ifdef EATHENA_SUPPORT
- case 2:
- mServer.type = ServerInfo::EATHENA;
- break;
-#ifdef MANASERV_SUPPORT
- case 3:
- mServer.type = ServerInfo::MANASERV;
- break;
-#endif
-#else
-#ifdef MANASERV_SUPPORT
- case 2:
- mServer.type = ServerInfo::MANASERV;
- break;
-#endif
-#endif
- default:
- mServer.type = ServerInfo::UNKNOWN;
- }
- }
- else
- {
- mServer.type = ServerInfo::TMWATHENA;
- }
-
- // Tell the server has to be saved
- mServer.save = true;
-
- // Add server
- mServerDialog->updateServer(mServer, mIndex);
- if (eventId == "connect")
- mServerDialog->connectToSelectedServer();
- scheduleDelete();
- }
- }
- else if (eventId == "cancel")
- {
- scheduleDelete();
- }
-}
-
-void EditServerDialog::keyPressed(gcn::KeyEvent &keyEvent)
-{
- if (keyEvent.isConsumed())
- return;
-
- const int actionId = static_cast<KeyEvent*>(
- &keyEvent)->getActionId();
-
- if (actionId == static_cast<int>(Input::KEY_GUI_CANCEL))
- {
- scheduleDelete();
- }
- else if (actionId == static_cast<int>(Input::KEY_GUI_SELECT)
- || actionId == static_cast<int>(Input::KEY_GUI_SELECT2))
- {
- action(gcn::ActionEvent(nullptr, mOkButton->getActionEventId()));
- }
-}