Give priority to image embedded in audio file if it exists

This commit is contained in:
Bart De Vries 2023-07-20 15:47:49 +02:00
parent 6579c3d10c
commit a77a312533
2 changed files with 16 additions and 11 deletions

View File

@ -262,6 +262,10 @@ void Enclosure::processDownloadedFile()
if (m_entry->getNew()) {
m_entry->setNew(false);
}
// Trigger update of image since the downloaded file can have an embedded image
Q_EMIT m_entry->imageChanged(m_entry->image());
Q_EMIT m_entry->cachedImageChanged(m_entry->cachedImage());
}
void Enclosure::deleteFile()

View File

@ -438,11 +438,11 @@ bool Entry::hasEnclosure() const
QString Entry::image() const
{
if (!m_image.isEmpty()) {
return m_image;
} else if (m_hasenclosure && !m_enclosure->cachedEmbeddedImage().isEmpty()) {
if (m_hasenclosure && !m_enclosure->cachedEmbeddedImage().isEmpty()) {
// use embedded image if available
return m_enclosure->cachedEmbeddedImage();
} else if (!m_image.isEmpty()) {
return m_image;
} else {
// else fall back to feed image
return m_feed->image();
@ -451,16 +451,17 @@ QString Entry::image() const
QString Entry::cachedImage() const
{
// First check for the feed image, fall back if needed
// First check for an image in the downloaded file
if (m_hasenclosure && !m_enclosure->cachedEmbeddedImage().isEmpty()) {
// use embedded image if available
return m_enclosure->cachedEmbeddedImage();
}
// Then check for the entry image, fall back if needed to feed image
QString image = m_image;
if (image.isEmpty()) {
if (m_hasenclosure && !m_enclosure->cachedEmbeddedImage().isEmpty()) {
// use embedded image if available
return m_enclosure->cachedEmbeddedImage();
} else {
// else fall back to feed image
image = m_feed->image();
}
// else fall back to feed image
image = m_feed->image();
}
return Fetcher::instance().image(image);