Merge pull request #30312 from akien-mga/filesystemdock-improve-duplicate-check

FileSystem dock: Improve duplicate check for directory paths
This commit is contained in:
Rémi Verschelde 2019-07-04 12:12:53 +02:00 committed by GitHub
commit b3d3cc6e78
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1324,14 +1324,14 @@ void FileSystemDock::_duplicate_operation_confirm() {
return; return;
} }
String new_path;
String base_dir = to_duplicate.path.get_base_dir(); String base_dir = to_duplicate.path.get_base_dir();
if (to_duplicate.is_file) { // get_base_dir() returns "some/path" if the original path was "some/path/", so work it around.
new_path = base_dir.plus_file(new_name); if (to_duplicate.path.ends_with("/")) {
} else { base_dir = base_dir.get_base_dir();
new_path = base_dir.substr(0, base_dir.find_last("/")).plus_file(new_name);
} }
String new_path = base_dir.plus_file(new_name);
//Present a more user friendly warning for name conflict //Present a more user friendly warning for name conflict
DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES); DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
if (da->file_exists(new_path) || da->dir_exists(new_path)) { if (da->file_exists(new_path) || da->dir_exists(new_path)) {