summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorA Thousand Ships <96648715+AThousandShips@users.noreply.github.com>2024-09-04 17:00:57 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-17 08:57:43 +0200
commit00866dc80a9ecaa31ebe26f160e5bba31fce954c (patch)
tree8ded99e6cf7a691a849ce740b623467fe9a96ab5
parentd842870331474598c1698deca20d6cc4b3d41378 (diff)
downloadredot-engine-00866dc80a9ecaa31ebe26f160e5bba31fce954c.tar.gz
[Editor] Prevent duplicate `Open in Editor` buttons in scene tree dock
Duplicate buttons were added when editor description changed (cherry picked from commit ab04d76e0e4e95430a0d0dc4e0067286f3832e66)
-rw-r--r--editor/gui/scene_tree_editor.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/editor/gui/scene_tree_editor.cpp b/editor/gui/scene_tree_editor.cpp
index 87d8ddad09..4a22507e55 100644
--- a/editor/gui/scene_tree_editor.cpp
+++ b/editor/gui/scene_tree_editor.cpp
@@ -490,10 +490,14 @@ void SceneTreeEditor::_update_node_tooltip(Node *p_node, TreeItem *p_item) {
String tooltip = p_node->get_name();
if (p_node == get_scene_node() && p_node->get_scene_inherited_state().is_valid()) {
- p_item->add_button(0, get_editor_theme_icon(SNAME("InstanceOptions")), BUTTON_SUBSCENE, false, TTR("Open in Editor"));
+ if (p_item->get_button_by_id(0, BUTTON_SUBSCENE) == -1) {
+ p_item->add_button(0, get_editor_theme_icon(SNAME("InstanceOptions")), BUTTON_SUBSCENE, false, TTR("Open in Editor"));
+ }
tooltip += String("\n" + TTR("Inherits:") + " " + p_node->get_scene_inherited_state()->get_path());
} else if (p_node != get_scene_node() && !p_node->get_scene_file_path().is_empty() && can_open_instance) {
- p_item->add_button(0, get_editor_theme_icon(SNAME("InstanceOptions")), BUTTON_SUBSCENE, false, TTR("Open in Editor"));
+ if (p_item->get_button_by_id(0, BUTTON_SUBSCENE) == -1) {
+ p_item->add_button(0, get_editor_theme_icon(SNAME("InstanceOptions")), BUTTON_SUBSCENE, false, TTR("Open in Editor"));
+ }
tooltip += String("\n" + TTR("Instance:") + " " + p_node->get_scene_file_path());
}