From 3d6a9219de95a711411aea3189f01985a3cb0d3b Mon Sep 17 00:00:00 2001 From: Eugenio Favalli Date: Mon, 26 Sep 2005 18:15:05 +0000 Subject: Added a nicer handling of when you get disconnected from the server. --- src/Makefile.am | 4 ++-- src/gui/error.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++++++ src/gui/error.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 src/gui/error.cpp create mode 100644 src/gui/error.h (limited to 'src') 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 + +#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 +#include +#include + +#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 -- cgit v1.2.3-70-g09d2