diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/Makefile.am | 1 | ||||
-rw-r--r-- | src/gui/models/typelistmodel.h | 82 | ||||
-rw-r--r-- | src/gui/windows/editserverdialog.cpp | 25 | ||||
-rw-r--r-- | src/gui/windows/editserverdialog.h | 35 |
5 files changed, 87 insertions, 57 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e90c06b0f..db705332c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -235,6 +235,7 @@ SET(SRCS gui/models/tablemodel.h gui/models/touchactionmodel.cpp gui/models/touchactionmodel.h + gui/models/typelistmodel.h gui/models/updatetypemodel.h gui/models/updatelistmodel.h gui/models/worldlistmodel.h diff --git a/src/Makefile.am b/src/Makefile.am index 56840ea85..4db3f1fa5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -331,6 +331,7 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \ gui/models/tablemodel.h \ gui/models/touchactionmodel.cpp \ gui/models/touchactionmodel.h \ + gui/models/typelistmodel.h \ gui/models/updatetypemodel.h \ gui/models/updatelistmodel.h \ gui/models/worldlistmodel.h \ diff --git a/src/gui/models/typelistmodel.h b/src/gui/models/typelistmodel.h new file mode 100644 index 000000000..d7b6226b0 --- /dev/null +++ b/src/gui/models/typelistmodel.h @@ -0,0 +1,82 @@ +/* + * The Mana Client + * Copyright (C) 2011-2012 The Mana Developers + * Copyright (C) 2012-2014 The ManaPlus Developers + * + * This file is part of The Mana 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/>. + */ + +#ifndef GUI_MODELS_TYPELISTMODEL_H +#define GUI_MODELS_TYPELISTMODEL_H + +#include "gui/models/listmodel.h" + +/** + * Server Type List Model + */ +class TypeListModel : public ListModel +{ + public: + TypeListModel() + { } + + /** + * Used to get number of line in the list + */ + int getNumberOfElements() override final A_WARN_UNUSED +#ifdef EATHENA_SUPPORT +#ifdef MANASERV_SUPPORT + { return 4; } +#else + { return 3; } +#endif +#else +#ifdef MANASERV_SUPPORT + { return 3; } +#else + { return 2; } +#endif +#endif + + /** + * Used to get an element from the list + */ + std::string getElementAt(int elementIndex) + override final A_WARN_UNUSED + { + 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"; + } +}; + +#endif // GUI_MODELS_TYPELISTMODEL_H diff --git a/src/gui/windows/editserverdialog.cpp b/src/gui/windows/editserverdialog.cpp index 2286a9b36..e236841a5 100644 --- a/src/gui/windows/editserverdialog.cpp +++ b/src/gui/windows/editserverdialog.cpp @@ -25,6 +25,8 @@ #include "input/keydata.h" +#include "gui/models/typelistmodel.h" + #include "gui/windows/okdialog.h" #include "gui/windows/serverdialog.h" @@ -36,29 +38,6 @@ #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) : diff --git a/src/gui/windows/editserverdialog.h b/src/gui/windows/editserverdialog.h index a3f649f0d..215666394 100644 --- a/src/gui/windows/editserverdialog.h +++ b/src/gui/windows/editserverdialog.h @@ -26,6 +26,7 @@ class Button; class TextField; class DropDown; class ServerDialog; +class TypeListModel; #include "gui/widgets/window.h" @@ -37,40 +38,6 @@ class ServerDialog; #include "gui/models/listmodel.h" /** - * Server Type List Model - */ -class TypeListModel : public ListModel -{ - public: - TypeListModel() - { } - - /** - * Used to get number of line in the list - */ - int getNumberOfElements() override final A_WARN_UNUSED -#ifdef EATHENA_SUPPORT -#ifdef MANASERV_SUPPORT - { return 4; } -#else - { return 3; } -#endif -#else -#ifdef MANASERV_SUPPORT - { return 3; } -#else - { return 2; } -#endif -#endif - - /** - * Used to get an element from the list - */ - std::string getElementAt(int elementIndex) - override final A_WARN_UNUSED; -}; - -/** * The custom server addition dialog. * * \ingroup Interface |