|
@@ -57,6 +57,7 @@ class _LazyGroupGalleryState extends State<LazyGroupGallery> {
|
|
|
late Logger _logger;
|
|
|
|
|
|
late List<File> _files;
|
|
|
+ Set<File>? _filesAsSet;
|
|
|
late StreamSubscription<FilesUpdatedEvent>? _reloadEventSubscription;
|
|
|
late StreamSubscription<int> _currentIndexSubscription;
|
|
|
bool? _shouldRender;
|
|
@@ -89,6 +90,11 @@ class _LazyGroupGalleryState extends State<LazyGroupGallery> {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ Set<File> get _setOfFiles {
|
|
|
+ _filesAsSet ??= _files.toSet();
|
|
|
+ return _filesAsSet!;
|
|
|
+ }
|
|
|
+
|
|
|
bool _areAllFromGroupSelected() {
|
|
|
if (widget.selectedFiles != null &&
|
|
|
widget.selectedFiles!.files.length >= widget.files.length) {
|
|
@@ -204,7 +210,7 @@ class _LazyGroupGalleryState extends State<LazyGroupGallery> {
|
|
|
),
|
|
|
onTap: () {
|
|
|
widget.selectedFiles?.toggleGroupSelection(
|
|
|
- _files.toSet(),
|
|
|
+ _setOfFiles,
|
|
|
);
|
|
|
},
|
|
|
);
|
|
@@ -234,7 +240,7 @@ class _LazyGroupGalleryState extends State<LazyGroupGallery> {
|
|
|
void _selectedFilesListener() {
|
|
|
if (widget.selectedFiles == null) return;
|
|
|
_areAllFromGroupSelectedNotifer.value =
|
|
|
- widget.selectedFiles!.files.containsAll(widget.files.toSet());
|
|
|
+ widget.selectedFiles!.files.containsAll(_setOfFiles);
|
|
|
|
|
|
//Can remove this if we decide to show select all by default for all galleries
|
|
|
if (widget.selectedFiles!.files.isEmpty && !widget.showSelectAllByDefault) {
|