Browse Source

Merge pull request #17816 from NikodemL/fix_file_show_in_explorer

FIX: FILE_SHOW_IN_EXPLORER now correctly shows the file's directory
Rémi Verschelde 7 years ago
parent
commit
d991e99321
1 changed files with 13 additions and 2 deletions
  1. 13 2
      editor/filesystem_dock.cpp

+ 13 - 2
editor/filesystem_dock.cpp

@@ -1034,8 +1034,19 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path) {
 void FileSystemDock::_file_option(int p_option) {
 	switch (p_option) {
 		case FILE_SHOW_IN_EXPLORER: {
-			String dir = ProjectSettings::get_singleton()->globalize_path(this->path);
-			OS::get_singleton()->shell_open(String("file://") + dir);
+
+			String path = this->path;
+
+			// first try to grab directory from selected file, so that it works for searched files
+			int idx = files->get_current();
+
+			if (idx >= 0 && idx < files->get_item_count()) {
+				path = files->get_item_metadata(idx);
+				path = path.get_base_dir();
+			}
+
+			path = ProjectSettings::get_singleton()->globalize_path(path);
+			OS::get_singleton()->shell_open(String("file://") + path);
 		} break;
 		case FILE_OPEN: {
 			for (int i = 0; i < files->get_item_count(); i++) {