diff options
author | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2019-09-11 23:11:00 +0200 |
---|---|---|
committer | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2019-09-11 23:29:34 +0200 |
commit | fd1b5cc39f27c647c7036ac14109f35ab3ae4316 (patch) | |
tree | 371570dabfcc3ed295f30831be7945d99951c977 /editor/scene_tree_dock.cpp | |
parent | 24e1039eb6fe32115e8d1a62a84965e9be19a2ed (diff) |
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
Diffstat (limited to 'editor/scene_tree_dock.cpp')
-rw-r--r-- | editor/scene_tree_dock.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 16f1575757..393a1d8445 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())); } |