From 1b93fd102eb0ff0623ce54444e12a18a637349fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Hinrichs?= Date: Tue, 14 Jul 2009 19:24:49 +0000 Subject: [PATCH] Add new files for the delete-game-confirmation dialog. --- data/gui/default/window/game_delete.cfg | 138 ++++++++++++++++++++++++ src/gui/dialogs/game_delete.cpp | 50 +++++++++ src/gui/dialogs/game_delete.hpp | 42 ++++++++ src/gui/widgets/settings.cpp | 1 + src/gui/widgets/settings.hpp | 1 + 5 files changed, 232 insertions(+) create mode 100644 data/gui/default/window/game_delete.cfg create mode 100644 src/gui/dialogs/game_delete.cpp create mode 100644 src/gui/dialogs/game_delete.hpp diff --git a/data/gui/default/window/game_delete.cfg b/data/gui/default/window/game_delete.cfg new file mode 100644 index 00000000000..4b46ec87bfe --- /dev/null +++ b/data/gui/default/window/game_delete.cfg @@ -0,0 +1,138 @@ +#textdomain wesnoth-lib +### +### Definition of the window to ask for deleting a savegame file +### + +[window] + id = "game_delete" + description = "Confirmation for deleting a savegame." + + [resolution] + definition = "default" + + automatic_placement = "true" + vertical_placement = "center" + horizontal_placement = "center" + + [grid] + + [row] + grow_factor = 0 + + [column] + grow_factor = 1 + + border = "all" + border_size = 5 + horizontal_alignment = "left" + [label] + id = "lblTitle" + definition = "title" + + label = _ "Delete Save" + [/label] + + [/column] + + [/row] + + [row] + grow_factor = 0 + + [column] + grow_factor = 1 + + border = "all" + border_size = 5 + horizontal_alignment = "left" + [label] + id = "lblMessage" + definition = "default" + + label = _ "Do you really want to delete this game?" + [/label] + + [/column] + + [/row] + + [row] + grow_factor = 1 + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [toggle_button] + id = "dont_ask_again" + definition = "default" + + label = _ "Don't ask me again!" + [/toggle_button] + + [/column] + + [/row] + + [row] + grow_factor = 0 + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [grid] + + [row] + grow_factor = 0 + + [column] + + [spacer] + definition = "default" + [/spacer] + + [/column] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "right" + + [button] + id = "ok" + definition = "default" + + size_text = _ "Yes" + label = _ "Yes" + [/button] + + [/column] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "right" + + [button] + id = "cancel" + definition = "default" + + label = _ "No" + [/button] + + [/column] + + [/row] + + [/grid] + + [/column] + + [/row] + + [/grid] + + [/resolution] + +[/window] diff --git a/src/gui/dialogs/game_delete.cpp b/src/gui/dialogs/game_delete.cpp new file mode 100644 index 00000000000..342e35464ec --- /dev/null +++ b/src/gui/dialogs/game_delete.cpp @@ -0,0 +1,50 @@ +/* $Id$ */ +/* + Copyright (C) 2008 - 2009 by Jörg Hinrichs + Part of the Battle for Wesnoth Project http://www.wesnoth.org/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 + or at your option any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY. + + See the COPYING file for more details. +*/ + +//#define GETTEXT_DOMAIN "wesnoth-lib" + +#include "gui/dialogs/game_delete.hpp" +#include "gui/widgets/settings.hpp" + +namespace gui2 { + +/*WIKI + * @page = GUIWindowDefinitionWML + * @order = 2_game_delete + * + * == Delete a savegame == + * + * This shows the dialog to confirm deleting a savegame file. + * + * @start_table = container + * @end_table + */ + +tgame_delete::tgame_delete() {} + +twindow* tgame_delete::build_window(CVideo& video) +{ + return build(video, get_id(GAME_DELETE)); +} + +void tgame_delete::pre_show(CVideo& /*video*/, twindow& window) +{ +} + +void tgame_delete::post_show(twindow& window) +{ +} + +} // namespace gui2 + diff --git a/src/gui/dialogs/game_delete.hpp b/src/gui/dialogs/game_delete.hpp new file mode 100644 index 00000000000..fa36fa2163e --- /dev/null +++ b/src/gui/dialogs/game_delete.hpp @@ -0,0 +1,42 @@ +/* $Id$ */ +/* + Copyright (C) 2008 - 2009 by Jörg Hinrichs + Part of the Battle for Wesnoth Project http://www.wesnoth.org/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 + or at your option any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY. + + See the COPYING file for more details. +*/ + +#ifndef GUI_DIALOGS_DELETE_GAME_HPP_INCLUDED +#define GUI_DIALOGS_DELETE_GAME_HPP_INCLUDED + +#include "gui/dialogs/dialog.hpp" + +namespace gui2 { + +class tgame_delete : public tdialog +{ +public: + tgame_delete(); + +protected: + /** Inherited from tdialog. */ + void pre_show(CVideo& video, twindow& window); + + /** Inherited from tdialog. */ + void post_show(twindow& window); + +private: + /** Inherited from tdialog. */ + twindow* build_window(CVideo& video); +}; + +} + +#endif + diff --git a/src/gui/widgets/settings.cpp b/src/gui/widgets/settings.cpp index c1444a66ded..a6601bcdc0e 100644 --- a/src/gui/widgets/settings.cpp +++ b/src/gui/widgets/settings.cpp @@ -89,6 +89,7 @@ static void fill_window_types() window_type_list[MP_CREATE_GAME] = "mp_create_game"; window_type_list[TITLE_SCREEN] = "title_screen"; window_type_list[GAME_LOAD] = "game_load"; + window_type_list[GAME_DELETE] = "game_delete"; window_type_list[GAME_SAVE] = "game_save"; window_type_list[GAME_SAVE_MESSAGE] = "game_save_message"; window_type_list[GAME_SAVE_OOS] = "game_save_oos"; diff --git a/src/gui/widgets/settings.hpp b/src/gui/widgets/settings.hpp index 23ee5e2afa9..6fe6fb9d1cd 100644 --- a/src/gui/widgets/settings.hpp +++ b/src/gui/widgets/settings.hpp @@ -68,6 +68,7 @@ enum twindow_type { EDITOR_SETTINGS, /**< Editor settings dialog. */ #endif GAME_LOAD, /**< Load game dialog. */ + GAME_DELETE, /**< Confirm delete dialog. */ GAME_SAVE, /**< Save game dialog. */ GAME_SAVE_MESSAGE, /**< Save game dialog with additional message. */ GAME_SAVE_OOS, /**< Save game dialog for processing OOS. */