#639 keep showing empty albums if are pinned
This commit is contained in:
parent
94647a928b
commit
c56ab99315
5 changed files with 12 additions and 2 deletions
|
@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
### Changed
|
||||
|
||||
- keep showing empty albums if are pinned
|
||||
- remember whether to show the title filter when picking albums
|
||||
- upgraded Flutter to stable v3.10.0
|
||||
|
||||
|
|
|
@ -90,7 +90,11 @@ mixin AlbumMixin on SourceBase {
|
|||
}
|
||||
|
||||
bool _isRemovable(String album) {
|
||||
return !(visibleEntries.any((entry) => entry.directory == album) || _newAlbums.contains(album) || vaults.isVault(album));
|
||||
if (visibleEntries.any((entry) => entry.directory == album)) return false;
|
||||
if (_newAlbums.contains(album)) return false;
|
||||
if (vaults.isVault(album)) return false;
|
||||
if (settings.pinnedFilters.whereType<AlbumFilter>().map((v) => v.album).contains(album)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
// filter summary
|
||||
|
|
|
@ -292,7 +292,9 @@ abstract class CollectionSource with SourceBase, AlbumMixin, CountryMixin, Place
|
|||
settings.drawerAlbumBookmarks = settings.drawerAlbumBookmarks?..insert(bookmark, destinationAlbum);
|
||||
}
|
||||
if (pinned) {
|
||||
settings.pinnedFilters = settings.pinnedFilters..add(newFilter);
|
||||
settings.pinnedFilters = settings.pinnedFilters
|
||||
..remove(oldFilter)
|
||||
..add(newFilter);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import 'package:aves/model/covers.dart';
|
|||
import 'package:aves/model/entry/entry.dart';
|
||||
import 'package:aves/model/entry/origins.dart';
|
||||
import 'package:aves/model/favourites.dart';
|
||||
import 'package:aves/model/filters/album.dart';
|
||||
import 'package:aves/model/settings/settings.dart';
|
||||
import 'package:aves/model/source/analysis_controller.dart';
|
||||
import 'package:aves/model/source/collection_source.dart';
|
||||
|
@ -34,6 +35,7 @@ class MediaStoreSource extends CollectionSource {
|
|||
if (_initState != SourceInitializationState.full) {
|
||||
_initState = directory != null ? SourceInitializationState.directory : SourceInitializationState.full;
|
||||
}
|
||||
addDirectories(albums: settings.pinnedFilters.whereType<AlbumFilter>().map((v) => v.album).toSet());
|
||||
unawaited(_loadEntries(
|
||||
analysisController: analysisController,
|
||||
directory: directory,
|
||||
|
|
|
@ -320,6 +320,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate<AlbumFilter> with
|
|||
);
|
||||
if (confirmed == null || !confirmed) return;
|
||||
|
||||
settings.pinnedFilters = settings.pinnedFilters..removeAll(filters);
|
||||
source.forgetNewAlbums(todoAlbums);
|
||||
source.cleanEmptyAlbums(emptyAlbums);
|
||||
|
||||
|
|
Loading…
Reference in a new issue