From cb992e88b05d4d7799a9b7e0fc1370cd4a4990f6 Mon Sep 17 00:00:00 2001 From: Charles Dang Date: Mon, 21 Mar 2016 22:14:34 +1100 Subject: [PATCH] Removed Data Manage dialog This dialog didn't do anything more than allow you to delete saves. --- data/gui/window/data_manage.cfg | 373 ---------------------------- projectfiles/CodeBlocks/wesnoth.cbp | 46 ++-- src/CMakeLists.txt | 1 - src/SConscript | 1 - src/gui/dialogs/data_manage.cpp | 192 -------------- src/gui/dialogs/data_manage.hpp | 63 ----- src/menu_events.cpp | 10 - src/tests/gui/test_gui2.cpp | 11 - 8 files changed, 22 insertions(+), 675 deletions(-) delete mode 100644 data/gui/window/data_manage.cfg delete mode 100644 src/gui/dialogs/data_manage.cpp delete mode 100644 src/gui/dialogs/data_manage.hpp diff --git a/data/gui/window/data_manage.cfg b/data/gui/window/data_manage.cfg deleted file mode 100644 index 2256849506d1..000000000000 --- a/data/gui/window/data_manage.cfg +++ /dev/null @@ -1,373 +0,0 @@ -#textdomain wesnoth-lib -### -### Definition of the window to ask for the savegame filename -### - -[window] - id = "data_manage" - description = "Persistence data management dialog." - - [resolution] - definition = "default" - - automatic_placement = "true" - vertical_placement = "top" - horizontal_placement = "center" - - [linked_group] - id = "filename" - fixed_width = "true" - [/linked_group] - - [linked_group] - id = "date" - fixed_width = "true" - [/linked_group] - - [tooltip] - id = "tooltip" - [/tooltip] - - [helptip] - id = "tooltip" - [/helptip] - - [grid] - - [row] - grow_factor = 0 - - [column] - grow_factor = 1 - - border = "all" - border_size = 5 - horizontal_alignment = "left" - [label] - id = "lblTitle" - definition = "title" - - label = _ "Manage Data" - [/label] - - [/column] - - [/row] - - [row] - grow_factor = 1 - - [column] - grow_factor = 1 - - horizontal_grow = "true" - - [grid] - - [row] - grow_factor = 1 - - [column] - grow_factor = 1 - - border = "all" - border_size = 5 - horizontal_grow = "true" - - [grid] - - [row] - [column] - horizontal_alignment = "left" - border = "bottom" - border_size = 10 - - [label] - id = "lblChoose" - definition = "default" - - label = _ "Choose the game to load" - [/label] - - [/column] - - [/row] - - [row] - [column] - horizontal_alignment = "left" - - [grid] - - [row] - - [column] - border = "right" - border_size = 10 - vertical_alignment = "center" - - [label] - id = "lblFilter" - definition = "default" - - label = _ "Filter" - [/label] - - [/column] - - [column] - border = "bottom" - border_size = 10 - - [text_box] - id = "txtFilter" - definition = "default" - [/text_box] - - [/column] - - [/row] - - [/grid] - - [/column] - - [/row] - - [row] - - [column] - grow_factor = 1 - horizontal_grow = "true" - - border = "bottom" - border_size = 10 - - [listbox] - id = "persist_list" - definition = "default" - [header] - - [row] - - [column] - grow_factor = 1 - horizontal_grow = "true" - - [label] - id = "filename" - definition = "default" - linked_group = "filename" - - label = _ "Name" - [/label] - - [/column] - - [column] - grow_factor = 1 - horizontal_grow = "true" - - [label] - id = "date" - definition = "default" - linked_group = "date" - - label = _ "Date" - [/label] - - [/column] - - [/row] - - [/header] - - [list_definition] - - [row] - - [column] - - [toggle_panel] - definition = "default" - - return_value_id = "ok" - [grid] - - [row] - - [column] - grow_factor = 1 - horizontal_grow = "true" - - border = "bottom" - border_size = 5 - - [label] - id = "filename" - definition = "default" - linked_group = "filename" - [/label] - - [/column] - - [column] - grow_factor = 1 - horizontal_grow = "true" - - border = "bottom" - border_size = 5 - - [label] - id = "date" - definition = "default" - linked_group = "date" - [/label] - - [/column] - - [/row] - - [/grid] - - [/toggle_panel] - - [/column] - - [/row] - - [/list_definition] - - [/listbox] - - [/column] - - [/row] - - [row] - - [column] - - [grid] - - [row] - - [column] - horizontal_alignment = "left" - - border = "bottom" - border_size = 10 - - [button] - id = "clear" - definition = "default" - - label = _ "Clear" - [/button] - - [/column] - - [column] - grow_factor = 1 - horizontal_grow = "true" - - border = "bottom" - border_size = 10 - - [button] - id = "restore" - definition = "default" - - label = _ "Restore" - [/button] - - [/column] - - [column] - grow_factor = 1 - horizontal_grow = "true" - - border = "bottom" - border_size = 10 - - [button] - id = "backup" - definition = "default" - - label = _ "Backup" - [/button] - - [/column] - - [/row] - - [/grid] - - [/column] - - [/row] - - [/grid] - - [/column] - - [/row] - - [/grid] - - [/column] - - [/row] - - [row] - grow_factor = 0 - - [column] - grow_factor = 1 - horizontal_grow = "true" - - [grid] - - [row] - - [column] - grow_factor = 1 - border = "all" - border_size = 5 - horizontal_alignment = "right" - - [button] - id = "ok" - definition = "default" - - label = _ "OK" - [/button] - - [/column] - - [column] - border = "all" - border_size = 5 - - [button] - id = "cancel" - definition = "default" - - label = _ "Cancel" - [/button] - - [/column] - - [/row] - - [/grid] - - [/column] - - [/row] - - [/grid] - - [/resolution] - -[/window] diff --git a/projectfiles/CodeBlocks/wesnoth.cbp b/projectfiles/CodeBlocks/wesnoth.cbp index 97f79c10ec9d..5cce039bd398 100644 --- a/projectfiles/CodeBlocks/wesnoth.cbp +++ b/projectfiles/CodeBlocks/wesnoth.cbp @@ -450,16 +450,8 @@ - - - - - - - - - - + + @@ -472,19 +464,31 @@ + + + + + + + + + + + + - - + + @@ -497,16 +501,16 @@ + + - - - - + + @@ -518,8 +522,6 @@ - - @@ -550,8 +552,6 @@ - - @@ -605,6 +605,8 @@ + + @@ -617,8 +619,6 @@ - - @@ -637,8 +637,6 @@ - - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3c27a06f4611..45a8b055aae7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -820,7 +820,6 @@ set(wesnoth-main_SRC gui/dialogs/campaign_settings.cpp gui/dialogs/core_selection.cpp gui/dialogs/chat_log.cpp - gui/dialogs/data_manage.cpp gui/dialogs/debug_clock.cpp gui/dialogs/depcheck_confirm_change.cpp gui/dialogs/depcheck_select_new.cpp diff --git a/src/SConscript b/src/SConscript index a4024c3d92cd..5ab995b40631 100644 --- a/src/SConscript +++ b/src/SConscript @@ -359,7 +359,6 @@ wesnoth_sources = Split(""" gui/dialogs/campaign_settings.cpp gui/dialogs/core_selection.cpp gui/dialogs/chat_log.cpp - gui/dialogs/data_manage.cpp gui/dialogs/debug_clock.cpp gui/dialogs/depcheck_confirm_change.cpp gui/dialogs/depcheck_select_new.cpp diff --git a/src/gui/dialogs/data_manage.cpp b/src/gui/dialogs/data_manage.cpp deleted file mode 100644 index c4f53797f1ee..000000000000 --- a/src/gui/dialogs/data_manage.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* - Copyright (C) 2010 - 2016 by Jody Northup - 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 as published by - the Free Software Foundation; either version 2 of the License, 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/data_manage.hpp" - -#include "formula/string_utils.hpp" -#include "game_config.hpp" -#include "game_preferences.hpp" -#include "gettext.hpp" -#include "gui/core/log.hpp" -#include "gui/auxiliary/field.hpp" -#include "gui/dialogs/game_delete.hpp" -#include "gui/dialogs/helper.hpp" -#include "gui/widgets/button.hpp" -#include "gui/widgets/image.hpp" -#include "gui/widgets/label.hpp" -#ifdef GUI2_EXPERIMENTAL_LISTBOX -#include "gui/widgets/list.hpp" -#else -#include "gui/widgets/listbox.hpp" -#endif -#include "gui/widgets/minimap.hpp" -#include "gui/widgets/settings.hpp" -#include "gui/widgets/text_box.hpp" -#include "gui/widgets/window.hpp" -#include "language.hpp" -#include "preferences_display.hpp" -#include "savegame.hpp" -#include "utils/foreach.hpp" - -#include -#include - -namespace gui2 -{ - - -REGISTER_DIALOG(data_manage) - -tdata_manage::tdata_manage() - : txtFilter_(register_text("txtFilter", true)) - , filename_() - , games_() - , last_words_() -{ -} - -void tdata_manage::pre_show(twindow& window) -{ - assert(txtFilter_); - - ttext_box* filter - = find_widget(&window, "txtFilter", false, true); - window.keyboard_capture(filter); - filter->set_text_changed_callback( - boost::bind(&tdata_manage::filter_text_changed, this, _1, _2)); - - tlistbox& list = find_widget(&window, "persist_list", false); - window.keyboard_capture(&list); - -#ifdef GUI2_EXPERIMENTAL_LISTBOX - connect_signal_notify_modified(list, - boost::bind(&tdata_manage::list_item_clicked, - this, - boost::ref(window))); -#else - list.set_callback_value_change( - dialog_callback); -#endif - - { - cursor::setter cur(cursor::WAIT); - games_ = savegame::get_saves_list(); - } - fill_game_list(window, games_); - - connect_signal_mouse_left_click( - find_widget(&window, "clear", false), - boost::bind(&tdata_manage::delete_button_callback, - this, - boost::ref(window))); -} - -void tdata_manage::fill_game_list(twindow& window, - std::vector& games) -{ - tlistbox& list = find_widget(&window, "persist_list", false); - list.clear(); - - FOREACH(const AUTO & game, games) - { - std::map data; - string_map item; - - item["label"] = game.name(); - data.insert(std::make_pair("filename", item)); - - item["label"] = game.format_time_summary(); - data.insert(std::make_pair("date", item)); - - list.add_row(data); - } -} - -void tdata_manage::list_item_clicked(twindow& /*window*/) -{ -} - -bool tdata_manage::filter_text_changed(ttext_* textbox, const std::string& text) -{ - twindow& window = *textbox->get_window(); - - tlistbox& list = find_widget(&window, "persist_list", false); - - const std::vector words = utils::split(text, ' '); - - if(words == last_words_) - return false; - last_words_ = words; - - std::vector show_items(list.get_item_count(), true); - - if(!text.empty()) { - for(unsigned int i = 0; i < list.get_item_count(); i++) { - tgrid* row = list.get_row_grid(i); - - tgrid::iterator it = row->begin(); - tlabel& filename_label - = find_widget(*it, "filename", false); - - bool found = false; - FOREACH(const AUTO & word, words) - { - found = std::search(filename_label.label().str().begin(), - filename_label.label().str().end(), - word.begin(), - word.end(), - chars_equal_insensitive) - != filename_label.label().str().end(); - - if(!found) { - // one word doesn't match, we don't reach words.end() - break; - } - } - - show_items[i] = found; - } - } - - list.set_row_shown(show_items); - - return false; -} - -void tdata_manage::delete_button_callback(twindow& window) -{ - tlistbox& list = find_widget(&window, "persist_list", false); - - const size_t index = size_t(list.get_selected_row()); - if(index < games_.size()) { - - // See if we should ask the user for deletion confirmation - if(preferences::ask_delete_saves()) { - if(!gui2::tgame_delete::execute(window.video())) { - return; - } - } - - // Delete the file - savegame::delete_game(games_[index].name()); - - // Remove it from the list of saves - games_.erase(games_.begin() + index); - list.remove_row(index); - } -} - -} // namespace gui2 diff --git a/src/gui/dialogs/data_manage.hpp b/src/gui/dialogs/data_manage.hpp deleted file mode 100644 index 572592500095..000000000000 --- a/src/gui/dialogs/data_manage.hpp +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (C) 2010 - 2016 by Jody Northup - 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 as published by - the Free Software Foundation; either version 2 of the License, 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_MANAGE_DATA_HPP_INCLUDED -#define GUI_DIALOGS_MANAGE_DATA_HPP_INCLUDED - -#include "gui/dialogs/dialog.hpp" -#include "save_index.hpp" -#include "tstring.hpp" - -namespace gui2 -{ - -class tlistbox; -class ttext_; - -class tdata_manage : public tdialog -{ -public: - tdata_manage(); - - const std::string& filename() const - { - return filename_; - } - -protected: - /** Inherited from tdialog. */ - void pre_show(twindow& window); - -private: - /** Inherited from tdialog, implemented by REGISTER_DIALOG. */ - virtual const std::string& window_id() const; - - bool filter_text_changed(ttext_* textbox, const std::string& text); - void list_item_clicked(twindow& window); - void delete_button_callback(twindow& window); - - void fill_game_list(twindow& window, - std::vector& games); - - tfield_text* txtFilter_; - - std::string filename_; - - std::vector games_; - - std::vector last_words_; -}; -} - -#endif diff --git a/src/menu_events.cpp b/src/menu_events.cpp index 0452685329d6..59d1928a2ca8 100644 --- a/src/menu_events.cpp +++ b/src/menu_events.cpp @@ -48,7 +48,6 @@ #include "gui/dialogs/transient_message.hpp" #include "gui/dialogs/gamestate_inspector.hpp" #include "gui/dialogs/multiplayer/mp_change_control.hpp" -#include "gui/dialogs/data_manage.hpp" #include "gui/dialogs/simple_item_selector.hpp" #include "gui/dialogs/edit_text.hpp" #include "gui/dialogs/unit_create.hpp" @@ -1860,7 +1859,6 @@ class console_handler : public map_command_handler, private cha void do_show_var(); void do_inspect(); void do_control_dialog(); - void do_manage(); void do_unit(); // void do_buff(); // void do_unbuff(); @@ -1969,8 +1967,6 @@ class console_handler : public map_command_handler, private cha , "N"); register_command("inspect", &console_handler::do_inspect, _("Launch the gamestate inspector"), "", "D"); - register_command("manage", &console_handler::do_manage, - _("Manage persistence data"), "", "D"); register_command("alias", &console_handler::do_set_alias, _("Set or show alias to a command"), _("[=]")); register_command("set_var", &console_handler::do_set_var, @@ -2958,12 +2954,6 @@ void console_handler::do_control_dialog() mp_change_control.show(menu_handler_.gui_->video()); } -void console_handler::do_manage() { - config cfg; - gui2::tdata_manage manager; - manager.show(menu_handler_.gui_->video()); -} - void console_handler::do_unit() { // prevent SIGSEGV due to attempt to set HP during a fight if (events::commands_disabled > 0) diff --git a/src/tests/gui/test_gui2.cpp b/src/tests/gui/test_gui2.cpp index a17c1325386a..ff014360038a 100644 --- a/src/tests/gui/test_gui2.cpp +++ b/src/tests/gui/test_gui2.cpp @@ -33,7 +33,6 @@ #include "gui/dialogs/campaign_selection.hpp" #include "gui/dialogs/campaign_settings.hpp" #include "gui/dialogs/chat_log.hpp" -#include "gui/dialogs/data_manage.hpp" #include "gui/dialogs/debug_clock.hpp" #include "gui/dialogs/edit_label.hpp" #include "gui/dialogs/edit_text.hpp" @@ -380,7 +379,6 @@ BOOST_AUTO_TEST_CASE(test_gui2) test(); test(); // test(); /** @todo ENABLE */ - test(); test(); test(); test(); @@ -574,15 +572,6 @@ struct twrapper } }; -template<> -struct twrapper -{ - static gui2::tdata_manage* create() - { - return new gui2::tdata_manage(); - } -}; - template<> struct twrapper {