Skip to content

Commit f0d5073

Browse files
committed
Allow fixing indirect missing dependencies manually
1 parent 07f4c06 commit f0d5073

File tree

6 files changed

+219
-108
lines changed

6 files changed

+219
-108
lines changed

editor/docks/filesystem_dock.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
#include "editor/editor_node.h"
4444
#include "editor/editor_string_names.h"
4545
#include "editor/editor_undo_redo_manager.h"
46+
#include "editor/file_system/dependency_editor.h"
4647
#include "editor/gui/create_dialog.h"
4748
#include "editor/gui/directory_create_dialog.h"
4849
#include "editor/gui/editor_dir_dialog.h"

editor/docks/filesystem_dock.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,17 @@
3939
#include "scene/gui/box_container.h"
4040
#include "scene/gui/control.h"
4141
#include "scene/gui/dialogs.h"
42+
#include "scene/gui/item_list.h"
4243
#include "scene/gui/menu_button.h"
4344
#include "scene/gui/split_container.h"
4445
#include "scene/gui/tree.h"
4546

4647
class CreateDialog;
48+
class DependencyEditor;
49+
class DependencyEditorOwners;
50+
class DependencyRemoveDialog;
4751
class EditorDirDialog;
4852
class HBoxContainer;
49-
class ItemList;
5053
class LineEdit;
5154
class ProgressBar;
5255
class SceneCreateDialog;

editor/editor_node.cpp

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1571,13 +1571,9 @@ Error EditorNode::load_resource(const String &p_resource, bool p_ignore_broken_d
15711571
}
15721572
ERR_FAIL_COND_V(res.is_null(), ERR_CANT_OPEN);
15731573

1574-
if (!p_ignore_broken_deps && dependency_errors.has(p_resource)) {
1575-
Vector<String> errors;
1576-
for (const String &E : dependency_errors[p_resource]) {
1577-
errors.push_back(E);
1578-
}
1579-
dependency_error->show(p_resource, errors);
1580-
dependency_errors.erase(p_resource);
1574+
if (!p_ignore_broken_deps && !dependency_errors.is_empty()) {
1575+
dependency_error->show(p_resource, dependency_errors);
1576+
dependency_errors.clear();
15811577

15821578
return ERR_FILE_MISSING_DEPENDENCIES;
15831579
}
@@ -4388,10 +4384,6 @@ bool EditorNode::is_multi_window_enabled() const {
43884384
return !SceneTree::get_singleton()->get_root()->is_embedding_subwindows() && !EDITOR_GET("interface/editor/single_window_mode") && EDITOR_GET("interface/multi_window/enable");
43894385
}
43904386

4391-
void EditorNode::fix_dependencies(const String &p_for_file) {
4392-
dependency_fixer->edit(p_for_file);
4393-
}
4394-
43954387
int EditorNode::new_scene() {
43964388
int idx = editor_data.add_edited_scene(-1);
43974389
_set_current_scene(idx); // Before trying to remove an empty scene, set the current tab index to the newly added tab index.
@@ -4466,13 +4458,10 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b
44664458
Error err;
44674459
Ref<PackedScene> sdata = ResourceLoader::load(lpath, "", ResourceFormatLoader::CACHE_MODE_REPLACE, &err);
44684460

4469-
if (!p_ignore_broken_deps && dependency_errors.has(lpath)) {
4461+
if (!p_ignore_broken_deps && !dependency_errors.is_empty()) {
44704462
current_menu_option = -1;
4471-
Vector<String> errors;
4472-
for (const String &E : dependency_errors[lpath]) {
4473-
errors.push_back(E);
4474-
}
4475-
dependency_error->show(lpath, errors);
4463+
dependency_error->show(lpath, dependency_errors);
4464+
dependency_errors.clear();
44764465

44774466
if (prev != -1 && prev != idx) {
44784467
_set_current_scene(prev);
@@ -8133,9 +8122,6 @@ EditorNode::EditorNode() {
81338122
dependency_error = memnew(DependencyErrorDialog);
81348123
gui_base->add_child(dependency_error);
81358124

8136-
dependency_fixer = memnew(DependencyEditor);
8137-
gui_base->add_child(dependency_fixer);
8138-
81398125
editor_settings_dialog = memnew(EditorSettingsDialog);
81408126
gui_base->add_child(editor_settings_dialog);
81418127

editor/editor_node.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ class Window;
6565
class AudioStreamImportSettingsDialog;
6666
class AudioStreamPreviewGenerator;
6767
class BackgroundProgress;
68-
class DependencyEditor;
6968
class DependencyErrorDialog;
7069
class DockSplitContainer;
7170
class DynamicFontImportSettingsDialog;
@@ -421,7 +420,6 @@ class EditorNode : public Node {
421420

422421
DependencyErrorDialog *dependency_error = nullptr;
423422
HashMap<String, HashSet<String>> dependency_errors;
424-
DependencyEditor *dependency_fixer = nullptr;
425423
OrphanResourcesDialog *orphan_resources = nullptr;
426424
ConfirmationDialog *open_imported = nullptr;
427425
Button *new_inherited_button = nullptr;
@@ -843,7 +841,6 @@ class EditorNode : public Node {
843841
String get_preview_locale() const;
844842
void set_preview_locale(const String &p_locale);
845843

846-
void fix_dependencies(const String &p_for_file);
847844
int new_scene();
848845
Error load_scene(const String &p_scene, bool p_ignore_broken_deps = false, bool p_set_inherited = false, bool p_force_open_imported = false, bool p_silent_change_tab = false);
849846
Error load_resource(const String &p_resource, bool p_ignore_broken_deps = false);

0 commit comments

Comments
 (0)