summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-02-16 23:06:46 +0100
committerGitHub <noreply@github.com>2019-02-16 23:06:46 +0100
commit4f6dd779a37b7bf2643527be1fe261f12856a110 (patch)
treede4b6cadb1058f8aa59fdb67f9cf5a0352d69e1d
parenta034cac583dc0d711f3dfe056516d77f2ef62d7c (diff)
parenta51088a7f9da6cc20d9a93df6148a84d4951cf40 (diff)
Merge pull request #25913 from Chaosus/fix_gizmo_icons
Fix icon color for gizmos menu when theme changed
-rw-r--r--editor/plugins/spatial_editor_plugin.cpp20
-rw-r--r--editor/plugins/spatial_editor_plugin.h1
2 files changed, 13 insertions, 8 deletions
diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp
index 0704e57bb9..41666f1082 100644
--- a/editor/plugins/spatial_editor_plugin.cpp
+++ b/editor/plugins/spatial_editor_plugin.cpp
@@ -4856,6 +4856,13 @@ void SpatialEditor::_update_gizmos_menu() {
}
}
+void SpatialEditor::_update_gizmos_menu_theme() {
+ for (int i = 0; i < gizmo_plugins.size(); ++i) {
+ if (!gizmo_plugins[i]->can_be_hidden()) continue;
+ gizmos_menu->set_item_icon(gizmos_menu->get_item_index(i), gizmos_menu->get_icon("visibility_visible"));
+ }
+}
+
void SpatialEditor::_init_grid() {
PoolVector<Color> grid_colors[3];
@@ -5145,20 +5152,17 @@ void SpatialEditor::_notification(int p_what) {
get_tree()->connect("node_removed", this, "_node_removed");
EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor()->connect("node_changed", this, "_refresh_menu_icons");
editor_selection->connect("selection_changed", this, "_refresh_menu_icons");
- }
-
- if (p_what == NOTIFICATION_ENTER_TREE) {
+ } else if (p_what == NOTIFICATION_ENTER_TREE) {
_register_all_gizmos();
_update_gizmos_menu();
_init_indicators();
- }
-
- if (p_what == NOTIFICATION_EXIT_TREE) {
+ } else if (p_what == NOTIFICATION_THEME_CHANGED) {
+ _update_gizmos_menu_theme();
+ } else if (p_what == NOTIFICATION_EXIT_TREE) {
_finish_indicators();
- }
- if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
+ } else if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
tool_button[SpatialEditor::TOOL_MODE_SELECT]->set_icon(get_icon("ToolSelect", "EditorIcons"));
tool_button[SpatialEditor::TOOL_MODE_MOVE]->set_icon(get_icon("ToolMove", "EditorIcons"));
tool_button[SpatialEditor::TOOL_MODE_ROTATE]->set_icon(get_icon("ToolRotate", "EditorIcons"));
diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h
index 2dc627cb27..364b0085f7 100644
--- a/editor/plugins/spatial_editor_plugin.h
+++ b/editor/plugins/spatial_editor_plugin.h
@@ -618,6 +618,7 @@ private:
void _instance_scene();
void _init_indicators();
void _update_gizmos_menu();
+ void _update_gizmos_menu_theme();
void _init_grid();
void _finish_indicators();
void _finish_grid();