diff options
author | Eugenio Favalli <elvenprogrammer@gmail.com> | 2005-09-26 18:15:05 +0000 |
---|---|---|
committer | Eugenio Favalli <elvenprogrammer@gmail.com> | 2005-09-26 18:15:05 +0000 |
commit | 3d6a9219de95a711411aea3189f01985a3cb0d3b (patch) | |
tree | 533af990c96ee7c5b6ca8ffc63594affd2ca8463 | |
parent | a0fd39a05151848bef85e18e25aa0824bc9cef93 (diff) | |
download | mana-3d6a9219de95a711411aea3189f01985a3cb0d3b.tar.gz mana-3d6a9219de95a711411aea3189f01985a3cb0d3b.tar.bz2 mana-3d6a9219de95a711411aea3189f01985a3cb0d3b.tar.xz mana-3d6a9219de95a711411aea3189f01985a3cb0d3b.zip |
Added a nicer handling of when you get disconnected from the server.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/gui/error.cpp | 54 | ||||
-rw-r--r-- | src/gui/error.h | 64 |
4 files changed, 123 insertions, 4 deletions
@@ -1,8 +1,9 @@ 2005-09-26 Eugenio Favalli <elvenprogrammer@gmail.com> * The Mana World.dev, src/Makefile.am, src/game.cpp, - src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/gui.cpp, - src/gui/login.cpp, src/gui/updatewindow.cpp, src/main.cpp, src/main.h, + src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/error.cpp, + src/gui/error.h, src/gui/gui.cpp, src/gui/login.cpp, + src/gui/updatewindow.cpp, src/main.cpp, src/main.h, src/net/network.cpp: Added a nicer handling of when you get disconnected from the server. diff --git a/src/Makefile.am b/src/Makefile.am index 16504926..925cd835 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -28,8 +28,8 @@ tmw_SOURCES = graphic/spriteset.cpp \ gui/confirm_dialog.h \ gui/equipmentwindow.cpp \ gui/equipmentwindow.h \ - gui/error.cpp \ - gui/error.h \ + gui/error.cpp \ + gui/error.h \ gui/focushandler.cpp \ gui/focushandler.h \ gui/gui.cpp \ diff --git a/src/gui/error.cpp b/src/gui/error.cpp new file mode 100644 index 00000000..3e76c5ee --- /dev/null +++ b/src/gui/error.cpp @@ -0,0 +1,54 @@ +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World 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. + * + * The Mana World 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 The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + +#include "error.h" + +#include <guichan/widgets/label.hpp> + +#include "../main.h" +#include "../graphics.h" + +ErrorDialog::ErrorDialog(const std::string &msg): + OkDialog("Error", msg) +{ +} + +ErrorDialog::~ErrorDialog() +{ +} + +void ErrorDialog::action(const std::string& eventId) +{ + if (eventId == "ok") + { + state = LOGIN_STATE; + } +} + +void errorInputHandler(SDL_KeyboardEvent *keyEvent) +{ + if (keyEvent->keysym.sym == SDLK_ESCAPE) + { + state = EXIT_STATE; + } +} diff --git a/src/gui/error.h b/src/gui/error.h new file mode 100644 index 00000000..5447fbdf --- /dev/null +++ b/src/gui/error.h @@ -0,0 +1,64 @@ +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World 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. + * + * The Mana World 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 The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + +#ifndef _TMW_ERROR_H +#define _TMW_ERROR_H + +#include <iosfwd> +#include <guichan/actionlistener.hpp> +#include <SDL_events.h> + +#include "ok_dialog.h" +#include "../guichanfwd.h" + +/** + * The error dialog. + * + * \ingroup Interface + */ +class ErrorDialog : public OkDialog, public gcn::ActionListener { + public: + /** + * Constructor + * + * @see Window::Window + */ + ErrorDialog(const std::string &msg); + + /** + * Destructor + */ + ~ErrorDialog(); + + /** + * Called when receiving actions from the widgets. + */ + void action(const std::string& eventId); +}; + +/** + * Handle input + */ +void errorInputHandler(SDL_KeyboardEvent *keyEvent); + +#endif |