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<EntryAddedEvent>().listen((e) => onEntryAdded(e.entries)));
|
||||||
_subscriptions.add(source.eventBus.on<EntryRemovedEvent>().listen((e) => onEntryRemoved(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<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<CatalogMetadataChangedEvent>().listen((e) => _refresh()));
|
||||||
_subscriptions.add(source.eventBus.on<AddressMetadataChangedEvent>().listen((e) {
|
_subscriptions.add(source.eventBus.on<AddressMetadataChangedEvent>().listen((e) {
|
||||||
if (this.filters.any((filter) => filter is LocationFilter)) {
|
if (this.filters.any((filter) => filter is LocationFilter)) {
|
||||||
|
|
|
@ -248,6 +248,8 @@ abstract class CollectionSource with SourceBase, AlbumMixin, LocationMixin, TagM
|
||||||
updateLocations();
|
updateLocations();
|
||||||
updateTags();
|
updateTags();
|
||||||
|
|
||||||
|
eventBus.fire(FilterVisibilityChangedEvent(filter, visible));
|
||||||
|
|
||||||
if (visible) {
|
if (visible) {
|
||||||
refreshMetadata(visibleEntries.where(filter.test).toSet());
|
refreshMetadata(visibleEntries.where(filter.test).toSet());
|
||||||
}
|
}
|
||||||
|
@ -274,6 +276,13 @@ class EntryMovedEvent {
|
||||||
const EntryMovedEvent(this.entries);
|
const EntryMovedEvent(this.entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FilterVisibilityChangedEvent {
|
||||||
|
final CollectionFilter filter;
|
||||||
|
final bool visible;
|
||||||
|
|
||||||
|
const FilterVisibilityChangedEvent(this.filter, this.visible);
|
||||||
|
}
|
||||||
|
|
||||||
class ProgressEvent {
|
class ProgressEvent {
|
||||||
final int done, total;
|
final int done, total;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue