Updates MacOS directory picker to applescript

This commit is contained in:
Miguel Ruivo 2020-08-10 15:35:43 +01:00
parent 0d8c62b4f7
commit fa80ef6132
4 changed files with 22 additions and 5 deletions

View File

@ -1,3 +1,6 @@
## 1.13.3
Go: Updates MacOS directory picker to applescript (thank you @trister1997).
## 1.13.2
Android: fixes picking paths from Downloads directory on versions below Android Q.

View File

@ -75,9 +75,23 @@ func fileDialog(title string, filter string) (string, error) {
}
func dirDialog(title string) (string, error) {
dirPath, _, err := dlgs.File(title, `*.*`, true)
osascript, err := exec.LookPath("osascript")
if err != nil {
return "", errors.Wrap(err, "failed to open dialog picker")
return "", err
}
return dirPath, nil
output, err := exec.Command(osascript, "-e", `choose folder with prompt "`+title+`"`).Output()
if err != nil {
if exitError, ok := err.(*exec.ExitError); ok {
fmt.Printf("miguelpruivo/plugins_flutter_file_picker/go: folder dialog exited with code %d and output `%s`\n", exitError.ExitCode(), string(output))
return "", nil // user probably canceled or closed the selection window
}
return "", errors.Wrap(err, "failed to open folder dialog")
}
trimmedOutput := strings.TrimSpace(string(output))
pathParts := strings.Split(trimmedOutput, ":")
path := string(filepath.Separator) + filepath.Join(pathParts[1:]...)
return path, nil
}

View File

@ -1,7 +1,7 @@
name: file_picker
description: A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.
homepage: https://github.com/miguelpruivo/plugins_flutter_file_picker
version: 1.13.2
version: 1.13.3
dependencies:
flutter:

View File

@ -33,7 +33,7 @@ class MethodChannelFilePicker extends FilePickerPlatform {
@override
Future<String> getDirectoryPath() async {
try {
return await _channel.invokeMethod('dir');
return await _channel.invokeMethod('dir', {});
} on PlatformException catch (ex) {
if (ex.code == "unknown_path") {
print(