mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Make EditorFileDialog inherit FileDialog
This commit is contained in:
@@ -54,6 +54,7 @@
|
||||
#include "main/main.h"
|
||||
#include "modules/regex/regex.h"
|
||||
#include "scene/gui/color_picker.h"
|
||||
#include "scene/gui/file_dialog.h"
|
||||
#include "scene/main/node.h"
|
||||
#include "scene/main/scene_tree.h"
|
||||
#include "scene/main/window.h"
|
||||
@@ -1591,7 +1592,17 @@ void EditorSettings::save_project_metadata() {
|
||||
project_metadata_dirty = false;
|
||||
}
|
||||
|
||||
void EditorSettings::set_favorites(const Vector<String> &p_favorites) {
|
||||
void EditorSettings::set_favorites(const Vector<String> &p_favorites, bool p_update_file_dialog) {
|
||||
if (p_update_file_dialog) {
|
||||
FileDialog::set_favorite_list(p_favorites);
|
||||
} else if (p_favorites == favorites) {
|
||||
// If the list came from EditorFileDialog, it may be the same as before.
|
||||
return;
|
||||
}
|
||||
set_favorites_bind(p_favorites);
|
||||
}
|
||||
|
||||
void EditorSettings::set_favorites_bind(const Vector<String> &p_favorites) {
|
||||
favorites = p_favorites;
|
||||
String favorites_file;
|
||||
if (Engine::get_singleton()->is_project_manager_hint()) {
|
||||
@@ -1627,7 +1638,17 @@ HashMap<String, PackedStringArray> EditorSettings::get_favorite_properties() con
|
||||
return favorite_properties;
|
||||
}
|
||||
|
||||
void EditorSettings::set_recent_dirs(const Vector<String> &p_recent_dirs) {
|
||||
void EditorSettings::set_recent_dirs(const Vector<String> &p_recent_dirs, bool p_update_file_dialog) {
|
||||
if (p_update_file_dialog) {
|
||||
FileDialog::set_recent_list(p_recent_dirs);
|
||||
} else if (p_recent_dirs == recent_dirs) {
|
||||
// If the list came from EditorFileDialog, it may be the same as before.
|
||||
return;
|
||||
}
|
||||
set_recent_dirs_bind(p_recent_dirs);
|
||||
}
|
||||
|
||||
void EditorSettings::set_recent_dirs_bind(const Vector<String> &p_recent_dirs) {
|
||||
recent_dirs = p_recent_dirs;
|
||||
String recent_dirs_file;
|
||||
if (Engine::get_singleton()->is_project_manager_hint()) {
|
||||
@@ -1671,6 +1692,7 @@ void EditorSettings::load_favorites_and_recent_dirs() {
|
||||
line = f->get_line().strip_edges();
|
||||
}
|
||||
}
|
||||
FileDialog::set_favorite_list(favorites);
|
||||
|
||||
/// Inspector Favorites
|
||||
|
||||
@@ -1701,6 +1723,7 @@ void EditorSettings::load_favorites_and_recent_dirs() {
|
||||
line = f->get_line().strip_edges();
|
||||
}
|
||||
}
|
||||
FileDialog::set_recent_list(recent_dirs);
|
||||
}
|
||||
|
||||
HashMap<StringName, Color> EditorSettings::get_godot2_text_editor_theme() {
|
||||
@@ -2237,9 +2260,9 @@ void EditorSettings::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_project_metadata", "section", "key", "data"), &EditorSettings::set_project_metadata);
|
||||
ClassDB::bind_method(D_METHOD("get_project_metadata", "section", "key", "default"), &EditorSettings::get_project_metadata, DEFVAL(Variant()));
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_favorites", "dirs"), &EditorSettings::set_favorites);
|
||||
ClassDB::bind_method(D_METHOD("set_favorites", "dirs"), &EditorSettings::set_favorites_bind);
|
||||
ClassDB::bind_method(D_METHOD("get_favorites"), &EditorSettings::get_favorites);
|
||||
ClassDB::bind_method(D_METHOD("set_recent_dirs", "dirs"), &EditorSettings::set_recent_dirs);
|
||||
ClassDB::bind_method(D_METHOD("set_recent_dirs", "dirs"), &EditorSettings::set_recent_dirs_bind);
|
||||
ClassDB::bind_method(D_METHOD("get_recent_dirs"), &EditorSettings::get_recent_dirs);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_builtin_action_override", "name", "actions_list"), &EditorSettings::set_builtin_action_override);
|
||||
|
||||
@@ -177,11 +177,13 @@ public:
|
||||
Variant get_project_metadata(const String &p_section, const String &p_key, const Variant &p_default) const;
|
||||
void save_project_metadata();
|
||||
|
||||
void set_favorites(const Vector<String> &p_favorites);
|
||||
void set_favorites(const Vector<String> &p_favorites, bool p_update_file_dialog = true);
|
||||
void set_favorites_bind(const Vector<String> &p_favorites);
|
||||
Vector<String> get_favorites() const;
|
||||
void set_favorite_properties(const HashMap<String, PackedStringArray> &p_favorite_properties);
|
||||
HashMap<String, PackedStringArray> get_favorite_properties() const;
|
||||
void set_recent_dirs(const Vector<String> &p_recent_dirs);
|
||||
void set_recent_dirs(const Vector<String> &p_recent_dirs, bool p_update_file_dialog = true);
|
||||
void set_recent_dirs_bind(const Vector<String> &p_recent_dirs);
|
||||
Vector<String> get_recent_dirs() const;
|
||||
void load_favorites_and_recent_dirs();
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@ void ProjectSettingsEditor::shortcut_input(const Ref<InputEvent> &p_event) {
|
||||
handled = true;
|
||||
}
|
||||
|
||||
if (ED_IS_SHORTCUT("file_dialog/focus_path", p_event)) {
|
||||
if (ED_IS_SHORTCUT("filesystem_dock/focus_path", p_event)) {
|
||||
_focus_current_path_box();
|
||||
handled = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user