diff -r 64ed1227e68d -r a6046405f1aa application/src/PodcastQueueView.cpp --- a/application/src/PodcastQueueView.cpp Thu Mar 04 19:46:25 2010 +0000 +++ b/application/src/PodcastQueueView.cpp Thu Mar 04 22:06:39 2010 +0000 @@ -305,29 +305,32 @@ void CPodcastQueueView::GetShowIcons(CShowInfo* aShowInfo, TInt& aIconIndex) { TBool dlStop = iPodcastModel.SettingsEngine().DownloadSuspended(); - TUint showDownloadingUid = iPodcastModel.ShowEngine().ShowDownloading() ? iPodcastModel.ShowEngine().ShowDownloading()->Uid() : 0; - - if (showDownloadingUid == aShowInfo->Uid()) - { - aIconIndex = dlStop ? ESuspendedShowIcon : EDownloadingShowIcon; - } - else + + switch (aShowInfo->DownloadState()) { - switch (aShowInfo->DownloadState()) - { - case EQueued: - aIconIndex = dlStop ? ESuspendedShowIcon : EQuedShowIcon; - break; - case EDownloading: - aIconIndex = dlStop ? ESuspendedShowIcon : EDownloadingShowIcon; - break; - case EFailedDownload: - aIconIndex = EFailedShowIcon; - break; - default: - DP("Wrong download state for queue view!"); - break; + case EDownloaded: + if (aShowInfo->PlayState() == ENeverPlayed) { + aIconIndex = EDownloadedNewShowIcon; + } else { + aIconIndex = EDownloadedShowIcon; } + break; + case ENotDownloaded: + if (aShowInfo->PlayState() == ENeverPlayed) { + aIconIndex = ENewShowIcon; + } else { + aIconIndex = EShowIcon; + } + break; + case EQueued: + aIconIndex = dlStop ? ESuspendedShowIcon : EQuedShowIcon; + break; + case EDownloading: + aIconIndex = dlStop ? ESuspendedShowIcon : EDownloadingShowIcon; + break; + case EFailedDownload: + aIconIndex = EFailedShowIcon; + break; } }