1
0
mirror of https://github.com/godotengine/godot.git synced 2026-01-06 19:41:11 +00:00

[Windows, 3.x] Add support for handling network share paths.

This commit is contained in:
bruvzg
2022-06-13 09:20:40 +03:00
parent cda6ea06f9
commit 11a7997a67
8 changed files with 69 additions and 15 deletions

View File

@@ -129,7 +129,14 @@ void FileDialog::update_dir() {
dir->set_text(dir_access->get_current_dir_without_drive());
if (drives->is_visible()) {
drives->select(dir_access->get_current_drive());
if (dir_access->get_current_dir().is_network_share_path()) {
_update_drives(false);
drives->add_item(RTR("Network"));
drives->set_item_disabled(drives->get_item_count() - 1, true);
drives->select(drives->get_item_count() - 1);
} else {
drives->select(dir_access->get_current_drive());
}
}
// Deselect any item, to make "Select Current Folder" button text by default.
@@ -749,7 +756,7 @@ void FileDialog::_select_drive(int p_idx) {
update_dir();
}
void FileDialog::_update_drives() {
void FileDialog::_update_drives(bool p_select) {
int dc = dir_access->get_drive_count();
if (dc == 0 || access != ACCESS_FILESYSTEM) {
drives->hide();
@@ -767,7 +774,9 @@ void FileDialog::_update_drives() {
drives->add_item(dir_access->get_drive(i));
}
drives->select(dir_access->get_current_drive());
if (p_select) {
drives->select(dir_access->get_current_drive());
}
}
}

View File

@@ -121,7 +121,7 @@ private:
void _make_dir_confirm();
void _go_up();
void _update_drives();
void _update_drives(bool p_select = true);
void _unhandled_input(const Ref<InputEvent> &p_event);