summaryrefslogtreecommitdiffstats
path: root/editor/filesystem_dock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/filesystem_dock.cpp')
-rw-r--r--editor/filesystem_dock.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index b7deb6afa6..3f96d934a8 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -2394,6 +2394,12 @@ void FileSystemDock::_file_option(int p_option, const Vector<String> &p_selected
}
} break;
+ case FILE_SHOW_IN_FILESYSTEM: {
+ if (!p_selected.is_empty()) {
+ navigate_to_path(p_selected[0]);
+ }
+ } break;
+
case FILE_DEPENDENCIES: {
// Checkout the file dependencies.
if (!p_selected.is_empty()) {
@@ -3286,8 +3292,33 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, const Vect
if (p_paths.size() == 1) {
const String &fpath = p_paths[0];
+ bool added_separator = false;
+
+ if (favorites_list.has(fpath)) {
+ TreeItem *favorites_item = tree->get_root()->get_first_child();
+ TreeItem *cursor_item = tree->get_selected();
+ bool is_item_in_favorites = false;
+ while (cursor_item != nullptr) {
+ if (cursor_item == favorites_item) {
+ is_item_in_favorites = true;
+ break;
+ }
+
+ cursor_item = cursor_item->get_parent();
+ }
+
+ if (is_item_in_favorites) {
+ p_popup->add_separator();
+ added_separator = true;
+ p_popup->add_icon_item(get_editor_theme_icon(SNAME("ShowInFileSystem")), TTR("Show in FileSystem"), FILE_SHOW_IN_FILESYSTEM);
+ }
+ }
+
#if !defined(ANDROID_ENABLED) && !defined(WEB_ENABLED)
- p_popup->add_separator();
+ if (!added_separator) {
+ p_popup->add_separator();
+ added_separator = true;
+ }
// Opening the system file manager is not supported on the Android and web editors.
const bool is_directory = fpath.ends_with("/");
@@ -4153,6 +4184,7 @@ FileSystemDock::FileSystemDock() {
ProjectSettings::get_singleton()->connect("settings_changed", callable_mp(this, &FileSystemDock::_project_settings_changed));
add_resource_tooltip_plugin(memnew(EditorTextureTooltipPlugin));
+ add_resource_tooltip_plugin(memnew(EditorAudioStreamTooltipPlugin));
}
FileSystemDock::~FileSystemDock() {