openFile method

Future<List<String>> openFile({
  1. String? title,
  2. List<DVFileFilter> filters = const <DVFileFilter>[],
  3. bool multiple = false,
  4. String? initialDirectory,
})

Paths the user picked; empty if they cancelled.

Implementation

Future<List<String>> openFile({
  String? title,
  List<DVFileFilter> filters = const <DVFileFilter>[],
  bool multiple = false,
  String? initialDirectory,
}) async {
  final Object? result = await DVNativeBridge.require<Object?>('dialogs.openFile', <String, Object?>{
    if (title != null) 'title': title,
    'filters': <Map<String, Object?>>[for (final DVFileFilter f in filters) f.toMap()],
    'multiple': multiple,
    if (initialDirectory != null) 'initialDirectory': initialDirectory,
  });
  if (result is Map && result['paths'] is List) {
    return <String>[for (final Object? p in result['paths']! as List) '$p'];
  }
  return const <String>[];
}