diff --git a/lib/models/selected_files.dart b/lib/models/selected_files.dart index 37d6769ef..bc60095a9 100644 --- a/lib/models/selected_files.dart +++ b/lib/models/selected_files.dart @@ -5,7 +5,7 @@ import 'package:photos/events/clear_selections_event.dart'; import 'package:photos/models/file.dart'; class SelectedFiles extends ChangeNotifier { - final files = []; + final files = {}; final lastSelections = {}; void toggleSelection(File file) { diff --git a/lib/ui/collections_list_widget.dart b/lib/ui/collections_list_widget.dart index 4247b53e0..75157020c 100644 --- a/lib/ui/collections_list_widget.dart +++ b/lib/ui/collections_list_widget.dart @@ -424,7 +424,7 @@ class CollectionsListWidget extends StatelessWidget { await CollectionsService.instance.move( toCollectionID, fromCollectionID, - selectedFiles!.files, + selectedFiles!.files.toList(), ); await dialog.hide(); RemoteSyncService.instance.sync(silently: true); @@ -455,7 +455,7 @@ class CollectionsListWidget extends StatelessWidget { await dialog.show(); try { await CollectionsService.instance - .restore(toCollectionID, selectedFiles!.files); + .restore(toCollectionID, selectedFiles!.files.toList()); RemoteSyncService.instance.sync(silently: true); selectedFiles?.clearAll(); await dialog.hide(); diff --git a/lib/ui/viewer/actions/file_selection_actions_widget.dart b/lib/ui/viewer/actions/file_selection_actions_widget.dart index 63731820f..daa44d227 100644 --- a/lib/ui/viewer/actions/file_selection_actions_widget.dart +++ b/lib/ui/viewer/actions/file_selection_actions_widget.dart @@ -412,7 +412,7 @@ class _FileSelectionActionWidgetState extends State { Future _onCreateCollageClicked() async { final bool? result = await routeToPage( context, - CollageCreatorPage(widget.selectedFiles.files), + CollageCreatorPage(widget.selectedFiles.files.toList()), ); if (result != null && result) { widget.selectedFiles.clearAll(); @@ -502,7 +502,7 @@ class _FileSelectionActionWidgetState extends State { Future _permanentlyDelete() async { if (await deleteFromTrash( context, - widget.selectedFiles.files, + widget.selectedFiles.files.toList(), )) { widget.selectedFiles.clearAll(); } diff --git a/lib/ui/viewer/actions/file_selection_overlay_bar.dart b/lib/ui/viewer/actions/file_selection_overlay_bar.dart index d1cb3c29a..374585d82 100644 --- a/lib/ui/viewer/actions/file_selection_overlay_bar.dart +++ b/lib/ui/viewer/actions/file_selection_overlay_bar.dart @@ -104,7 +104,7 @@ class _FileSelectionOverlayBarState extends State { onTap: () async { if (await deleteFromTrash( context, - widget.selectedFiles.files, + widget.selectedFiles.files.toList(), )) { widget.selectedFiles.clearAll(); } @@ -120,7 +120,7 @@ class _FileSelectionOverlayBarState extends State { onTap: () => shareSelected( context, shareButtonKey, - widget.selectedFiles.files, + widget.selectedFiles.files.toList(), ), ), ); @@ -160,7 +160,7 @@ class _FileSelectionOverlayBarState extends State { Future _onUnArchiveClick() async { await changeVisibility( context, - widget.selectedFiles.files, + widget.selectedFiles.files.toList(), visibleVisibility, ); widget.selectedFiles.clearAll(); diff --git a/lib/utils/delete_file_util.dart b/lib/utils/delete_file_util.dart index 6542a0e0c..412f9656b 100644 --- a/lib/utils/delete_file_util.dart +++ b/lib/utils/delete_file_util.dart @@ -537,7 +537,7 @@ Future showDeleteSheet( onTap: () async { await deleteFilesFromRemoteOnly( context, - selectedFiles.files, + selectedFiles.files.toList(), ).then( (value) { showShortToast(context, S.of(context).movedToTrash); @@ -564,7 +564,7 @@ Future showDeleteSheet( shouldSurfaceExecutionStates: false, isInAlert: true, onTap: () async { - await deleteFilesOnDeviceOnly(context, selectedFiles.files); + await deleteFilesOnDeviceOnly(context, selectedFiles.files.toList()); }, ), ); @@ -583,7 +583,7 @@ Future showDeleteSheet( onTap: () async { await deleteFilesFromEverywhere( context, - selectedFiles.files, + selectedFiles.files.toList(), ); }, ),