mirror of
https://github.com/godotengine/godot.git
synced 2024-11-15 00:23:27 +00:00
Merge pull request #32009 from Xrayez/fs-editor-icons
Display editor icons for filesystem dock popup menu options
This commit is contained in:
commit
7b433107f5
@ -2100,6 +2100,7 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
|
||||
bool all_folders = true;
|
||||
bool all_favorites = true;
|
||||
bool all_not_favorites = true;
|
||||
|
||||
for (int i = 0; i < p_paths.size(); i++) {
|
||||
String fpath = p_paths[i];
|
||||
if (fpath.ends_with("/")) {
|
||||
@ -2129,25 +2130,25 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
|
||||
if (all_files) {
|
||||
if (all_files_scenes) {
|
||||
if (filenames.size() == 1) {
|
||||
p_popup->add_item(TTR("Open Scene"), FILE_OPEN);
|
||||
p_popup->add_item(TTR("New Inherited Scene"), FILE_INHERIT);
|
||||
p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open Scene"), FILE_OPEN);
|
||||
p_popup->add_icon_item(get_icon("CreateNewSceneFrom", "EditorIcons"), TTR("New Inherited Scene"), FILE_INHERIT);
|
||||
} else {
|
||||
p_popup->add_item(TTR("Open Scenes"), FILE_OPEN);
|
||||
p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open Scenes"), FILE_OPEN);
|
||||
}
|
||||
p_popup->add_item(TTR("Instance"), FILE_INSTANCE);
|
||||
p_popup->add_icon_item(get_icon("Instance", "EditorIcons"), TTR("Instance"), FILE_INSTANCE);
|
||||
p_popup->add_separator();
|
||||
} else if (filenames.size() == 1) {
|
||||
p_popup->add_item(TTR("Open"), FILE_OPEN);
|
||||
p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open"), FILE_OPEN);
|
||||
p_popup->add_separator();
|
||||
}
|
||||
}
|
||||
|
||||
if (p_paths.size() >= 1) {
|
||||
if (!all_favorites) {
|
||||
p_popup->add_item(TTR("Add to Favorites"), FILE_ADD_FAVORITE);
|
||||
p_popup->add_icon_item(get_icon("Favorites", "EditorIcons"), TTR("Add to Favorites"), FILE_ADD_FAVORITE);
|
||||
}
|
||||
if (!all_not_favorites) {
|
||||
p_popup->add_item(TTR("Remove from Favorites"), FILE_REMOVE_FAVORITE);
|
||||
p_popup->add_icon_item(get_icon("NonFavorite", "EditorIcons"), TTR("Remove from Favorites"), FILE_REMOVE_FAVORITE);
|
||||
}
|
||||
p_popup->add_separator();
|
||||
}
|
||||
@ -2160,36 +2161,36 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
|
||||
}
|
||||
|
||||
} else if (all_folders && foldernames.size() > 0) {
|
||||
p_popup->add_item(TTR("Open"), FILE_OPEN);
|
||||
p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open"), FILE_OPEN);
|
||||
p_popup->add_separator();
|
||||
}
|
||||
|
||||
if (p_paths.size() == 1) {
|
||||
p_popup->add_item(TTR("Copy Path"), FILE_COPY_PATH);
|
||||
p_popup->add_icon_item(get_icon("ActionCopy", "EditorIcons"), TTR("Copy Path"), FILE_COPY_PATH);
|
||||
if (p_paths[0] != "res://") {
|
||||
p_popup->add_item(TTR("Rename..."), FILE_RENAME);
|
||||
p_popup->add_item(TTR("Duplicate..."), FILE_DUPLICATE);
|
||||
p_popup->add_icon_item(get_icon("Rename", "EditorIcons"), TTR("Rename..."), FILE_RENAME);
|
||||
p_popup->add_icon_item(get_icon("Duplicate", "EditorIcons"), TTR("Duplicate..."), FILE_DUPLICATE);
|
||||
}
|
||||
}
|
||||
|
||||
if (p_paths.size() > 1 || p_paths[0] != "res://") {
|
||||
p_popup->add_item(TTR("Move To..."), FILE_MOVE);
|
||||
p_popup->add_item(TTR("Delete"), FILE_REMOVE);
|
||||
p_popup->add_icon_item(get_icon("MoveUp", "EditorIcons"), TTR("Move To..."), FILE_MOVE);
|
||||
p_popup->add_icon_item(get_icon("Remove", "EditorIcons"), TTR("Delete"), FILE_REMOVE);
|
||||
}
|
||||
|
||||
if (p_paths.size() == 1) {
|
||||
p_popup->add_separator();
|
||||
if (p_display_path_dependent_options) {
|
||||
p_popup->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
|
||||
p_popup->add_item(TTR("New Scene..."), FILE_NEW_SCENE);
|
||||
p_popup->add_item(TTR("New Script..."), FILE_NEW_SCRIPT);
|
||||
p_popup->add_item(TTR("New Resource..."), FILE_NEW_RESOURCE);
|
||||
p_popup->add_icon_item(get_icon("Folder", "EditorIcons"), TTR("New Folder..."), FILE_NEW_FOLDER);
|
||||
p_popup->add_icon_item(get_icon("PackedScene", "EditorIcons"), TTR("New Scene..."), FILE_NEW_SCENE);
|
||||
p_popup->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script..."), FILE_NEW_SCRIPT);
|
||||
p_popup->add_icon_item(get_icon("Object", "EditorIcons"), TTR("New Resource..."), FILE_NEW_RESOURCE);
|
||||
p_popup->add_separator();
|
||||
}
|
||||
|
||||
String fpath = p_paths[0];
|
||||
String item_text = fpath.ends_with("/") ? TTR("Open in File Manager") : TTR("Show in File Manager");
|
||||
p_popup->add_item(item_text, FILE_SHOW_IN_EXPLORER);
|
||||
p_popup->add_icon_item(get_icon("Filesystem", "EditorIcons"), item_text, FILE_SHOW_IN_EXPLORER);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2199,8 +2200,8 @@ void FileSystemDock::_tree_rmb_select(const Vector2 &p_pos) {
|
||||
|
||||
if (paths.size() == 1) {
|
||||
if (paths[0].ends_with("/")) {
|
||||
tree_popup->add_item(TTR("Expand All"), FOLDER_EXPAND_ALL);
|
||||
tree_popup->add_item(TTR("Collapse All"), FOLDER_COLLAPSE_ALL);
|
||||
tree_popup->add_icon_item(get_icon("GuiTreeArrowDown", "EditorIcons"), TTR("Expand All"), FOLDER_EXPAND_ALL);
|
||||
tree_popup->add_icon_item(get_icon("GuiTreeArrowRight", "EditorIcons"), TTR("Collapse All"), FOLDER_COLLAPSE_ALL);
|
||||
tree_popup->add_separator();
|
||||
}
|
||||
}
|
||||
@ -2220,10 +2221,10 @@ void FileSystemDock::_tree_rmb_empty(const Vector2 &p_pos) {
|
||||
path = "res://";
|
||||
tree_popup->clear();
|
||||
tree_popup->set_size(Size2(1, 1));
|
||||
tree_popup->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
|
||||
tree_popup->add_item(TTR("New Scene..."), FILE_NEW_SCENE);
|
||||
tree_popup->add_item(TTR("New Script..."), FILE_NEW_SCRIPT);
|
||||
tree_popup->add_item(TTR("New Resource..."), FILE_NEW_RESOURCE);
|
||||
tree_popup->add_icon_item(get_icon("Folder", "EditorIcons"), TTR("New Folder..."), FILE_NEW_FOLDER);
|
||||
tree_popup->add_icon_item(get_icon("PackedScene", "EditorIcons"), TTR("New Scene..."), FILE_NEW_SCENE);
|
||||
tree_popup->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script..."), FILE_NEW_SCRIPT);
|
||||
tree_popup->add_icon_item(get_icon("Object", "EditorIcons"), TTR("New Resource..."), FILE_NEW_RESOURCE);
|
||||
tree_popup->set_position(tree->get_global_position() + p_pos);
|
||||
tree_popup->popup();
|
||||
}
|
||||
@ -2263,12 +2264,12 @@ void FileSystemDock::_file_list_rmb_pressed(const Vector2 &p_pos) {
|
||||
file_list_popup->clear();
|
||||
file_list_popup->set_size(Size2(1, 1));
|
||||
|
||||
file_list_popup->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
|
||||
file_list_popup->add_item(TTR("New Scene..."), FILE_NEW_SCENE);
|
||||
file_list_popup->add_item(TTR("New Script..."), FILE_NEW_SCRIPT);
|
||||
file_list_popup->add_item(TTR("New Resource..."), FILE_NEW_RESOURCE);
|
||||
file_list_popup->add_icon_item(get_icon("Folder", "EditorIcons"), TTR("New Folder..."), FILE_NEW_FOLDER);
|
||||
file_list_popup->add_icon_item(get_icon("PackedScene", "EditorIcons"), TTR("New Scene..."), FILE_NEW_SCENE);
|
||||
file_list_popup->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script..."), FILE_NEW_SCRIPT);
|
||||
file_list_popup->add_icon_item(get_icon("Object", "EditorIcons"), TTR("New Resource..."), FILE_NEW_RESOURCE);
|
||||
file_list_popup->add_separator();
|
||||
file_list_popup->add_item(TTR("Open in File Manager"), FILE_SHOW_IN_EXPLORER);
|
||||
file_list_popup->add_icon_item(get_icon("Filesystem", "EditorIcons"), TTR("Open in File Manager"), FILE_SHOW_IN_EXPLORER);
|
||||
file_list_popup->set_position(files->get_global_position() + p_pos);
|
||||
file_list_popup->popup();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user