collection: refresh when hiding filter
This commit is contained in:
parent
f51d9ef14f
commit
79e2c857b9
2 changed files with 10 additions and 0 deletions
|
@ -45,6 +45,7 @@ class CollectionLens with ChangeNotifier, CollectionActivityMixin {
|
|||
_subscriptions.add(source.eventBus.on<EntryAddedEvent>().listen((e) => onEntryAdded(e.entries)));
|
||||
_subscriptions.add(source.eventBus.on<EntryRemovedEvent>().listen((e) => onEntryRemoved(e.entries)));
|
||||
_subscriptions.add(source.eventBus.on<EntryMovedEvent>().listen((e) => _refresh()));
|
||||
_subscriptions.add(source.eventBus.on<FilterVisibilityChangedEvent>().listen((e) => _refresh()));
|
||||
_subscriptions.add(source.eventBus.on<CatalogMetadataChangedEvent>().listen((e) => _refresh()));
|
||||
_subscriptions.add(source.eventBus.on<AddressMetadataChangedEvent>().listen((e) {
|
||||
if (this.filters.any((filter) => filter is LocationFilter)) {
|
||||
|
|
|
@ -248,6 +248,8 @@ abstract class CollectionSource with SourceBase, AlbumMixin, LocationMixin, TagM
|
|||
updateLocations();
|
||||
updateTags();
|
||||
|
||||
eventBus.fire(FilterVisibilityChangedEvent(filter, visible));
|
||||
|
||||
if (visible) {
|
||||
refreshMetadata(visibleEntries.where(filter.test).toSet());
|
||||
}
|
||||
|
@ -274,6 +276,13 @@ class EntryMovedEvent {
|
|||
const EntryMovedEvent(this.entries);
|
||||
}
|
||||
|
||||
class FilterVisibilityChangedEvent {
|
||||
final CollectionFilter filter;
|
||||
final bool visible;
|
||||
|
||||
const FilterVisibilityChangedEvent(this.filter, this.visible);
|
||||
}
|
||||
|
||||
class ProgressEvent {
|
||||
final int done, total;
|
||||
|
||||
|
|
Loading…
Reference in a new issue