You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-10 13:00:37 +00:00
Made use of EditorSettings 'settings changed' to optimise settings changed notifications.
This commit is contained in:
@@ -694,22 +694,29 @@ void EditorNode::_notification(int p_what) {
|
|||||||
|
|
||||||
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
|
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
|
||||||
scene_tabs->set_tab_close_display_policy((bool(EDITOR_GET("interface/scene_tabs/always_show_close_button")) ? TabBar::CLOSE_BUTTON_SHOW_ALWAYS : TabBar::CLOSE_BUTTON_SHOW_ACTIVE_ONLY));
|
scene_tabs->set_tab_close_display_policy((bool(EDITOR_GET("interface/scene_tabs/always_show_close_button")) ? TabBar::CLOSE_BUTTON_SHOW_ALWAYS : TabBar::CLOSE_BUTTON_SHOW_ACTIVE_ONLY));
|
||||||
theme = create_custom_theme(theme_base->get_theme());
|
|
||||||
|
|
||||||
theme_base->set_theme(theme);
|
bool theme_changed =
|
||||||
gui_base->set_theme(theme);
|
EditorSettings::get_singleton()->check_changed_settings_in_group("interface/theme") ||
|
||||||
|
EditorSettings::get_singleton()->check_changed_settings_in_group("text_editor/theme");
|
||||||
|
|
||||||
gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles")));
|
if (theme_changed) {
|
||||||
scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), SNAME("EditorStyles")));
|
theme = create_custom_theme(theme_base->get_theme());
|
||||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer")));
|
|
||||||
scene_tabs->add_theme_style_override("tab_selected", gui_base->get_theme_stylebox(SNAME("SceneTabFG"), SNAME("EditorStyles")));
|
|
||||||
scene_tabs->add_theme_style_override("tab_unselected", gui_base->get_theme_stylebox(SNAME("SceneTabBG"), SNAME("EditorStyles")));
|
|
||||||
|
|
||||||
file_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
theme_base->set_theme(theme);
|
||||||
project_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
gui_base->set_theme(theme);
|
||||||
debug_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
|
||||||
settings_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles")));
|
||||||
help_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), SNAME("EditorStyles")));
|
||||||
|
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer")));
|
||||||
|
scene_tabs->add_theme_style_override("tab_selected", gui_base->get_theme_stylebox(SNAME("SceneTabFG"), SNAME("EditorStyles")));
|
||||||
|
scene_tabs->add_theme_style_override("tab_unselected", gui_base->get_theme_stylebox(SNAME("SceneTabBG"), SNAME("EditorStyles")));
|
||||||
|
|
||||||
|
file_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
||||||
|
project_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
||||||
|
debug_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
||||||
|
settings_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
||||||
|
help_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
||||||
|
}
|
||||||
|
|
||||||
if (EDITOR_GET("interface/scene_tabs/resize_if_many_tabs")) {
|
if (EDITOR_GET("interface/scene_tabs/resize_if_many_tabs")) {
|
||||||
scene_tabs->set_min_width(int(EDITOR_GET("interface/scene_tabs/minimum_width")) * EDSCALE);
|
scene_tabs->set_min_width(int(EDITOR_GET("interface/scene_tabs/minimum_width")) * EDSCALE);
|
||||||
|
|||||||
@@ -136,7 +136,13 @@ void EditorSettingsDialog::_notification(int p_what) {
|
|||||||
_update_icons();
|
_update_icons();
|
||||||
// Update theme colors.
|
// Update theme colors.
|
||||||
inspector->update_category_list();
|
inspector->update_category_list();
|
||||||
_update_shortcuts();
|
|
||||||
|
bool update_shortcuts_tab =
|
||||||
|
EditorSettings::get_singleton()->check_changed_settings_in_group("shortcuts") ||
|
||||||
|
EditorSettings::get_singleton()->check_changed_settings_in_group("builtin_action_overrides");
|
||||||
|
if (update_shortcuts_tab) {
|
||||||
|
_update_shortcuts();
|
||||||
|
}
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -215,6 +221,8 @@ void EditorSettingsDialog::_update_builtin_action(const String &p_name, const Ar
|
|||||||
Array old_input_array = EditorSettings::get_singleton()->get_builtin_action_overrides(p_name);
|
Array old_input_array = EditorSettings::get_singleton()->get_builtin_action_overrides(p_name);
|
||||||
|
|
||||||
undo_redo->create_action(TTR("Edit Built-in Action") + " '" + p_name + "'");
|
undo_redo->create_action(TTR("Edit Built-in Action") + " '" + p_name + "'");
|
||||||
|
undo_redo->add_do_method(EditorSettings::get_singleton(), "mark_setting_changed", "builtin_action_overrides");
|
||||||
|
undo_redo->add_undo_method(EditorSettings::get_singleton(), "mark_setting_changed", "builtin_action_overrides");
|
||||||
undo_redo->add_do_method(EditorSettings::get_singleton(), "set_builtin_action_override", p_name, p_events);
|
undo_redo->add_do_method(EditorSettings::get_singleton(), "set_builtin_action_override", p_name, p_events);
|
||||||
undo_redo->add_undo_method(EditorSettings::get_singleton(), "set_builtin_action_override", p_name, old_input_array);
|
undo_redo->add_undo_method(EditorSettings::get_singleton(), "set_builtin_action_override", p_name, old_input_array);
|
||||||
undo_redo->add_do_method(this, "_settings_changed");
|
undo_redo->add_do_method(this, "_settings_changed");
|
||||||
@@ -230,6 +238,8 @@ void EditorSettingsDialog::_update_shortcut_events(const String &p_path, const A
|
|||||||
undo_redo->create_action(TTR("Edit Shortcut") + " '" + p_path + "'");
|
undo_redo->create_action(TTR("Edit Shortcut") + " '" + p_path + "'");
|
||||||
undo_redo->add_do_method(current_sc.ptr(), "set_events", p_events);
|
undo_redo->add_do_method(current_sc.ptr(), "set_events", p_events);
|
||||||
undo_redo->add_undo_method(current_sc.ptr(), "set_events", current_sc->get_events());
|
undo_redo->add_undo_method(current_sc.ptr(), "set_events", current_sc->get_events());
|
||||||
|
undo_redo->add_do_method(EditorSettings::get_singleton(), "mark_setting_changed", "shortcuts");
|
||||||
|
undo_redo->add_undo_method(EditorSettings::get_singleton(), "mark_setting_changed", "shortcuts");
|
||||||
undo_redo->add_do_method(this, "_update_shortcuts");
|
undo_redo->add_do_method(this, "_update_shortcuts");
|
||||||
undo_redo->add_undo_method(this, "_update_shortcuts");
|
undo_redo->add_undo_method(this, "_update_shortcuts");
|
||||||
undo_redo->add_do_method(this, "_settings_changed");
|
undo_redo->add_do_method(this, "_settings_changed");
|
||||||
|
|||||||
Reference in New Issue
Block a user