mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-26 01:23:58 +00:00
Reduce the number of metadata image updates when dropping an image
Disable/enable the update of images also before/after setting a dropped image
This commit is contained in:
@@ -85,6 +85,11 @@ class Album(DataObject, Item):
|
||||
for file in self.unmatched_files.iterfiles():
|
||||
yield file
|
||||
|
||||
def enable_update_metadata_images(self, enabled):
|
||||
self.update_metadata_images_enabled = enabled
|
||||
if enabled:
|
||||
self.update_metadata_images()
|
||||
|
||||
def append_album_artist(self, id):
|
||||
"""Append artist id to the list of album artists
|
||||
and return an AlbumArtist instance"""
|
||||
@@ -256,7 +261,7 @@ class Album(DataObject, Item):
|
||||
self._tracks_loaded = True
|
||||
|
||||
if not self._requests:
|
||||
self.update_metadata_images_enabled = False
|
||||
self.enable_update_metadata_images(False)
|
||||
# Prepare parser for user's script
|
||||
if config.setting["enable_tagger_scripts"]:
|
||||
for s_pos, s_name, s_enabled, s_text in config.setting["list_of_scripts"]:
|
||||
@@ -288,8 +293,8 @@ class Album(DataObject, Item):
|
||||
self.loaded = True
|
||||
self.status = None
|
||||
self.match_files(self.unmatched_files.files)
|
||||
self.update_metadata_images_enabled = True
|
||||
self.update()
|
||||
self.enable_update_metadata_images(True)
|
||||
self.tagger.window.set_statusbar_message(
|
||||
N_('Album %(id)s loaded: %(artist)s - %(album)s'),
|
||||
{
|
||||
|
||||
@@ -313,7 +313,7 @@ class CoverArtBox(QtGui.QGroupBox):
|
||||
return
|
||||
if isinstance(self.item, Album):
|
||||
album = self.item
|
||||
album.metadata.set_front_image(coverartimage)
|
||||
album.enable_update_metadata_images(False)
|
||||
for track in album.tracks:
|
||||
track.metadata.set_front_image(coverartimage)
|
||||
track.metadata_images_changed.emit()
|
||||
@@ -321,14 +321,17 @@ class CoverArtBox(QtGui.QGroupBox):
|
||||
file.metadata.set_front_image(coverartimage)
|
||||
file.metadata_images_changed.emit()
|
||||
file.update()
|
||||
album.enable_update_metadata_images(True)
|
||||
elif isinstance(self.item, Track):
|
||||
track = self.item
|
||||
track.album.enable_update_metadata_images(False)
|
||||
track.metadata.set_front_image(coverartimage)
|
||||
track.metadata_images_changed.emit()
|
||||
for file in track.iterfiles():
|
||||
file.metadata.set_front_image(coverartimage)
|
||||
file.metadata_images_changed.emit()
|
||||
file.update()
|
||||
track.album.enable_update_metadata_images(True)
|
||||
elif isinstance(self.item, File):
|
||||
file = self.item
|
||||
file.metadata.set_front_image(coverartimage)
|
||||
|
||||
Reference in New Issue
Block a user