With #567 support for customizable toolbars was added.
This commit changes the set_tab_order function to correspond with the
custom toolbar layout dynamically.
See: https://tickets.metabrainz.org/browse/PICARD-1011
Earlier when the display for Cover art box was toggled, it only
hid the cover art box on trigger. On selection update a
super().show() was called which again caused the cover art box to be
visible. This fixes the flawed display logic due to PR#643.
See: https://tickets.metabrainz.org/browse/PICARD-1010
Add a constant to hold the maximum number of covers to draw in a stack.
Extract html tags out of a translated message.
Reformat an if expression to move overators to front.
Remove an unneeded comment.
If all tracks/files have a common set of images, show the stack
of cover art images as usual. If any track/file has a different
set of images, the front image is painted with a darkgoldenrod glow
(the same color used for the MetadataBox for tags with different values).
Also, fixed the draw of the stack so the bottom cover is drawn
correctly.
Add a signal to Files/Tracks that gets emitted when the images
change (or might have changed), and update the album's metadata images
on such signals instead of each time the album is selected in the
user interface.
In order to fix tracks without files not having the info button
available, I changed it to allow 0, 1 or multiple files.
If the track doesn't have any linked file, only the cover art is shown
(if available). If the track has n files, the info tab shows information
from the all the files.
I changed it in e9fa6c887f94306c1aee3f3eb90f9db05951cb97 so a track
is passed to that function some times, so better reflect that in
the variable name too.
This commit implements a LRU cache for generated pixmaps so they're not
generated each time the function is called (saving a lot of I/O and
CPU). The cache is shared by cover_art and orig_cover_art objects
and currently is configured to contain a maximum of 40 pixmaps.
When the tracks of an album change their original images (for example,
because the tracks are saved and the original images change) then
them album also has to update its original images
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
Now CoverArtThumbnails uses all images in metadata to draw a stack
of covers so when a release contains files with different
original metadata covers that will be overwritten, the user
can intuitively see that.