Make EditorFileDialog inherit FileDialog

This commit is contained in:
kobewi 2025-12-02 12:30:51 +01:00
parent f5918a9d35
commit c1cc178a82
23 changed files with 253 additions and 3285 deletions

View file

@ -1029,8 +1029,6 @@ void EditorNode::_notification(int p_what) {
if (EditorSettings::get_singleton()->check_changed_settings_in_group("filesystem/file_dialog")) {
FileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files"));
FileDialog::set_default_display_mode(EDITOR_GET("filesystem/file_dialog/display_mode"));
EditorFileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files"));
EditorFileDialog::set_default_display_mode((EditorFileDialog::DisplayMode)EDITOR_GET("filesystem/file_dialog/display_mode").operator int());
}
if (EditorSettings::get_singleton()->check_changed_settings_in_group("interface/editor/tablet_driver")) {
@ -1251,10 +1249,6 @@ void EditorNode::_fs_changed() {
E->invalidate();
}
for (EditorFileDialog *E : editor_file_dialogs) {
E->invalidate();
}
_mark_unsaved_scenes();
// FIXME: Move this to a cleaner location, it's hacky to do this in _fs_changed.
@ -5967,14 +5961,6 @@ void EditorNode::_file_dialog_unregister(FileDialog *p_dialog) {
singleton->file_dialogs.erase(p_dialog);
}
void EditorNode::_editor_file_dialog_register(EditorFileDialog *p_dialog) {
singleton->editor_file_dialogs.insert(p_dialog);
}
void EditorNode::_editor_file_dialog_unregister(EditorFileDialog *p_dialog) {
singleton->editor_file_dialogs.erase(p_dialog);
}
Vector<EditorNodeInitCallback> EditorNode::_init_callbacks;
void EditorNode::_begin_first_scan() {
@ -8038,8 +8024,6 @@ EditorNode::EditorNode() {
FileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files"));
FileDialog::set_default_display_mode(EDITOR_GET("filesystem/file_dialog/display_mode"));
EditorFileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files"));
EditorFileDialog::set_default_display_mode((EditorFileDialog::DisplayMode)EDITOR_GET("filesystem/file_dialog/display_mode").operator int());
int swap_cancel_ok = EDITOR_GET("interface/editor/accept_dialog_cancel_ok_buttons");
if (swap_cancel_ok != 0) { // 0 is auto, set in register_scene based on DisplayServer.
@ -8182,10 +8166,6 @@ EditorNode::EditorNode() {
FileDialog::register_func = _file_dialog_register;
FileDialog::unregister_func = _file_dialog_unregister;
EditorFileDialog::get_icon_func = _file_dialog_get_icon;
EditorFileDialog::register_func = _editor_file_dialog_register;
EditorFileDialog::unregister_func = _editor_file_dialog_unregister;
editor_export = memnew(EditorExport);
add_child(editor_export);
@ -9263,12 +9243,7 @@ EditorNode::~EditorNode() {
FileDialog::register_func = nullptr;
FileDialog::unregister_func = nullptr;
EditorFileDialog::get_icon_func = nullptr;
EditorFileDialog::register_func = nullptr;
EditorFileDialog::unregister_func = nullptr;
file_dialogs.clear();
editor_file_dialogs.clear();
singleton = nullptr;
}