summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-09-20 23:17:29 +0200
committerGitHub <noreply@github.com>2019-09-20 23:17:29 +0200
commit769a9c521a7ef9d005d68ba145cb79a21d4cc267 (patch)
treeadabd7ac22f78a5deb83da277bb581eaaccd09bb
parentd249bb37e5b7c90bb901247760311d1afc787605 (diff)
parentfd1b5cc39f27c647c7036ac14109f35ab3ae4316 (diff)
Merge pull request #32094 from Calinou/improve-delete-node-confirmation-2
Improve the node deletion confirmation message
-rw-r--r--editor/scene_tree_dock.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index 4e0eb260bc..e45b08c992 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()));
}