mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-27 10:03:59 +00:00
Update album images when an album is to be shown
When a user drops different images to be used as covers of different tracks of the same album, the album's metadata.images list didn't reflect these changes. This commit updates the list of images so CoverArtBox always shows the correct values
This commit is contained in:
@@ -557,6 +557,19 @@ class Album(DataObject, Item):
|
||||
self.tagger.albums[mbid] = self
|
||||
self.load(priority=True, refresh=True)
|
||||
|
||||
def update_metadata_images(self):
|
||||
new_images = []
|
||||
for track in self.tracks:
|
||||
for file in list(track.linked_files):
|
||||
for image in file.metadata.images:
|
||||
if image not in new_images:
|
||||
new_images.append(image)
|
||||
for file in list(self.unmatched_files.files):
|
||||
for image in file.metadata.images:
|
||||
if image not in new_images:
|
||||
new_images.append(image)
|
||||
self.metadata.images = new_images
|
||||
|
||||
|
||||
class NatAlbum(Album):
|
||||
|
||||
|
||||
@@ -952,6 +952,10 @@ class MainWindow(QtGui.QMainWindow):
|
||||
}
|
||||
self.set_statusbar_message(msg, mparms, echo=None,
|
||||
history=None)
|
||||
elif isinstance(obj, Album):
|
||||
obj.update_metadata_images()
|
||||
metadata = obj.metadata
|
||||
orig_metadata = obj.orig_metadata
|
||||
elif obj.can_edit_tags():
|
||||
metadata = obj.metadata
|
||||
|
||||
|
||||
Reference in New Issue
Block a user