From fd1b5cc39f27c647c7036ac14109f35ab3ae4316 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Wed, 11 Sep 2019 23:11:00 +0200 Subject: [PATCH] Improve the node deletion confirmation message - Add "the root node" in the beginning if the selected node is the current scene's root - Add "and its children" at the end of the message if the node has at least one child and is not an instanced scene --- editor/scene_tree_dock.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 16f15757574..393a1d84457 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -759,8 +759,13 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { _delete_confirm(); } else { - if (remove_list.size() > 1) { + if (remove_list.size() >= 2) { delete_dialog->set_text(vformat(TTR("Delete %d nodes?"), remove_list.size())); + } else if (remove_list.size() == 1 && remove_list[0] == editor_data->get_edited_scene_root()) { + delete_dialog->set_text(vformat(TTR("Delete the root node \"%s\"?"), remove_list[0]->get_name())); + } else if (remove_list.size() == 1 && remove_list[0]->get_filename() == "" && remove_list[0]->get_child_count() >= 1) { + // Display this message only for non-instanced scenes + delete_dialog->set_text(vformat(TTR("Delete node \"%s\" and its children?"), remove_list[0]->get_name())); } else { delete_dialog->set_text(vformat(TTR("Delete node \"%s\"?"), remove_list[0]->get_name())); }