summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_node.cpp4
-rw-r--r--editor/editor_plugin.cpp5
-rw-r--r--editor/editor_plugin.h3
-rw-r--r--editor/filesystem_dock.cpp12
-rw-r--r--editor/filesystem_dock.h4
5 files changed, 20 insertions, 8 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 16f6883b31..61480c3c20 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -3612,6 +3612,7 @@ void EditorNode::register_editor_types() {
ClassDB::register_class<ScriptCreateDialog>();
ClassDB::register_class<EditorFeatureProfile>();
ClassDB::register_class<EditorSpinSlider>();
+ ClassDB::register_virtual_class<FileSystemDock>();
// FIXME: Is this stuff obsolete, or should it be ported to new APIs?
ClassDB::register_class<EditorScenePostImport>();
@@ -6704,6 +6705,9 @@ EditorNode::EditorNode() {
screenshot_timer->connect("timeout", callable_mp(this, &EditorNode::_request_screenshot));
add_child(screenshot_timer);
screenshot_timer->set_owner(get_owner());
+
+ String exec = OS::get_singleton()->get_executable_path();
+ EditorSettings::get_singleton()->set_project_metadata("editor_metadata", "executable_path", exec); // Save editor executable path for third-party tools
}
EditorNode::~EditorNode() {
diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp
index 5204a4d579..07a63c39ba 100644
--- a/editor/editor_plugin.cpp
+++ b/editor/editor_plugin.cpp
@@ -226,6 +226,10 @@ EditorFileSystem *EditorInterface::get_resource_file_system() {
return EditorFileSystem::get_singleton();
}
+FileSystemDock *EditorInterface::get_file_system_dock() {
+ return EditorNode::get_singleton()->get_filesystem_dock();
+}
+
EditorSelection *EditorInterface::get_selection() {
return EditorNode::get_singleton()->get_editor_selection();
}
@@ -295,6 +299,7 @@ void EditorInterface::_bind_methods() {
ClassDB::bind_method(D_METHOD("select_file", "file"), &EditorInterface::select_file);
ClassDB::bind_method(D_METHOD("get_selected_path"), &EditorInterface::get_selected_path);
ClassDB::bind_method(D_METHOD("get_current_path"), &EditorInterface::get_current_path);
+ ClassDB::bind_method(D_METHOD("get_file_system_dock"), &EditorInterface::get_file_system_dock);
ClassDB::bind_method(D_METHOD("set_plugin_enabled", "plugin", "enabled"), &EditorInterface::set_plugin_enabled);
ClassDB::bind_method(D_METHOD("is_plugin_enabled", "plugin"), &EditorInterface::is_plugin_enabled);
diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h
index 0313ef2b26..cd3f4d0638 100644
--- a/editor/editor_plugin.h
+++ b/editor/editor_plugin.h
@@ -53,6 +53,7 @@ class EditorSpatialGizmoPlugin;
class EditorResourcePreview;
class EditorFileSystem;
class EditorToolAddons;
+class FileSystemDock;
class ScriptEditor;
class EditorInterface : public Node {
@@ -88,6 +89,8 @@ public:
EditorResourcePreview *get_resource_previewer();
EditorFileSystem *get_resource_file_system();
+ FileSystemDock *get_file_system_dock();
+
Control *get_base_control();
void set_plugin_enabled(const String &p_plugin, bool p_enabled);
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index e9e1b3be43..962d95736f 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -1287,12 +1287,12 @@ void FileSystemDock::_make_scene_confirm() {
editor->get_editor_data().set_scene_path(idx, scene_name);
}
-void FileSystemDock::_file_deleted(String p_file) {
- emit_signal("file_deleted", p_file);
+void FileSystemDock::_file_removed(String p_file) {
+ emit_signal("file_removed", p_file);
}
-void FileSystemDock::_folder_deleted(String p_folder) {
- emit_signal("folder_deleted", p_folder);
+void FileSystemDock::_folder_removed(String p_folder) {
+ emit_signal("folder_removed", p_folder);
}
void FileSystemDock::_rename_operation_confirm() {
@@ -2613,8 +2613,8 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) {
add_child(owners_editor);
remove_dialog = memnew(DependencyRemoveDialog);
- remove_dialog->connect("file_removed", callable_mp(this, &FileSystemDock::_file_deleted));
- remove_dialog->connect("folder_removed", callable_mp(this, &FileSystemDock::_folder_deleted));
+ remove_dialog->connect("file_removed", callable_mp(this, &FileSystemDock::_file_removed));
+ remove_dialog->connect("folder_removed", callable_mp(this, &FileSystemDock::_folder_removed));
add_child(remove_dialog);
move_dialog = memnew(EditorDirDialog);
diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h
index 00f8cd9d50..6d2d8510d1 100644
--- a/editor/filesystem_dock.h
+++ b/editor/filesystem_dock.h
@@ -210,8 +210,8 @@ private:
void _update_favorites_list_after_move(const Map<String, String> &p_files_renames, const Map<String, String> &p_folders_renames) const;
void _update_project_settings_after_move(const Map<String, String> &p_renames) const;
- void _file_deleted(String p_file);
- void _folder_deleted(String p_folder);
+ void _file_removed(String p_file);
+ void _folder_removed(String p_folder);
void _files_moved(String p_old_file, String p_new_file);
void _folder_moved(String p_old_folder, String p_new_folder);