diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/client.cpp | 9 | ||||
-rw-r--r-- | src/client.h | 10 | ||||
-rw-r--r-- | src/game.cpp | 2 | ||||
-rw-r--r-- | src/listeners/errorlistener.cpp | 36 | ||||
-rw-r--r-- | src/listeners/errorlistener.h | 38 |
7 files changed, 81 insertions, 18 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2c8ddafc6..05785d21b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -802,6 +802,8 @@ SET(SRCS gui/cliprect.h gui/color.h listeners/deathlistener.h + listeners/errorlistener.cpp + listeners/errorlistener.h events/event.h listeners/focuslistener.h events/inputguievent.h diff --git a/src/Makefile.am b/src/Makefile.am index 5b21370cb..b6a24dab8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -157,6 +157,8 @@ manaplus_SOURCES += events/actionevent.h \ gui/cliprect.h \ gui/color.h \ listeners/deathlistener.h \ + listeners/errorlistener.cpp \ + listeners/errorlistener.h \ events/event.h \ listeners/focuslistener.h \ render/graphics.h \ diff --git a/src/client.cpp b/src/client.cpp index 4d8f79eab..db310e2cb 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -117,7 +117,6 @@ #include "utils/mkdir.h" #include "utils/paths.h" #include "utils/physfstools.h" -#include "utils/process.h" #include "utils/sdlcheckutils.h" #include "utils/sdlhelper.h" #include "utils/timer.h" @@ -164,7 +163,6 @@ int loadingProgressCounter = 1; #endif std::string errorMessage; -ErrorListener errorListener; LoginData loginData; Client *client = nullptr; @@ -175,13 +173,6 @@ UserPalette *userPalette = nullptr; SoundManager soundManager; RenderType openGLMode = RENDER_SOFTWARE; -void ErrorListener::action(const ActionEvent &event) -{ - if (event.getId() == "yes") - openBrowser(client->getSupportUrl()); - client->setState(STATE_CHOOSE_SERVER); -} - volatile bool runCounters; bool isSafeMode = false; int serverVersion = 0; diff --git a/src/client.h b/src/client.h index 25c5b943f..15a851eb1 100644 --- a/src/client.h +++ b/src/client.h @@ -26,11 +26,10 @@ #include "state.h" #include "listeners/configlistener.h" +#include "listeners/errorlistener.h" #include "net/serverinfo.h" -#include "listeners/actionlistener.h" - #include <SDL.h> #ifdef USE_SDL2 @@ -59,14 +58,7 @@ extern unsigned int tmwServerVersion; extern int start_time; extern int textures_count; -class ErrorListener : public ActionListener -{ - public: - void action(const ActionEvent &event) override final; -}; - extern std::string errorMessage; -extern ErrorListener errorListener; extern LoginData loginData; enum PacketTypes diff --git a/src/game.cpp b/src/game.cpp index 211a4c2b6..c94dfd182 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -107,6 +107,8 @@ #include "utils/sdlcheckutils.h" #include "utils/timer.h" +#include "listeners/errorlistener.h" + #include <sstream> #include <string> diff --git a/src/listeners/errorlistener.cpp b/src/listeners/errorlistener.cpp new file mode 100644 index 000000000..e38433872 --- /dev/null +++ b/src/listeners/errorlistener.cpp @@ -0,0 +1,36 @@ +/* + * The ManaPlus Client + * Copyright (C) 2004-2009 The Mana World Development Team + * Copyright (C) 2009-2010 The Mana Developers + * Copyright (C) 2011-2014 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 "listeners/errorlistener.h" + +#include "client.h" + +#include "utils/process.h" + +ErrorListener errorListener; + +void ErrorListener::action(const ActionEvent &event) +{ + if (event.getId() == "yes") + openBrowser(client->getSupportUrl()); + client->setState(STATE_CHOOSE_SERVER); +} diff --git a/src/listeners/errorlistener.h b/src/listeners/errorlistener.h new file mode 100644 index 000000000..12b1c47bc --- /dev/null +++ b/src/listeners/errorlistener.h @@ -0,0 +1,38 @@ +/* + * The ManaPlus Client + * Copyright (C) 2004-2009 The Mana World Development Team + * Copyright (C) 2009-2010 The Mana Developers + * Copyright (C) 2011-2014 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/>. + */ + +#ifndef LISTENERS_ERRORLISTENER_H +#define LISTENERS_ERRORLISTENER_H + +#include "listeners/actionlistener.h" + +#include "localconsts.h" + +class ErrorListener final : public ActionListener +{ + public: + void action(const ActionEvent &event) override final; +}; + +extern ErrorListener errorListener; + +#endif // LISTENERS_KEYLISTENER_H |