diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py index b75149eb2..a947290f2 100644 --- a/picard/ui/coverartbox.py +++ b/picard/ui/coverartbox.py @@ -48,13 +48,17 @@ from picard import ( log, ) from picard.album import Album -from picard.cluster import FileList +from picard.cluster import ( + Cluster, + FileList, +) from picard.const import MAX_COVERS_TO_STACK from picard.coverart.image import ( CoverArtImage, CoverArtImageError, ) from picard.file import File +from picard.track import Track from picard.util import imageinfo from picard.util.lrucache import LRUCache @@ -277,10 +281,22 @@ class CoverArtThumbnail(ActiveLabel): def set_image_replace(obj, coverartimage): obj.metadata.images.strip_front_images() obj.metadata.images.append(coverartimage) + obj.metadata_images_changed.emit() def set_image_append(obj, coverartimage): obj.metadata.images.append(coverartimage) + obj.metadata_images_changed.emit() + + +def iter_file_parents(file): + parent = file.parent + if parent: + yield parent + if isinstance(parent, Track) and parent.album: + yield parent.album + elif isinstance(parent, Cluster) and parent.related_album: + yield parent.related_album HTML_IMG_SRC_REGEX = re.compile(r'