Merge pull request #1981 from Decodetalkers/supportxdp

feat: support xdp selector for linux
pull/2139/head
Krille-chan 2 months ago committed by GitHub
commit c8d2bd8d0a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3,7 +3,6 @@ import 'package:flutter/widgets.dart';
import 'package:file_picker/file_picker.dart';
import 'package:file_selector/file_selector.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/app_lock.dart';
import 'package:fluffychat/widgets/future_loading_dialog.dart';
@ -13,31 +12,18 @@ Future<List<XFile>> selectFiles(
FileSelectorType type = FileSelectorType.any,
bool allowMultiple = false,
}) async {
if (!PlatformInfos.isLinux) {
final result = await AppLock.of(context).pauseWhile(
showFutureLoadingDialog(
context: context,
future: () => FilePicker.platform.pickFiles(
compressionQuality: 0,
allowMultiple: allowMultiple,
type: type.filePickerType,
allowedExtensions: type.extensions,
),
final result = await AppLock.of(context).pauseWhile(
showFutureLoadingDialog(
context: context,
future: () => FilePicker.platform.pickFiles(
compressionQuality: 0,
allowMultiple: allowMultiple,
type: type.filePickerType,
allowedExtensions: type.extensions,
),
);
return result.result?.xFiles ?? [];
}
if (allowMultiple) {
return await AppLock.of(context).pauseWhile(
openFiles(confirmButtonText: title, acceptedTypeGroups: type.groups),
);
}
final file = await AppLock.of(context).pauseWhile(
openFile(confirmButtonText: title, acceptedTypeGroups: type.groups),
),
);
if (file == null) return [];
return [file];
return result.result?.xFiles ?? [];
}
enum FileSelectorType {

@ -3,7 +3,6 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';
import 'package:file_selector/file_selector.dart';
import 'package:matrix/matrix.dart';
import 'package:share_plus/share_plus.dart';
import 'package:universal_html/html.dart' as html;
@ -20,18 +19,12 @@ extension MatrixFileExtension on MatrixFile {
return;
}
final downloadPath = !PlatformInfos.isMobile
? (await getSaveLocation(
suggestedName: name,
confirmButtonText: L10n.of(context).saveFile,
))
?.path
: await FilePicker.platform.saveFile(
dialogTitle: L10n.of(context).saveFile,
fileName: name,
type: filePickerFileType,
bytes: bytes,
);
final downloadPath = await FilePicker.platform.saveFile(
dialogTitle: L10n.of(context).saveFile,
fileName: name,
type: filePickerFileType,
bytes: bytes,
);
if (downloadPath == null) return;
if (PlatformInfos.isDesktop) {

Loading…
Cancel
Save