diff --git a/lib/model/source/collection_source.dart b/lib/model/source/collection_source.dart index eade5b709..cec81045a 100644 --- a/lib/model/source/collection_source.dart +++ b/lib/model/source/collection_source.dart @@ -338,13 +338,19 @@ abstract class CollectionSource with SourceBase, AlbumMixin, LocationMixin, TagM }); } - if (copy) { - addEntries(movedEntries); - } else { - cleanEmptyAlbums(fromAlbums); - if (moveType != MoveType.toBin) { + switch(moveType) { + case MoveType.copy: + addEntries(movedEntries); + break; + case MoveType.move: + case MoveType.export: + cleanEmptyAlbums(fromAlbums); addDirectories(destinationAlbums); - } + break; + case MoveType.toBin: + case MoveType.fromBin: + updateDerivedFilters(movedEntries); + break; } invalidateAlbumFilterSummary(directories: fromAlbums); _invalidate(movedEntries);