Bug 229391

Summary: No cover image for downloaded podcasts
Product: [Applications] amarok Reporter: Marcel Dischinger <mdspam>
Component: PodcastAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: normal CC: bart.cerneels, cody, missive
Priority: NOR    
Version: 2.3.1-GIT   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In: 2.3.2

Description Marcel Dischinger 2010-03-04 14:10:55 UTC
Version:           2.3-git (using KDE 4.3.4)
OS:                Linux
Installed from:    Debian testing/unstable Packages

For podcast episodes that are *not* downloaded, the cover image of the podcast is shown in the playlist as expected.
However, if I download a podcast episode and put it into the playlist, the cover image is not shown but the default image (the gray CD). If I remove the downloaded episode, the cover image is shown again in the playlist.
Comment 1 Myriam Schweingruber 2010-08-09 17:41:30 UTC
Still valid in latest git. The cover image is in the same folder as the episodes, so no reason it should not display.
Comment 2 Myriam Schweingruber 2010-08-12 00:16:09 UTC
*** Bug 231836 has been marked as a duplicate of this bug. ***
Comment 3 missive 2010-08-12 00:29:23 UTC
*** Bug 240249 has been marked as a duplicate of this bug. ***
Comment 4 Bart Cerneels 2010-08-29 13:05:35 UTC
commit 13dd2dd457ec68bdd98324fe1461a6f0b9e42b32
Author: Bart Cerneels <bart.cerneels@kde.org>
Date:   Sun Aug 29 13:05:02 2010 +0200

    Always use PodcastChannel image for episodes.
    
    BUG:229391

diff --git a/ChangeLog b/ChangeLog
index f9c41a0..0c6a404 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,7 @@ VERSION 2.3.2
     * Use system date/time format for default name when saving user playlists.
 
   BUGFIXES:
+    * Also use podcast channel image for downloaded episodes. (BR 229391)
     * Collection directories that were symlinks could end up storing the wrong
       absolute path, causing those files to be removed during incremental
       scans.
diff --git a/src/core-impl/podcasts/sql/SqlPodcastMeta.cpp b/src/core-impl/podcasts/sql/SqlPodcastMeta.cpp
index f1d6167..07ceae4 100644
--- a/src/core-impl/podcasts/sql/SqlPodcastMeta.cpp
+++ b/src/core-impl/podcasts/sql/SqlPodcastMeta.cpp
@@ -321,15 +321,6 @@ SqlPodcastEpisode::setTitle( const QString &title )
     m_title = title;
 }
 
-Meta::AlbumPtr
-SqlPodcastEpisode::album() const
-{
-    if( m_localFile.isNull() )
-        return m_albumPtr;
-
-    return m_localFile->album();
-}
-
 Meta::ArtistPtr
 SqlPodcastEpisode::artist() const
 {
diff --git a/src/core-impl/podcasts/sql/SqlPodcastMeta.h b/src/core-impl/podcasts/sql/SqlPodcastMeta.h
index 6409334..a6c95cf 100644
--- a/src/core-impl/podcasts/sql/SqlPodcastMeta.h
+++ b/src/core-impl/podcasts/sql/SqlPodcastMeta.h
@@ -64,7 +64,6 @@ class SqlPodcastEpisode : public Podcasts::PodcastEpisode
         virtual bool isEditable() const;
         virtual void finishedPlaying( double playedFraction );
 
-        virtual Meta::AlbumPtr album() const;
         virtual Meta::ArtistPtr artist() const;
         virtual Meta::ComposerPtr composer() const;
         virtual Meta::GenrePtr genre() const;
diff --git a/src/core/podcasts/PodcastImageFetcher.cpp b/src/core/podcasts/PodcastImageFetcher.cpp
index 15966a6..735b3d1 100644
--- a/src/core/podcasts/PodcastImageFetcher.cpp
+++ b/src/core/podcasts/PodcastImageFetcher.cpp
@@ -102,6 +102,7 @@ PodcastImageFetcher::run()
     {
         debug() << "Solid reports we are not online, canceling podcast image download";
         emit( done( this ) );
+        //TODO: schedule another run after Solid reports we are online again
         return;
     }