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 a49147990a
commit 84179be834
2 changed files with 16 additions and 11 deletions

View File

@ -262,6 +262,10 @@ void Enclosure::processDownloadedFile()
if (m_entry->getNew()) { if (m_entry->getNew()) {
m_entry->setNew(false); 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() void Enclosure::deleteFile()

View File

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