mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Merge pull request #22398 from groud/fix_import_tab_update
Fix import tab not updating when selecting in the tree view
This commit is contained in:
commit
1f18a85ea1
@ -395,6 +395,9 @@ void FileSystemDock::_notification(int p_what) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FileSystemDock::_tree_multi_selected(Object *p_item, int p_column, bool p_selected) {
|
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
|
// Return if we don't select something new
|
||||||
if (!p_selected)
|
if (!p_selected)
|
||||||
@ -2122,15 +2125,33 @@ void FileSystemDock::_update_import_dock() {
|
|||||||
if (!import_dock_needs_update)
|
if (!import_dock_needs_update)
|
||||||
return;
|
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;
|
Vector<String> imports;
|
||||||
String import_type;
|
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 (fpath.ends_with("/")) {
|
||||||
if (!files->is_selected(i))
|
imports.clear();
|
||||||
continue;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
String fpath = files->get_item_metadata(i);
|
|
||||||
if (!FileAccess::exists(fpath + ".import")) {
|
if (!FileAccess::exists(fpath + ".import")) {
|
||||||
imports.clear();
|
imports.clear();
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user