From 635f92f0c1c145a314b3dc41b1ef6c549620d567 Mon Sep 17 00:00:00 2001 From: MoonlightWave-12 <123384363+MoonlightWave-12@users.noreply.github.com> Date: Mon, 28 Apr 2025 12:02:01 +0200 Subject: [PATCH 1/5] fix: Show WebP-images with a file-extension written in lower-case when choosing an image to send. --- lib/utils/file_selector.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/utils/file_selector.dart b/lib/utils/file_selector.dart index 8cc5e7552..9dfc5bdfa 100644 --- a/lib/utils/file_selector.dart +++ b/lib/utils/file_selector.dart @@ -59,8 +59,8 @@ enum FileSelectorType { extensions: ['png', 'PNG'], ), XTypeGroup( - label: 'WEBP', - extensions: ['WebP', 'WEBP'], + label: 'WebP', + extensions: ['webp', 'WebP', 'WEBP'], ), XTypeGroup( label: 'GIF', From 0c277571546cde05707b2f97c13f565b7f890ceb Mon Sep 17 00:00:00 2001 From: MoonlightWave-12 <123384363+MoonlightWave-12@users.noreply.github.com> Date: Mon, 28 Apr 2025 12:30:42 +0200 Subject: [PATCH 2/5] feat: Show WebM-videos when choosing video-files for sending --- lib/utils/file_selector.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/utils/file_selector.dart b/lib/utils/file_selector.dart index 9dfc5bdfa..1b6dca6d7 100644 --- a/lib/utils/file_selector.dart +++ b/lib/utils/file_selector.dart @@ -92,6 +92,10 @@ enum FileSelectorType { label: 'MP4', extensions: ['mp4', 'MP4'], ), + XTypeGroup( + label: 'WebM', + extensions: ['webm', 'WebM', 'WEBM'], + ), XTypeGroup( label: 'AVI', extensions: ['avi', 'AVI'], From 380639496da72e267760837ad6a777448434d29f Mon Sep 17 00:00:00 2001 From: MoonlightWave-12 <123384363+MoonlightWave-12@users.noreply.github.com> Date: Mon, 28 Apr 2025 12:31:34 +0200 Subject: [PATCH 3/5] feat: Show all supported image-/video-files when sending images or videos --- lib/utils/file_selector.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/utils/file_selector.dart b/lib/utils/file_selector.dart index 1b6dca6d7..13910cabb 100644 --- a/lib/utils/file_selector.dart +++ b/lib/utils/file_selector.dart @@ -50,6 +50,10 @@ enum FileSelectorType { any([], FileType.any, null), images( [ + XTypeGroup( + label: 'Images', + extensions: ['jpg', 'JPG', 'jpeg', 'JPEG', 'png', 'PNG', 'webp', 'WebP', 'WEBP', 'gif', 'GIF', 'bmp', 'BMP', 'tiff', 'TIFF', 'tif', 'TIF', 'heic', 'HEIC', 'svg', 'SVG'], + ), XTypeGroup( label: 'JPG', extensions: ['jpg', 'JPG', 'jpeg', 'JPEG'], @@ -88,6 +92,10 @@ enum FileSelectorType { ), videos( [ + XTypeGroup( + label: 'Videos', + extensions: ['mp4', 'MP4', 'avi', 'AVI', 'webm', 'WebM', 'WEBM', 'mov', 'MOV', 'mkv', 'MKV', 'wmv', 'WMV', 'flv', 'FLV', 'mpeg', 'MPEG', '3gp', '3GP', 'ogg', 'OGG'], + ), XTypeGroup( label: 'MP4', extensions: ['mp4', 'MP4'], From c4226f3fcf63fa0c5edb784f9cf5be844bdb5fec Mon Sep 17 00:00:00 2001 From: MoonlightWave-12 <123384363+MoonlightWave-12@users.noreply.github.com> Date: Mon, 28 Apr 2025 13:47:06 +0200 Subject: [PATCH 4/5] fix: Change `PNGs` to `PNG` for consistency in file-selector for consistency. --- lib/utils/file_selector.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/utils/file_selector.dart b/lib/utils/file_selector.dart index 13910cabb..8cc9fbeac 100644 --- a/lib/utils/file_selector.dart +++ b/lib/utils/file_selector.dart @@ -59,7 +59,7 @@ enum FileSelectorType { extensions: ['jpg', 'JPG', 'jpeg', 'JPEG'], ), XTypeGroup( - label: 'PNGs', + label: 'PNG', extensions: ['png', 'PNG'], ), XTypeGroup( From 51449fc7244ce20a24de19814a3883e52bb9cb87 Mon Sep 17 00:00:00 2001 From: MoonlightWave-12 <123384363+MoonlightWave-12@users.noreply.github.com> Date: Mon, 5 May 2025 21:05:23 +0200 Subject: [PATCH 5/5] chore: Format lib/utils/file_selector.dart --- lib/utils/file_selector.dart | 145 ++++++++++++++++------------------- 1 file changed, 66 insertions(+), 79 deletions(-) diff --git a/lib/utils/file_selector.dart b/lib/utils/file_selector.dart index 8cc9fbeac..fd35891af 100644 --- a/lib/utils/file_selector.dart +++ b/lib/utils/file_selector.dart @@ -30,17 +30,11 @@ Future> selectFiles( if (allowMultiple) { return await AppLock.of(context).pauseWhile( - openFiles( - confirmButtonText: title, - acceptedTypeGroups: type.groups, - ), + openFiles(confirmButtonText: title, acceptedTypeGroups: type.groups), ); } final file = await AppLock.of(context).pauseWhile( - openFile( - confirmButtonText: title, - acceptedTypeGroups: type.groups, - ), + openFile(confirmButtonText: title, acceptedTypeGroups: type.groups), ); if (file == null) return []; return [file]; @@ -52,40 +46,44 @@ enum FileSelectorType { [ XTypeGroup( label: 'Images', - extensions: ['jpg', 'JPG', 'jpeg', 'JPEG', 'png', 'PNG', 'webp', 'WebP', 'WEBP', 'gif', 'GIF', 'bmp', 'BMP', 'tiff', 'TIFF', 'tif', 'TIF', 'heic', 'HEIC', 'svg', 'SVG'], + extensions: [ + 'jpg', + 'JPG', + 'jpeg', + 'JPEG', + 'png', + 'PNG', + 'webp', + 'WebP', + 'WEBP', + 'gif', + 'GIF', + 'bmp', + 'BMP', + 'tiff', + 'TIFF', + 'tif', + 'TIF', + 'heic', + 'HEIC', + 'svg', + 'SVG', + ], ), XTypeGroup( label: 'JPG', extensions: ['jpg', 'JPG', 'jpeg', 'JPEG'], ), - XTypeGroup( - label: 'PNG', - extensions: ['png', 'PNG'], - ), - XTypeGroup( - label: 'WebP', - extensions: ['webp', 'WebP', 'WEBP'], - ), - XTypeGroup( - label: 'GIF', - extensions: ['gif', 'GIF'], - ), - XTypeGroup( - label: 'BMP', - extensions: ['bmp', 'BMP'], - ), + XTypeGroup(label: 'PNG', extensions: ['png', 'PNG']), + XTypeGroup(label: 'WebP', extensions: ['webp', 'WebP', 'WEBP']), + XTypeGroup(label: 'GIF', extensions: ['gif', 'GIF']), + XTypeGroup(label: 'BMP', extensions: ['bmp', 'BMP']), XTypeGroup( label: 'TIFF', extensions: ['tiff', 'TIFF', 'tif', 'TIF'], ), - XTypeGroup( - label: 'HEIC', - extensions: ['heic', 'HEIC'], - ), - XTypeGroup( - label: 'SVG', - extensions: ['svg', 'SVG'], - ), + XTypeGroup(label: 'HEIC', extensions: ['heic', 'HEIC']), + XTypeGroup(label: 'SVG', extensions: ['svg', 'SVG']), ], FileType.image, null, @@ -94,58 +92,47 @@ enum FileSelectorType { [ XTypeGroup( label: 'Videos', - extensions: ['mp4', 'MP4', 'avi', 'AVI', 'webm', 'WebM', 'WEBM', 'mov', 'MOV', 'mkv', 'MKV', 'wmv', 'WMV', 'flv', 'FLV', 'mpeg', 'MPEG', '3gp', '3GP', 'ogg', 'OGG'], - ), - XTypeGroup( - label: 'MP4', - extensions: ['mp4', 'MP4'], - ), - XTypeGroup( - label: 'WebM', - extensions: ['webm', 'WebM', 'WEBM'], - ), - XTypeGroup( - label: 'AVI', - extensions: ['avi', 'AVI'], - ), - XTypeGroup( - label: 'MOV', - extensions: ['mov', 'MOV'], - ), - XTypeGroup( - label: 'MKV', - extensions: ['mkv', 'MKV'], - ), - XTypeGroup( - label: 'WMV', - extensions: ['wmv', 'WMV'], - ), - XTypeGroup( - label: 'FLV', - extensions: ['flv', 'FLV'], - ), - XTypeGroup( - label: 'MPEG', - extensions: ['mpeg', 'MPEG'], - ), - XTypeGroup( - label: '3GP', - extensions: ['3gp', '3GP'], - ), - XTypeGroup( - label: 'OGG', - extensions: ['ogg', 'OGG'], - ), + extensions: [ + 'mp4', + 'MP4', + 'avi', + 'AVI', + 'webm', + 'WebM', + 'WEBM', + 'mov', + 'MOV', + 'mkv', + 'MKV', + 'wmv', + 'WMV', + 'flv', + 'FLV', + 'mpeg', + 'MPEG', + '3gp', + '3GP', + 'ogg', + 'OGG', + ], + ), + XTypeGroup(label: 'MP4', extensions: ['mp4', 'MP4']), + XTypeGroup(label: 'WebM', extensions: ['webm', 'WebM', 'WEBM']), + XTypeGroup(label: 'AVI', extensions: ['avi', 'AVI']), + XTypeGroup(label: 'MOV', extensions: ['mov', 'MOV']), + XTypeGroup(label: 'MKV', extensions: ['mkv', 'MKV']), + XTypeGroup(label: 'WMV', extensions: ['wmv', 'WMV']), + XTypeGroup(label: 'FLV', extensions: ['flv', 'FLV']), + XTypeGroup(label: 'MPEG', extensions: ['mpeg', 'MPEG']), + XTypeGroup(label: '3GP', extensions: ['3gp', '3GP']), + XTypeGroup(label: 'OGG', extensions: ['ogg', 'OGG']), ], FileType.video, null, ), zip( [ - XTypeGroup( - label: 'ZIP', - extensions: ['zip', 'ZIP'], - ), + XTypeGroup(label: 'ZIP', extensions: ['zip', 'ZIP']), ], FileType.custom, ['zip', 'ZIP'],