You've already forked godot
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:
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user