summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorBjörn Steinbrink <B.Steinbrink@gmx.de>2006-02-01 13:14:05 +0000
committerBjörn Steinbrink <B.Steinbrink@gmx.de>2006-02-01 13:14:05 +0000
commit30a90b9ad7859fa56184cf6a775e7fd99a6c1647 (patch)
tree8388996ba44ff92d5bd911795df0a21c02ee1afc /src/main.cpp
parent4490b8643f2449da159c9284503eb2c443aa2e9e (diff)
downloadmana-30a90b9ad7859fa56184cf6a775e7fd99a6c1647.tar.gz
mana-30a90b9ad7859fa56184cf6a775e7fd99a6c1647.tar.bz2
mana-30a90b9ad7859fa56184cf6a775e7fd99a6c1647.tar.xz
mana-30a90b9ad7859fa56184cf6a775e7fd99a6c1647.zip
Replaced ErrorDialog by OkDialog + listener.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 9c45614b..28502b5e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -29,6 +29,8 @@
#include <unistd.h>
#include <SDL_image.h>
+#include <guichan/actionlistener.hpp>
+
#include <guichan/sdl/sdlinput.hpp>
#include <libxml/parser.h>
@@ -58,9 +60,9 @@
#include "gui/char_server.h"
#include "gui/char_select.h"
#include "gui/connection.h"
-#include "gui/error.h"
#include "gui/gui.h"
#include "gui/login.h"
+#include "gui/ok_dialog.h"
#include "gui/register.h"
#include "gui/updatewindow.h"
#include "gui/textfield.h"
@@ -108,6 +110,17 @@ Uint32 nextFrame(Uint32 interval, void *param)
return interval;
}
+struct ErrorListener : public gcn::ActionListener
+{
+ void action(const std::string& eventId)
+ {
+ if (eventId == "ok")
+ {
+ state = LOGIN_STATE;
+ }
+ }
+} errorListener;
+
/**
* Do all initialization stuff
*/
@@ -620,7 +633,9 @@ int main(int argc, char *argv[])
case ERROR_STATE:
logger->log("State: ERROR");
- currentDialog = new ErrorDialog(errorMessage);
+ currentDialog = new OkDialog("Error", errorMessage);
+ currentDialog->addActionListener(&errorListener);
+ currentDialog = NULL; // OkDialog deletes itself
network->disconnect();
network->clearHandlers();
break;