#include <preferences_dialog.hpp>
Public Types | |
typedef std::vector< const hotkey::hotkey_command * > | visible_hotkeys_t |
The display function – see modal_dialog for more information. More... | |
Public Member Functions | |
preferences_dialog (const preferences::PREFERENCE_VIEW initial_view=preferences::VIEW_DEFAULT) | |
![]() | |
modal_dialog () | |
virtual | ~modal_dialog () |
bool | show (const unsigned auto_close_time=0) |
Shows the window. More... | |
window * | get_window () const |
Returns a pointer to the dialog's window. More... | |
int | get_retval () const |
Returns the cached window exit code. More... | |
void | set_retval (int retval) |
Convenience wrapper to set the window's exit code. More... | |
void | set_always_save_fields (const bool always_save_fields) |
void | set_restore (const bool restore) |
void | set_allow_plugin_skip (const bool allow_plugin_skip) |
void | set_show_even_without_video (const bool show_even_without_video) |
Private Member Functions | |
virtual const std::string & | window_id () const override |
Inherited from modal_dialog, implemented by REGISTER_DIALOG. More... | |
virtual void | post_build (window &window) override |
Inherited from modal_dialog. More... | |
virtual void | pre_show (window &window) override |
Actions to be taken before showing the window. More... | |
virtual void | post_show (window &) override |
Actions to be taken after the window has been shown. More... | |
void | initialize_tabs (listbox &selector) |
Initializers. More... | |
void | set_resolution_list (menu_button &res_list) |
listbox & | setup_hotkey_list () |
template<bool(*)() toggle_getter, bool(*)(bool) toggle_setter, int(*)() vol_getter, void(*)(int) vol_setter> | |
void | initialize_sound_option_group (const std::string &id_suffix) |
std::map< std::string, string_map > | get_friends_list_row_data (const preferences::acquaintance &entry) |
void | add_friend_list_entry (const bool is_friend, text_box &textbox) |
void | remove_friend_list_entry (listbox &friends_list, text_box &textbox) |
void | on_friends_list_select (listbox &list, text_box &textbox) |
void | update_friends_list_controls (listbox &list) |
void | set_visible_page (unsigned int page, const std::string &pager_id) |
void | on_page_select () |
Callback for selection changes. More... | |
void | on_tab_select () |
void | on_advanced_prefs_list_select (listbox &tree) |
void | handle_res_select () |
Special callback functions. More... | |
void | fullscreen_toggle_callback () |
void | add_hotkey_callback (listbox &hotkeys) |
void | remove_hotkey_callback (listbox &hotkeys) |
void | default_hotkey_callback () |
void | hotkey_filter_callback () const |
Private Attributes | |
group< preferences::LOBBY_JOINS > | lobby_joins_group |
const preferences::advanced_pref_list & | adv_preferences_ |
std::vector< point > | resolutions_ |
int | last_selected_item_ |
std::vector< double > | accl_speeds_ |
visible_hotkeys_t | visible_hotkeys_ |
std::map< hotkey::HOTKEY_CATEGORY, t_string > | cat_names_ |
const std::pair< int, int > & | initial_index_ |
Additional Inherited Members | |
![]() | |
field_bool * | register_bool (const std::string &id, const bool mandatory, const std::function< bool()> callback_load_value=nullptr, const std::function< void(bool)> callback_save_value=nullptr, const std::function< void(widget &)> callback_change=nullptr, const bool initial_fire=false) |
Creates a new boolean field. More... | |
field_bool * | register_bool (const std::string &id, const bool mandatory, bool &linked_variable, const std::function< void(widget &)> callback_change=nullptr, const bool initial_fire=false) |
Creates a new boolean field. More... | |
field_integer * | register_integer (const std::string &id, const bool mandatory, const std::function< int()> callback_load_value=nullptr, const std::function< void(int)> callback_save_value=nullptr) |
Creates a new integer field. More... | |
field_integer * | register_integer (const std::string &id, const bool mandatory, int &linked_variable) |
Creates a new integer field. More... | |
field_text * | register_text (const std::string &id, const bool mandatory, const std::function< std::string()> callback_load_value=nullptr, const std::function< void(const std::string &)> callback_save_value=nullptr, const bool capture_focus=false) |
Creates a new text field. More... | |
field_text * | register_text (const std::string &id, const bool mandatory, std::string &linked_variable, const bool capture_focus=false) |
Creates a new text field. More... | |
field_label * | register_label (const std::string &id, const bool mandatory, const std::string &text, const bool use_markup=false) |
Registers a new styled_widget as a label. More... | |
field_label * | register_image (const std::string &id, const bool mandatory, const std::string &filename) |
Registers a new styled_widget as image. More... | |
![]() | |
std::unique_ptr< window > | window_ |
The window object build for this dialog. More... | |
Definition at line 71 of file preferences_dialog.hpp.
typedef std::vector<const hotkey::hotkey_command*> gui2::dialogs::preferences_dialog::visible_hotkeys_t |
The display function – see modal_dialog for more information.
Definition at line 79 of file preferences_dialog.hpp.
gui2::dialogs::preferences_dialog::preferences_dialog | ( | const preferences::PREFERENCE_VIEW | initial_view = preferences::VIEW_DEFAULT | ) |
Definition at line 118 of file preferences_dialog.cpp.
References hotkey::get_category_names(), hotkey::get_hotkeys_by_category(), name, and preferences::pef_view_map.
|
private |
Definition at line 228 of file preferences_dialog.cpp.
References _(), preferences::add_acquaintance(), gui2::listbox::add_row(), gui2::text_box::clear(), gui2::listbox::get_item_count(), gui2::listbox::get_row_grid(), i, gui2::listbox::remove_row(), gui2::show_transient_message(), and gui2::text_box_base::text().
Referenced by post_build().
|
private |
Definition at line 819 of file preferences_dialog.cpp.
References _(), hotkey::add_hotkey(), hotkey::hotkey_command::command, hotkey::get_description(), hotkey::get_hotkeys(), gui2::listbox::get_item_count(), hotkey::get_names(), gui2::dialogs::hotkey_bind::get_new_binding(), gui2::listbox::get_row_grid(), gui2::listbox::get_selected_row(), i, gui2::OK, hotkey::hotkey_command::scope, hotkey::set_active_scopes(), gui2::dialogs::modal_dialog::show(), gui2::show_message(), gui2::show_transient_message(), VGETTEXT, and gui2::dialogs::message::yes_no_buttons.
Referenced by post_build().
|
private |
Definition at line 875 of file preferences_dialog.cpp.
References _(), hotkey::clear_hotkeys(), gui2::listbox::set_active_sorting_option(), and gui2::show_transient_message().
Referenced by post_build().
|
private |
Definition at line 1065 of file preferences_dialog.cpp.
References CVideo::get_singleton(), gui2::menu_button::set_active(), and CVideo::set_fullscreen().
Referenced by post_build().
|
private |
Definition at line 167 of file preferences_dialog.cpp.
References _(), preferences::acquaintance::get_nick(), preferences::acquaintance::get_notes(), and preferences::acquaintance::get_status().
|
private |
Special callback functions.
Definition at line 1076 of file preferences_dialog.cpp.
References CVideo::get_singleton(), gui2::menu_button::get_value(), and CVideo::set_resolution().
Referenced by post_build().
|
private |
Definition at line 902 of file preferences_dialog.cpp.
References translation::ci_search(), gui2::multimenu_button::get_toggle_states(), h, utf8::index(), name, and utils::split().
Referenced by post_build().
|
private |
Definition at line 307 of file preferences_dialog.cpp.
References gui2::event::connect_signal_notify_modified().
|
private |
Initializers.
Definition at line 985 of file preferences_dialog.cpp.
References gui2::event::connect_signal_notify_modified(), and on_tab_select().
|
private |
Definition at line 953 of file preferences_dialog.cpp.
References gui2::listbox::get_selected_row(), gui2::widget::invisible, preferences::advanced_manager::option::SPECIAL, preferences::advanced_manager::option::TOGGLE, gui2::widget::visible, and WRN_GUI_L.
Referenced by post_build().
|
private |
Definition at line 199 of file preferences_dialog.cpp.
References preferences::get_acquaintances(), gui2::listbox::get_selected_row(), and gui2::text_box_base::set_value().
Referenced by post_build().
|
private |
Callback for selection changes.
Definition at line 1085 of file preferences_dialog.cpp.
Referenced by pre_show().
|
private |
Definition at line 1092 of file preferences_dialog.cpp.
Referenced by initialize_tabs().
|
overrideprivatevirtual |
Inherited from modal_dialog.
Sets up states and callbacks for each of the widgets.
Reimplemented from gui2::dialogs::modal_dialog.
Definition at line 335 of file preferences_dialog.cpp.
References preferences::_set_lobby_joins(), add_friend_list_entry(), add_hotkey_callback(), gui2::listbox::add_row(), preferences::animate_map(), preferences::animate_water(), preferences::autosavemax(), preferences::chat_lines(), preferences::chat_timestamping(), config::child_range(), gui2::listbox::clear(), preferences::advanced_manager::option::COMBO, gui2::event::connect_signal_mouse_left_click(), gui2::event::connect_signal_notify_modified(), default_hotkey_callback(), preferences::delete_saves(), preferences::disable_auto_moves(), preferences::draw_delay(), preferences::enable_whiteboard_mode_on_start(), preferences::fullscreen(), fullscreen_toggle_callback(), preferences::get_acquaintances(), gui2::listbox::get_item_count(), hotkey::get_names(), gui2::slider::get_value(), gui2::selectable_item::get_value_bool(), preferences::grid(), handle_res_select(), gui2::widget::hidden, preferences::hide_whiteboard(), hotkey_filter_callback(), i, preferences::idle_anim(), preferences::idle_anim_rate(), preferences::interrupt_when_ally_sighted(), gui2::widget::invisible, lexical_cast(), preferences::lobby_joins(), name, on_advanced_prefs_list_select(), on_friends_list_select(), gui2::listbox::register_sorting_option(), gui2::listbox::register_translatable_sorting_option(), preferences::remember_password(), remove_friend_list_entry(), remove_hotkey_callback(), preferences::save_replays(), hotkey::SCOPE_EDITOR, hotkey::SCOPE_GAME, hotkey::SCOPE_MAIN_MENU, preferences::scroll_speed(), game_config::images::selected, gui2::menu_button::set_active(), gui2::listbox::set_active_sorting_option(), preferences::set_animate_map(), preferences::set_animate_water(), preferences::set_autosavemax(), preferences::set_chat_lines(), preferences::set_chat_timestamping(), preferences::set_delete_saves(), preferences::set_disable_auto_moves(), preferences::set_draw_delay(), preferences::set_enable_whiteboard_mode_on_start(), preferences::set_grid(), preferences::set_hide_whiteboard(), gui2::widget::set_id(), preferences::set_idle_anim(), preferences::set_idle_anim_rate(), preferences::set_interrupt_when_ally_sighted(), gui2::styled_widget::set_label(), preferences::set_remember_password(), preferences::set_save_replays(), preferences::set_scroll_speed(), preferences::set_show_floating_labels(), preferences::set_show_side_colors(), preferences::set_show_standing_animations(), preferences::set_skip_ai_moves(), gui2::slider::set_step_size(), preferences::set_stop_music_in_background(), gui2::text_box_base::set_text_changed_callback(), preferences::set_turbo(), preferences::set_turbo_speed(), preferences::set_turn_dialog(), gui2::styled_widget::set_use_markup(), gui2::slider::set_value(), gui2::toggle_button::set_value(), gui2::slider::set_value_range(), gui2::menu_button::set_values(), gui2::multimenu_button::set_values(), gui2::widget::set_visible(), preferences::set_whisper_friends_only(), preferences::SHOW_ALL, preferences::show_floating_labels(), preferences::SHOW_FRIENDS, preferences::SHOW_NONE, preferences::show_side_colors(), preferences::show_standing_animations(), preferences::show_theme_dialog(), preferences::show_wesnothd_server_search(), preferences::skip_ai_moves(), preferences::advanced_manager::option::SLIDER, preferences::advanced_manager::option::SPECIAL, preferences::stop_music_in_background(), gui2::grid::swap_child(), preferences::advanced_manager::option::TOGGLE, preferences::turbo(), preferences::turbo_speed(), preferences::turn_dialog(), gui2::widget::visible, w, and preferences::whisper_friends_only().
|
overrideprivatevirtual |
Actions to be taken after the window has been shown.
At this point the registered fields already stored their values (if the OK has been pressed).
window | The window which has been shown. |
Reimplemented from gui2::dialogs::modal_dialog.
Definition at line 1099 of file preferences_dialog.cpp.
References hotkey::save_hotkeys(), and preferences::write_preferences().
|
overrideprivatevirtual |
Actions to be taken before showing the window.
At this point the registered fields are registered and initialized with their initial values.
window | The window to be shown. |
Reimplemented from gui2::dialogs::modal_dialog.
Definition at line 994 of file preferences_dialog.cpp.
References _(), gui2::event::connect_signal_mouse_left_click(), gui2::event::connect_signal_notify_modified(), i, preferences::INFINITE_AUTO_SAVES, on_page_select(), s, gui2::listbox::select_row(), gui2::stacked_widget::set_find_in_all_layers(), and VALIDATE.
|
private |
Definition at line 279 of file preferences_dialog.cpp.
References _(), gui2::text_box::clear(), preferences::get_acquaintances(), gui2::listbox::get_selected_row(), preferences::remove_acquaintance(), gui2::listbox::remove_row(), gui2::show_transient_error_message(), gui2::show_transient_message(), and gui2::text_box_base::text().
Referenced by post_build().
|
private |
Definition at line 889 of file preferences_dialog.cpp.
References _(), hotkey::clear_hotkeys(), hotkey::hotkey_command::command, hotkey::get_names(), gui2::listbox::get_row_grid(), gui2::listbox::get_selected_row(), and gui2::show_transient_message().
Referenced by post_build().
|
private |
Definition at line 136 of file preferences_dialog.cpp.
References CVideo::current_resolution(), CVideo::get_available_resolutions(), CVideo::get_singleton(), preferences::options(), gui2::menu_button::set_values(), and font::unicode_multiplication_sign.
|
private |
Definition at line 1059 of file preferences_dialog.cpp.
|
private |
Definition at line 764 of file preferences_dialog.cpp.
References _(), gui2::listbox::add_row(), gui2::listbox::clear(), filesystem::file_exists(), hotkey::get_hotkey_commands(), hotkey::get_names(), game_config::path, hotkey::SCOPE_EDITOR, hotkey::SCOPE_GAME, and hotkey::SCOPE_MAIN_MENU.
|
private |
Definition at line 214 of file preferences_dialog.cpp.
References gui2::listbox::get_item_count(), gui2::listbox::get_selected_row(), gui2::widget::invisible, gui2::listbox::select_row(), and gui2::widget::visible.
|
overrideprivatevirtual |
Inherited from modal_dialog, implemented by REGISTER_DIALOG.
Implements gui2::dialogs::modal_dialog.
|
private |
Definition at line 129 of file preferences_dialog.hpp.
|
private |
Definition at line 123 of file preferences_dialog.hpp.
|
private |
Definition at line 132 of file preferences_dialog.hpp.
|
private |
Definition at line 135 of file preferences_dialog.hpp.
|
private |
Definition at line 127 of file preferences_dialog.hpp.
|
private |
Definition at line 121 of file preferences_dialog.hpp.
|
private |
Definition at line 125 of file preferences_dialog.hpp.
|
private |
Definition at line 130 of file preferences_dialog.hpp.