mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 15:57:25 +00:00
Update selectAll method to handle search mode for selecting comics. Close #359
This commit is contained in:
@@ -155,16 +155,33 @@ class _LocalFavoritesPageState extends State<_LocalFavoritesPage> {
|
||||
|
||||
void selectAll() {
|
||||
setState(() {
|
||||
selectedComics = comics.asMap().map((k, v) => MapEntry(v, true));
|
||||
if (searchMode) {
|
||||
selectedComics = searchResults.asMap().map((k, v) => MapEntry(v, true));
|
||||
} else {
|
||||
selectedComics = comics.asMap().map((k, v) => MapEntry(v, true));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void invertSelection() {
|
||||
setState(() {
|
||||
comics.asMap().forEach((k, v) {
|
||||
selectedComics[v] = !selectedComics.putIfAbsent(v, () => false);
|
||||
});
|
||||
selectedComics.removeWhere((k, v) => !v);
|
||||
if (searchMode) {
|
||||
for (var c in searchResults) {
|
||||
if (selectedComics.containsKey(c)) {
|
||||
selectedComics.remove(c);
|
||||
} else {
|
||||
selectedComics[c] = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (var c in comics) {
|
||||
if (selectedComics.containsKey(c)) {
|
||||
selectedComics.remove(c);
|
||||
} else {
|
||||
selectedComics[c] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user