diff options
-rw-r--r-- | src/gui/customserverdialog.cpp | 16 | ||||
-rw-r--r-- | src/gui/customserverdialog.h | 4 | ||||
-rw-r--r-- | src/gui/serverdialog.cpp | 14 | ||||
-rw-r--r-- | src/net/net.cpp | 2 | ||||
-rw-r--r-- | src/net/serverinfo.h | 1 |
5 files changed, 31 insertions, 6 deletions
diff --git a/src/gui/customserverdialog.cpp b/src/gui/customserverdialog.cpp index 26368c80..d23b9459 100644 --- a/src/gui/customserverdialog.cpp +++ b/src/gui/customserverdialog.cpp @@ -38,8 +38,10 @@ std::string TypeListModel::getElementAt(int elementIndex) { if (elementIndex == 0) return "TmwAthena"; +#ifdef ENABLE_MANASERV else if (elementIndex == 1) return "ManaServ"; +#endif else return "Unknown"; } @@ -54,14 +56,18 @@ CustomServerDialog::CustomServerDialog(ServerDialog *parent, int index): Label *nameLabel = new Label(_("Name:")); Label *serverAdressLabel = new Label(_("Address:")); Label *portLabel = new Label(_("Port:")); +#ifdef ENABLE_MANASERV Label *typeLabel = new Label(_("Server type:")); +#endif Label *descriptionLabel = new Label(_("Description:")); mServerAddressField = new TextField(std::string()); mPortField = new TextField(std::string()); +#ifdef ENABLE_MANASERV mTypeListModel = new TypeListModel(); mTypeField = new DropDown(mTypeListModel); mTypeField->setSelected(0); // TmwAthena by default for now. +#endif mNameField = new TextField(std::string()); mDescriptionField = new TextField(std::string()); @@ -78,8 +84,10 @@ CustomServerDialog::CustomServerDialog(ServerDialog *parent, int index): place(1, 1, mServerAddressField, 4).setPadding(3); place(0, 2, portLabel); place(1, 2, mPortField, 4).setPadding(3); +#ifdef ENABLE_MANASERV place(0, 3, typeLabel); place(1, 3, mTypeField).setPadding(3); +#endif place(0, 4, descriptionLabel); place(1, 4, mDescriptionField, 4).setPadding(3); place(4, 5, mOkButton); @@ -119,8 +127,10 @@ CustomServerDialog::CustomServerDialog(ServerDialog *parent, int index): mDescriptionField->setText(serverInfo.description); mServerAddressField->setText(serverInfo.hostname); mPortField->setText(toString(serverInfo.port)); +#ifdef ENABLE_MANASERV mTypeField->setSelected(serverInfo.type == ServerInfo::TMWATHENA ? 0 : 1); +#endif } setLocationRelativeTo(getParentWindow()); @@ -131,7 +141,9 @@ CustomServerDialog::CustomServerDialog(ServerDialog *parent, int index): CustomServerDialog::~CustomServerDialog() { +#ifdef ENABLE_MANASERV delete mTypeListModel; +#endif } void CustomServerDialog::logic() @@ -167,6 +179,7 @@ void CustomServerDialog::action(const gcn::ActionEvent &event) serverInfo.description = mDescriptionField->getText(); serverInfo.hostname = mServerAddressField->getText(); serverInfo.port = (short) atoi(mPortField->getText().c_str()); +#ifdef ENABLE_MANASERV switch (mTypeField->getSelected()) { case 0: @@ -178,6 +191,9 @@ void CustomServerDialog::action(const gcn::ActionEvent &event) default: serverInfo.type = ServerInfo::UNKNOWN; } +#else + serverInfo.type = ServerInfo::TMWATHENA; +#endif // Tell the server has to be saved serverInfo.save = true; diff --git a/src/gui/customserverdialog.h b/src/gui/customserverdialog.h index 25c320e8..37a3b823 100644 --- a/src/gui/customserverdialog.h +++ b/src/gui/customserverdialog.h @@ -86,10 +86,10 @@ class CustomServerDialog : public Window, TextField *mDescriptionField; Button *mOkButton; Button *mCancelButton; - +#ifdef ENABLE_MANASERV DropDown *mTypeField; TypeListModel *mTypeListModel; - +#endif ServerDialog *mServerDialog; // The index of the entry to modify, -1 when only adding a new entry. int mIndex; diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp index 91e5fdeb..66afe912 100644 --- a/src/gui/serverdialog.cpp +++ b/src/gui/serverdialog.cpp @@ -281,10 +281,14 @@ void ServerDialog::action(const gcn::ActionEvent &event) int index = mServersList->getSelected(); // Check login - if (index < 0) + if (index < 0 +#ifndef ENABLE_MANASERV + || mServersListModel->getServer(index).type == ServerInfo::MANASERV +#endif + ) { OkDialog *dlg = new OkDialog(_("Error"), - _("Please select a server.")); + _("Please select a valid server.")); dlg->addActionListener(this); } else @@ -470,7 +474,11 @@ void ServerDialog::loadServers() server.type = ServerInfo::parseType(type); // Ignore unknown server types - if (server.type == ServerInfo::UNKNOWN) + if (server.type == ServerInfo::UNKNOWN +#ifndef ENABLE_MANASERV + || server.type == ServerInfo::MANASERV +#endif + ) { logger->log("Ignoring server entry with unknown type: %s", type.c_str()); diff --git a/src/net/net.cpp b/src/net/net.cpp index 160feed2..4b28f567 100644 --- a/src/net/net.cpp +++ b/src/net/net.cpp @@ -154,9 +154,11 @@ void connectToServer(ServerInfo &server) switch (server.type) { +#ifdef ENABLE_MANASERV case ServerInfo::MANASERV: new ManaServ::GeneralHandler; break; +#endif case ServerInfo::TMWATHENA: new TmwAthena::GeneralHandler; break; diff --git a/src/net/serverinfo.h b/src/net/serverinfo.h index 0748430f..e709bed0 100644 --- a/src/net/serverinfo.h +++ b/src/net/serverinfo.h @@ -106,7 +106,6 @@ public: return TMWATHENA; else if (compareStrI(type, "manaserv") == 0) return MANASERV; - return UNKNOWN; } }; |