add "revert to defaults" button to lobby sounds pref manager
This commit is contained in:
parent
3a5eec03a4
commit
ac6e648fc1
2 changed files with 38 additions and 6 deletions
|
@ -186,15 +186,27 @@
|
|||
[/row]
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
grow_factor = 1
|
||||
[column]
|
||||
horizontal_alignment = "right"
|
||||
|
||||
horizontal_grow="true"
|
||||
[grid]
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
grow_factor = 1
|
||||
|
||||
[column]
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
|
||||
[button]
|
||||
id = "revert_to_defaults"
|
||||
definition = "default"
|
||||
|
||||
label = _ "Defaults"
|
||||
tooltip = _"Reset all options to their default values"
|
||||
[/button]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
border = "all"
|
||||
|
|
|
@ -100,6 +100,22 @@ static void setup_item(const std::string & item, twindow & window)
|
|||
setup_pref_toggle_button(item+"_in_lobby", mp_ui_sounds::get_def_pref_lobby(item), window);
|
||||
}
|
||||
|
||||
static void set_pref_and_button(const std::string & pref_id, const std::string widget_id, bool value, twindow & window)
|
||||
{
|
||||
preferences::set(pref_id,value);
|
||||
ttoggle_button * button = &find_widget<ttoggle_button>(&window, widget_id, false);
|
||||
button->set_value(value);
|
||||
}
|
||||
|
||||
static void revert_to_default_pref_values(twindow & window)
|
||||
{
|
||||
BOOST_FOREACH(const std::string & i, mp_ui_sounds::items) {
|
||||
set_pref_and_button(i+"_sound", i+"_sound", mp_ui_sounds::get_def_pref_sound(i), window);
|
||||
set_pref_and_button(i+"_notif", i+"_notification", mp_ui_sounds::get_def_pref_notif(i), window);
|
||||
set_pref_and_button(i+"_lobby", i+"_in_lobby", mp_ui_sounds::get_def_pref_lobby(i), window);
|
||||
}
|
||||
}
|
||||
|
||||
REGISTER_DIALOG(lobby_sounds_options)
|
||||
|
||||
tlobby_sounds_options::tlobby_sounds_options()
|
||||
|
@ -118,6 +134,10 @@ void tlobby_sounds_options::pre_show(CVideo& /*video*/, twindow& window)
|
|||
|
||||
in_lobby = &find_widget<ttoggle_button>(&window,"game_has_begun_in_lobby", false);
|
||||
in_lobby->set_visible(twidget::tvisible::invisible);
|
||||
|
||||
tbutton * defaults;
|
||||
defaults = &find_widget<tbutton>(&window,"revert_to_defaults", false);
|
||||
connect_signal_mouse_left_click(*defaults, boost::bind(&revert_to_default_pref_values, boost::ref(window)));
|
||||
}
|
||||
|
||||
void tlobby_sounds_options::post_show(twindow& /*window*/)
|
||||
|
|
Loading…
Add table
Reference in a new issue