1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-31 18:41:20 +00:00

Merge pull request #113541 from Rindbee/fix-no-scan-after-dir-creation-and-deletion

Fix the issue of no scan after dir creation and/or deletion
This commit is contained in:
Rémi Verschelde
2025-12-04 15:52:53 +01:00
4 changed files with 29 additions and 2 deletions

View File

@@ -30,6 +30,7 @@
#include "editor_file_dialog.h"
#include "core/config/project_settings.h"
#include "editor/docks/filesystem_dock.h"
#include "editor/file_system/dependency_editor.h"
#include "editor/settings/editor_settings.h"
@@ -92,6 +93,26 @@ void EditorFileDialog::_validate_property(PropertyInfo &p_property) const {
}
}
void EditorFileDialog::_dir_contents_changed() {
bool scan_required = false;
switch (get_access()) {
case FileDialog::ACCESS_RESOURCES: {
scan_required = true;
} break;
case FileDialog::ACCESS_USERDATA: {
// Directories within the project dir are unlikely to be accessed.
} break;
case FileDialog::ACCESS_FILESYSTEM: {
// Directories within the project dir may still be accessed.
const String localized_path = ProjectSettings::get_singleton()->localize_path(get_current_dir());
scan_required = localized_path.is_resource_file();
} break;
}
if (scan_required) {
EditorFileSystem::get_singleton()->scan_changes();
}
}
void EditorFileDialog::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_VISIBILITY_CHANGED: {

View File

@@ -41,6 +41,7 @@ class EditorFileDialog : public FileDialog {
protected:
virtual void _item_menu_id_pressed(int p_option) override;
virtual void _dir_contents_changed() override;
virtual bool _should_use_native_popup() const override;
virtual bool _should_hide_file(const String &p_file) const override;