diff options
| author | Rémi Verschelde | 2017-07-03 23:46:54 +0200 |
|---|---|---|
| committer | GitHub | 2017-07-03 23:46:54 +0200 |
| commit | 8a233131772ac0b39954dcddabdd1b2124e82c54 (patch) | |
| tree | b31c0586e8ee18c5b0bb1c0b4cfc0098abfa0c2e /editor/editor_node.cpp | |
| parent | e54c7d5715e70c4ef08b6a3f7039c2bdf2473045 (diff) | |
| parent | a7ff7af8aef822b3159241c2723c9018052da522 (diff) | |
| download | godot-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.cpp | 25 |
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(); |
