openFile method

  1. @override
Future<XFile?> openFile({
  1. List<XTypeGroup>? acceptedTypeGroups,
  2. String? initialDirectory,
  3. String? confirmButtonText,
})

Opens a file dialog for loading files and returns a file path.

Returns null if the user cancels the operation.

Implementation

@override
Future<XFile?> openFile({
  List<XTypeGroup>? acceptedTypeGroups,
  String? initialDirectory,
  String? confirmButtonText,
}) async {
  final List<String?> paths =
      await _hostApi.displayOpenPanel(OpenPanelOptions(
          allowsMultipleSelection: false,
          canChooseDirectories: false,
          canChooseFiles: true,
          baseOptions: SavePanelOptions(
            allowedFileTypes: _allowedTypesFromTypeGroups(acceptedTypeGroups),
            directoryPath: initialDirectory,
            prompt: confirmButtonText,
          )));
  return paths.isEmpty ? null : XFile(paths.first!);
}