From a7ff7af8aef822b3159241c2723c9018052da522 Mon Sep 17 00:00:00 2001 From: Poommetee Ketson Date: Fri, 30 Jun 2017 00:37:54 +0700 Subject: EditorNode: mark opened deleted scenes as unsaved --- editor/editor_node.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'editor/editor_node.cpp') diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 3d119354e..5a5fd73ba 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -416,6 +416,8 @@ void EditorNode::_fs_changed() { } } } + + _mark_unsaved_scenes(); } void EditorNode::_sources_changed(bool p_exist) { @@ -978,6 +980,29 @@ void EditorNode::_save_all_scenes() { _save_default_environment(); } +void EditorNode::_mark_unsaved_scenes() { + + for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { + + Node *node = editor_data.get_edited_scene_root(i); + if (!node) + continue; + + String path = node->get_filename(); + if (!(path == String() || FileAccess::exists(path))) { + + node->set_filename(""); + if (i == editor_data.get_edited_scene()) + set_current_version(-1); + else + editor_data.set_edited_scene_version(-1, i); + } + } + + _update_title(); + _update_scene_tabs(); +} + void EditorNode::_import_action(const String &p_action) { #if 0 import_confirmation->hide(); -- cgit v1.2.3-70-g09d2