aboutsummaryrefslogtreecommitdiff
path: root/editor/editor_node.cpp
diff options
context:
space:
mode:
authorRémi Verschelde2017-07-03 23:46:54 +0200
committerGitHub2017-07-03 23:46:54 +0200
commit8a233131772ac0b39954dcddabdd1b2124e82c54 (patch)
treeb31c0586e8ee18c5b0bb1c0b4cfc0098abfa0c2e /editor/editor_node.cpp
parente54c7d5715e70c4ef08b6a3f7039c2bdf2473045 (diff)
parenta7ff7af8aef822b3159241c2723c9018052da522 (diff)
downloadgodot-8a233131772ac0b39954dcddabdd1b2124e82c54.tar.gz
godot-8a233131772ac0b39954dcddabdd1b2124e82c54.tar.zst
godot-8a233131772ac0b39954dcddabdd1b2124e82c54.zip
Merge pull request #9447 from Noshyaar/pr
EditorNode: mark opened deleted scenes as unsaved
Diffstat (limited to 'editor/editor_node.cpp')
-rw-r--r--editor/editor_node.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index d83b80867..4525c8f8e 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();