mirror of
https://gitlab.com/nkming2/nc-photos.git
synced 2025-03-24 16:04:43 +01:00
Avoid potential copying of item list
This commit is contained in:
parent
4fb6c022d2
commit
c04c9ae7b0
5 changed files with 11 additions and 9 deletions
|
@ -278,7 +278,8 @@ class _AlbumViewerState extends State<AlbumViewer>
|
||||||
"[_transformItems] Unsupported file format: ${f.contentType}");
|
"[_transformItems] Unsupported file format: ${f.contentType}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}();
|
}()
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _shouldPropagateResyncedAlbum(Album album) {
|
bool _shouldPropagateResyncedAlbum(Album album) {
|
||||||
|
|
|
@ -280,7 +280,8 @@ class _ArchiveViewerState extends State<ArchiveViewer>
|
||||||
"[_transformItems] Unsupported file format: ${f.contentType}");
|
"[_transformItems] Unsupported file format: ${f.contentType}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}();
|
}()
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _reqQuery() {
|
void _reqQuery() {
|
||||||
|
|
|
@ -402,7 +402,8 @@ class _DynamicAlbumViewerState extends State<DynamicAlbumViewer>
|
||||||
"[_onBackingFilesUpdated] Unsupported file format: ${f.contentType}");
|
"[_onBackingFilesUpdated] Unsupported file format: ${f.contentType}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}();
|
}()
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
Album _album;
|
Album _album;
|
||||||
|
|
|
@ -483,7 +483,8 @@ class _HomePhotosState extends State<HomePhotos>
|
||||||
"[_transformItems] Unsupported file format: ${f.contentType}");
|
"[_transformItems] Unsupported file format: ${f.contentType}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}();
|
}()
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _reqQuery() {
|
void _reqQuery() {
|
||||||
|
|
|
@ -78,13 +78,11 @@ mixin SelectableItemStreamListMixin<T extends StatefulWidget> on State<T> {
|
||||||
List<SelectableItem> get itemStreamListItems => UnmodifiableListView(_items);
|
List<SelectableItem> get itemStreamListItems => UnmodifiableListView(_items);
|
||||||
|
|
||||||
@protected
|
@protected
|
||||||
set itemStreamListItems(Iterable<SelectableItem> newItems) {
|
set itemStreamListItems(List<SelectableItem> newItems) {
|
||||||
final lastSelectedItem =
|
final lastSelectedItem =
|
||||||
_lastSelectPosition != null ? _items[_lastSelectPosition] : null;
|
_lastSelectPosition != null ? _items[_lastSelectPosition] : null;
|
||||||
|
|
||||||
_items.clear();
|
_items = newItems;
|
||||||
_items.addAll(newItems);
|
|
||||||
|
|
||||||
_transformSelectedItems();
|
_transformSelectedItems();
|
||||||
|
|
||||||
// Keep _lastSelectPosition if no changes, drop otherwise
|
// Keep _lastSelectPosition if no changes, drop otherwise
|
||||||
|
@ -216,7 +214,7 @@ mixin SelectableItemStreamListMixin<T extends StatefulWidget> on State<T> {
|
||||||
int _lastSelectPosition;
|
int _lastSelectPosition;
|
||||||
bool _isRangeSelectionMode = false;
|
bool _isRangeSelectionMode = false;
|
||||||
|
|
||||||
final _items = <SelectableItem>[];
|
var _items = <SelectableItem>[];
|
||||||
final _selectedItems = <SelectableItem>{};
|
final _selectedItems = <SelectableItem>{};
|
||||||
|
|
||||||
final _listKey = GlobalKey();
|
final _listKey = GlobalKey();
|
||||||
|
|
Loading…
Add table
Reference in a new issue