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:
Antonio Larrosa
2017-02-16 23:50:09 +01:00
parent 14e2639e1a
commit b4bfaed65f
2 changed files with 17 additions and 0 deletions

View File

@@ -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):

View File

@@ -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