[macOS] Fix non-ASCII volume name listing, replace deprecated volume listing API. Remove hidden mount points from the volume list.
This commit is contained in:
parent
119bf23720
commit
d8c2e6a31a
1 changed files with 11 additions and 4 deletions
|
@ -48,18 +48,25 @@ String DirAccessOSX::fix_unicode_name(const char *p_name) const {
|
|||
}
|
||||
|
||||
int DirAccessOSX::get_drive_count() {
|
||||
NSArray *vols = [[NSWorkspace sharedWorkspace] mountedLocalVolumePaths];
|
||||
NSArray *res_keys = [NSArray arrayWithObjects:NSURLVolumeURLKey, NSURLIsSystemImmutableKey, nil];
|
||||
NSArray *vols = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:res_keys options:NSVolumeEnumerationSkipHiddenVolumes];
|
||||
|
||||
return [vols count];
|
||||
}
|
||||
|
||||
String DirAccessOSX::get_drive(int p_drive) {
|
||||
NSArray *vols = [[NSWorkspace sharedWorkspace] mountedLocalVolumePaths];
|
||||
NSArray *res_keys = [NSArray arrayWithObjects:NSURLVolumeURLKey, NSURLIsSystemImmutableKey, nil];
|
||||
NSArray *vols = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:res_keys options:NSVolumeEnumerationSkipHiddenVolumes];
|
||||
int count = [vols count];
|
||||
|
||||
ERR_FAIL_INDEX_V(p_drive, count, "");
|
||||
|
||||
NSString *path = vols[p_drive];
|
||||
return String([path UTF8String]);
|
||||
String volname;
|
||||
NSString *path = [vols[p_drive] path];
|
||||
|
||||
volname.parse_utf8([path UTF8String]);
|
||||
|
||||
return volname;
|
||||
}
|
||||
|
||||
#endif //posix_enabled
|
||||
|
|
Loading…
Add table
Reference in a new issue