Merge pull request #86164 from KoBeWi/stop_select_faking

Properly select the newly duplicated file
This commit is contained in:
Yuri Sizov 2023-12-14 21:22:42 +01:00
commit c3579769d8
2 changed files with 9 additions and 2 deletions

View File

@ -1296,6 +1296,13 @@ void FileSystemDock::_fs_changed() {
_update_file_list(true);
}
if (!select_after_scan.is_empty()) {
_navigate_to_path(select_after_scan);
select_after_scan.clear();
import_dock_needs_update = true;
_update_import_dock();
}
set_process(false);
}
@ -1475,8 +1482,6 @@ void FileSystemDock::_try_duplicate_item(const FileOrFolder &p_item, const Strin
EditorNode::get_singleton()->add_io_error(TTR("Cannot move a folder into itself.") + "\n" + old_path + "\n");
return;
}
const_cast<FileSystemDock *>(this)->current_path = new_path;
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
if (p_item.is_file) {
@ -1916,6 +1921,7 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path, bool p_cop
for (int i = 0; i < to_move.size(); i++) {
if (to_move[i].path != new_paths[i]) {
_try_duplicate_item(to_move[i], new_paths[i]);
select_after_scan = new_paths[i];
is_copied = true;
}
}

View File

@ -225,6 +225,7 @@ private:
int history_max_size;
String current_path;
String select_after_scan;
bool initialized = false;