showSaveDialog method

  1. @override
Future<String?> showSaveDialog({
  1. String? title,
  2. String? defaultName,
  3. List<String>? filters,
})
override

Show a save-file dialog. Returns the chosen path or null.

Implementation

@override
Future<String?> showSaveDialog({
  String? title,
  String? defaultName,
  List<String>? filters,
}) async {
  if (_platform == NativePlatform.macos) {
    final script = StringBuffer('choose file name');
    if (title != null) script.write(' with prompt "$title"');
    if (defaultName != null) script.write(' default name "$defaultName"');
    final result = await _runSimple('osascript', ['-e', script.toString()]);
    return result.trim().isEmpty ? null : result.trim();
  }
  return null;
}