diff options
Diffstat (limited to 'editor/filesystem_dock.cpp')
-rw-r--r-- | editor/filesystem_dock.cpp | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index dce5a10d67..cc9c9a11d7 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -27,6 +27,7 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ + #include "filesystem_dock.h" #include "editor_node.h" @@ -403,12 +404,12 @@ void FileSystemDock::_search(EditorFileSystemDirectory *p_path, List<FileInfo> * _search(p_path->get_subdir(i), matches, p_max_items); } - String match = search_box->get_text(); + String match = search_box->get_text().to_lower(); for (int i = 0; i < p_path->get_file_count(); i++) { String file = p_path->get_file(i); - if (file.find(match) != -1) { + if (file.to_lower().find(match) != -1) { FileInfo fi; fi.name = file; @@ -548,7 +549,7 @@ void FileSystemDock::_update_files(bool p_keep_selection) { } else { type_icon = get_icon("ImportFail", ei); big_icon = file_thumbnail_broken; - tooltip += TTR("\nStatus: Import of file failed. Please fix file and reimport manually."); + tooltip += "\n" + TTR("Status: Import of file failed. Please fix file and reimport manually."); } int item_index; @@ -752,7 +753,7 @@ void FileSystemDock::_try_move_item(const FileOrFolder &p_item, const String &p_ return; } else if (!p_item.is_file && new_path.begins_with(old_path)) { //This check doesn't erroneously catch renaming to a longer name as folder paths always end with "/" - EditorNode::get_singleton()->add_io_error(TTR("Cannot move a folder into itself.\n") + old_path + "\n"); + EditorNode::get_singleton()->add_io_error(TTR("Cannot move a folder into itself.") + "\n" + old_path + "\n"); return; } @@ -772,7 +773,7 @@ void FileSystemDock::_try_move_item(const FileOrFolder &p_item, const String &p_ if (p_item.is_file && FileAccess::exists(old_path + ".import")) { err = da->rename(old_path + ".import", new_path + ".import"); if (err != OK) { - EditorNode::get_singleton()->add_io_error(TTR("Error moving:\n") + old_path + ".import\n"); + EditorNode::get_singleton()->add_io_error(TTR("Error moving:") + "\n" + old_path + ".import\n"); } } @@ -796,7 +797,7 @@ void FileSystemDock::_try_move_item(const FileOrFolder &p_item, const String &p_ print_line(" Remap: " + changed_paths[i] + " -> " + p_renames[changed_paths[i]]); } } else { - EditorNode::get_singleton()->add_io_error(TTR("Error moving:\n") + old_path + "\n"); + EditorNode::get_singleton()->add_io_error(TTR("Error moving:") + "\n" + old_path + "\n"); } memdelete(da); } @@ -813,23 +814,23 @@ void FileSystemDock::_try_duplicate_item(const FileOrFolder &p_item, const Strin return; } else if (!p_item.is_file && new_path.begins_with(old_path)) { //This check doesn't erroneously catch renaming to a longer name as folder paths always end with "/" - EditorNode::get_singleton()->add_io_error(TTR("Cannot move a folder into itself.\n") + old_path + "\n"); + EditorNode::get_singleton()->add_io_error(TTR("Cannot move a folder into itself.") + "\n" + old_path + "\n"); return; } DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES); print_line("Duplicating " + old_path + " -> " + new_path); - Error err = da->copy(old_path, new_path); + Error err = p_item.is_file ? da->copy(old_path, new_path) : da->copy_dir(old_path, new_path); if (err == OK) { //Move/Rename any corresponding import settings too if (p_item.is_file && FileAccess::exists(old_path + ".import")) { err = da->copy(old_path + ".import", new_path + ".import"); if (err != OK) { - EditorNode::get_singleton()->add_io_error(TTR("Error duplicating:\n") + old_path + ".import\n"); + EditorNode::get_singleton()->add_io_error(TTR("Error duplicating:") + "\n" + old_path + ".import\n"); } } } else { - EditorNode::get_singleton()->add_io_error(TTR("Error duplicating:\n") + old_path + "\n"); + EditorNode::get_singleton()->add_io_error(TTR("Error duplicating:") + "\n" + old_path + "\n"); } memdelete(da); } @@ -901,7 +902,7 @@ void FileSystemDock::_update_dependencies_after_move(const Map<String, String> & if (ResourceLoader::get_resource_type(file) == "PackedScene") editor->reload_scene(file); } else { - EditorNode::get_singleton()->add_io_error(TTR("Unable to update dependencies:\n") + remaps[i] + "\n"); + EditorNode::get_singleton()->add_io_error(TTR("Unable to update dependencies:") + "\n" + remaps[i] + "\n"); } } } @@ -980,10 +981,12 @@ void FileSystemDock::_duplicate_operation_confirm() { return; } - String old_path = to_duplicate.path.ends_with("/") ? to_duplicate.path.substr(0, to_duplicate.path.length() - 1) : to_rename.path; - String new_path = old_path.get_base_dir().plus_file(new_name); - if (old_path == new_path) { - return; + String new_path; + String base_dir = to_duplicate.path.get_base_dir(); + if (to_duplicate.is_file) { + new_path = base_dir.plus_file(new_name); + } else { + new_path = base_dir.substr(0, base_dir.find_last("/")) + "/" + new_name; } //Present a more user friendly warning for name conflict @@ -995,7 +998,7 @@ void FileSystemDock::_duplicate_operation_confirm() { } memdelete(da); - _try_duplicate_item(to_duplicate, new_name); + _try_duplicate_item(to_duplicate, new_path); //Rescan everything print_line("call rescan!"); |