summaryrefslogtreecommitdiff
path: root/editor/editor_resource_picker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/editor_resource_picker.cpp')
-rw-r--r--editor/editor_resource_picker.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp
index a4ab749db4..31c62880e2 100644
--- a/editor/editor_resource_picker.cpp
+++ b/editor/editor_resource_picker.cpp
@@ -135,6 +135,10 @@ void EditorResourcePicker::_file_selected(const String &p_path) {
_update_resource();
}
+void EditorResourcePicker::_file_quick_selected() {
+ _file_selected(quick_open->get_selected());
+}
+
void EditorResourcePicker::_update_menu() {
_update_menu_items();
@@ -153,7 +157,10 @@ void EditorResourcePicker::_update_menu_items() {
// Add options for creating specific subtypes of the base resource type.
set_create_options(edit_menu);
- // Add an option to load a resource from a file.
+ // Add an option to load a resource from a file using the QuickOpen dialog.
+ edit_menu->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Quick Load"), OBJ_MENU_QUICKLOAD);
+
+ // Add an option to load a resource from a file using the regular file dialog.
edit_menu->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Load"), OBJ_MENU_LOAD);
// Add options for changing existing value of the resource.
@@ -246,6 +253,17 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
file_dialog->popup_file_dialog();
} break;
+ case OBJ_MENU_QUICKLOAD: {
+ if (!quick_open) {
+ quick_open = memnew(EditorQuickOpen);
+ add_child(quick_open);
+ quick_open->connect("quick_open", callable_mp(this, &EditorResourcePicker::_file_quick_selected));
+ }
+
+ quick_open->popup_dialog(base_type);
+ quick_open->set_title(TTR("Resource"));
+ } break;
+
case OBJ_MENU_EDIT: {
if (edited_resource.is_valid()) {
emit_signal(SNAME("resource_selected"), edited_resource);