Skip to content

Commit

Permalink
Add show in filesystem option for file favorites
Browse files Browse the repository at this point in the history
  • Loading branch information
Arnklit committed Apr 26, 2024
1 parent 30e7178 commit ca2005f
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
33 changes: 32 additions & 1 deletion editor/filesystem_dock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2385,6 +2385,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()) {
Expand Down Expand Up @@ -3261,8 +3267,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("/");
Expand Down
1 change: 1 addition & 0 deletions editor/filesystem_dock.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ class FileSystemDock : public VBoxContainer {
FILE_INSTANTIATE,
FILE_ADD_FAVORITE,
FILE_REMOVE_FAVORITE,
FILE_SHOW_IN_FILESYSTEM,
FILE_DEPENDENCIES,
FILE_OWNERS,
FILE_MOVE,
Expand Down

0 comments on commit ca2005f

Please sign in to comment.