diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-09-24 15:26:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-24 15:26:23 +0200 |
commit | 1f18a85ea1f79f023bc051bc43f80461325007e9 (patch) | |
tree | 964eddf59d1280c07a99552805eedce72eda391e /editor | |
parent | 49665a46d87cc7b86bca09e3deafeb18df63e782 (diff) | |
parent | ed516a11ca5da1c391ee771fa6a935f9cf5aa8fa (diff) |
Merge pull request #22398 from groud/fix_import_tab_update
Fix import tab not updating when selecting in the tree view
Diffstat (limited to 'editor')
-rw-r--r-- | editor/filesystem_dock.cpp | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 7fc113ab57..607ced4573 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -395,6 +395,9 @@ void FileSystemDock::_notification(int p_what) { } void FileSystemDock::_tree_multi_selected(Object *p_item, int p_column, bool p_selected) { + // Update the import dock + import_dock_needs_update = true; + call_deferred("_update_import_dock"); // Return if we don't select something new if (!p_selected) @@ -2122,15 +2125,33 @@ void FileSystemDock::_update_import_dock() { if (!import_dock_needs_update) return; - //check import + // List selected + Vector<String> selected; + if (display_mode_setting == DISPLAY_MODE_SETTING_TREE_ONLY) { + // Use the tree + selected = _tree_get_selected(); + + } else { + // Use the file list + for (int i = 0; i < files->get_item_count(); i++) { + if (!files->is_selected(i)) + continue; + + selected.push_back(files->get_item_metadata(i)); + } + } + + // Check import Vector<String> imports; String import_type; + for (int i = 0; i < selected.size(); i++) { + String fpath = selected[i]; - for (int i = 0; i < files->get_item_count(); i++) { - if (!files->is_selected(i)) - continue; + if (fpath.ends_with("/")) { + imports.clear(); + break; + } - String fpath = files->get_item_metadata(i); if (!FileAccess::exists(fpath + ".import")) { imports.clear(); break; |