summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/Makefile.am2
-rw-r--r--src/client.cpp9
-rw-r--r--src/client.h10
-rw-r--r--src/game.cpp2
-rw-r--r--src/listeners/errorlistener.cpp36
-rw-r--r--src/listeners/errorlistener.h38
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