Author: uso
Date: Thu Aug 23 20:57:10 2007
New Revision: 19746

URL: http://svn.gna.org/viewcvs/wesnoth?rev=19746&view=rev
Log:
restore the old functionality, you can scroll to the leader from the status
table again; add a 'Back' button to switch from the scenario settings back
to the status table; the button alignment is still not solved, but this has to
wait until after 1.3.7

Modified:
    trunk/src/menu_events.cpp
    trunk/src/menu_events.hpp
    trunk/src/show_dialog.hpp

Modified: trunk/src/menu_events.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/menu_events.cpp?rev=19746&r1=19745&r2=19746&view=diff
==============================================================================
--- trunk/src/menu_events.cpp (original)
+++ trunk/src/menu_events.cpp Thu Aug 23 20:57:10 2007
@@ -528,27 +528,39 @@
                        items.push_back(str.str());
                }
 
-               gui::dialog slist(*gui_, _("Current Status"), "", 
gui::NULL_DIALOG);
-               slist.add_button(new gui::standard_dialog_button(gui_->video(), 
_("More"), 0, false),
-                                gui::dialog::BUTTON_STANDARD);
-               slist.add_button(new gui::standard_dialog_button(gui_->video(), 
_("Close"), 1, true),
-                                gui::dialog::BUTTON_STANDARD);
-               slist.set_menu(items, &sorter);
-
-               if (slist.show() >= 0) game_settings_table();
-       }
-
-       void menu_handler::game_settings_table()
+               int selected = 0;
+               {
+                       gui::dialog slist(*gui_, _("Current Status"), "", 
gui::NULL_DIALOG);
+                       slist.add_button(new gui::dialog_button(gui_->video(), 
_("More"),
+                                            gui::button::TYPE_PRESS, 
gui::DIALOG_FORWARD),
+                                        gui::dialog::BUTTON_STANDARD);
+                       slist.add_button(new 
gui::standard_dialog_button(gui_->video(),
+                                            _("Scroll To"), 0, false),
+                                        gui::dialog::BUTTON_STANDARD);
+                       slist.add_button(new 
gui::standard_dialog_button(gui_->video(),
+                                            _("Close"), 1, true),
+                                        gui::dialog::BUTTON_STANDARD);
+                       slist.set_menu(items, &sorter);
+                       selected = slist.show();
+               } // this will kill the dialog before scrolling
+
+               if (selected >= 0)
+                       gui_->scroll_to_leader(units_, selected+1);
+               else if (selected == gui::DIALOG_FORWARD)
+                       scenario_settings_table();
+       }
+
+       void menu_handler::scenario_settings_table()
        {
                std::stringstream heading;
-               heading << HEADING_PREFIX << _("game settings^Leader") << 
COLUMN_SEPARATOR
+               heading << HEADING_PREFIX << _("scenario settings^Leader") << 
COLUMN_SEPARATOR
                        << COLUMN_SEPARATOR
-                       << _("game settings^Side")              << 
COLUMN_SEPARATOR
-                       << _("game settings^Start\nGold")       << 
COLUMN_SEPARATOR
-                       << _("game settings^Base\nIncome")      << 
COLUMN_SEPARATOR
-                       << _("game settings^Gold Per\nVillage") << 
COLUMN_SEPARATOR
-                       << _("game settings^Fog")               << 
COLUMN_SEPARATOR
-                       << _("game settings^Shroud");
+                       << _("scenario settings^Side")              << 
COLUMN_SEPARATOR
+                       << _("scenario settings^Start\nGold")       << 
COLUMN_SEPARATOR
+                       << _("scenario settings^Base\nIncome")      << 
COLUMN_SEPARATOR
+                       << _("scenario settings^Gold Per\nVillage") << 
COLUMN_SEPARATOR
+                       << _("scenario settings^Fog")               << 
COLUMN_SEPARATOR
+                       << _("scenario settings^Shroud");
 
                gui::menu::basic_sorter sorter;
                
sorter.set_redirect_sort(0,1).set_alpha_sort(1).set_numeric_sort(2)
@@ -598,14 +610,22 @@
                {
                        gui::dialog slist(*gui_, _("Scenario Settings"), "", 
gui::NULL_DIALOG);
                        slist.set_menu(items, &sorter);
-                       slist.add_button(new 
gui::standard_dialog_button(gui_->video(), _("Scroll To"), 0, false),
+                       slist.add_button(new gui::dialog_button(gui_->video(), 
_("Back"),
+                                            gui::button::TYPE_PRESS, 
gui::DIALOG_BACK),
                                         gui::dialog::BUTTON_STANDARD);
-                       slist.add_button(new 
gui::standard_dialog_button(gui_->video(), _("Close"), 1, true),
+                       slist.add_button(new 
gui::standard_dialog_button(gui_->video(),
+                                            _("Scroll To"), 0, false),
+                                        gui::dialog::BUTTON_STANDARD);
+                       slist.add_button(new 
gui::standard_dialog_button(gui_->video(),
+                                            _("Close"), 1, true),
                                         gui::dialog::BUTTON_STANDARD);
                        selected = slist.show();
                } // this will kill the dialog before scrolling
 
-               if (selected >= 0) gui_->scroll_to_leader(units_, selected+1);
+               if (selected >= 0)
+                       gui_->scroll_to_leader(units_, selected+1);
+               else if (selected == gui::DIALOG_BACK)
+                       status_table();
        }
 
        void menu_handler::save_game(const std::string& message, 
gui::DIALOG_TYPE dialog_type,

Modified: trunk/src/menu_events.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/menu_events.hpp?rev=19746&r1=19745&r2=19746&view=diff
==============================================================================
--- trunk/src/menu_events.hpp (original)
+++ trunk/src/menu_events.hpp Thu Aug 23 20:57:10 2007
@@ -133,7 +133,7 @@
        bool has_friends() const;
        bool clear_shroud(const unsigned int team_num);
        static void change_side_controller(const std::string& side, const 
std::string& player, bool own_side=false);
-       void game_settings_table();
+       void scenario_settings_table();
 
        game_display* gui_;
        unit_map& units_;

Modified: trunk/src/show_dialog.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/show_dialog.hpp?rev=19746&r1=19745&r2=19746&view=diff
==============================================================================
--- trunk/src/show_dialog.hpp (original)
+++ trunk/src/show_dialog.hpp Thu Aug 23 20:57:10 2007
@@ -37,6 +37,8 @@
 extern const int ButtonHPadding;
 extern const int ButtonVPadding;
 enum DIALOG_RESULT {
+       DIALOG_BACK=-7,
+       DIALOG_FORWARD=-6,
        CREATE_ITEM =-5,
        DELETE_ITEM=-4,
        ESCAPE_DIALOG=-3, //special return used by WML event dialogs


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to