diff options
author | Björn Steinbrink <B.Steinbrink@gmx.de> | 2006-02-01 13:14:05 +0000 |
---|---|---|
committer | Björn Steinbrink <B.Steinbrink@gmx.de> | 2006-02-01 13:14:05 +0000 |
commit | 30a90b9ad7859fa56184cf6a775e7fd99a6c1647 (patch) | |
tree | 8388996ba44ff92d5bd911795df0a21c02ee1afc /src/main.cpp | |
parent | 4490b8643f2449da159c9284503eb2c443aa2e9e (diff) | |
download | mana-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.cpp | 19 |
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; |