diff -r 702ba9ffe210 -r d7abecc9d189 application/src/PodcastFeedView.cpp --- a/application/src/PodcastFeedView.cpp Sat Nov 13 15:05:16 2010 +0000 +++ b/application/src/PodcastFeedView.cpp Mon Nov 22 15:41:41 2010 +0000 @@ -113,11 +113,13 @@ CPodcastFeedView::~CPodcastFeedView() { + DP("CPodcastFeedView::~CPodcastFeedView BEGIN"); iPodcastModel.FeedEngine().RemoveObserver(this); delete iFeedsFormat; delete iNeverUpdated; delete iUpdater; iFeedIdForIconArray.Close(); + DP("CPodcastFeedView::~CPodcastFeedView END"); } void CPodcastFeedView::UpdateItemL(TInt aIndex) @@ -132,7 +134,7 @@ iItemIdArray[aIndex] = sortedItems[aIndex]->Uid(); // Prepare data to update the listbox item with - FormatFeedInfoListBoxItemL(*sortedItems[aIndex], EFalse); + FormatFeedInfoListBoxItemL(*sortedItems[aIndex], sortedItems[aIndex]->Uid() == iFeedUpdating); // If nothing has changed, we are done here if (iListboxFormatbuffer == iItemArray->MdcaPoint(aIndex)) @@ -170,6 +172,7 @@ DP("CPodcastFeedView::DoActivateL BEGIN"); CPodcastListView::DoActivateL(aPrevViewId, aCustomMessageId, aCustomMessage); + iPodcastModel.ShowEngine().ExpireOldShows(); if (aPrevViewId.iViewUid == KUidPodcastShowsViewID) { // back key from shows view @@ -322,7 +325,7 @@ void CPodcastFeedView::FormatFeedInfoListBoxItemL(CFeedInfo& aFeedInfo, TBool aIsUpdating) { - DP("CPodcastFeedView::FormatFeedInfoListBoxItemL BEGIN"); +// DP("CPodcastFeedView::FormatFeedInfoListBoxItemL BEGIN"); TBuf updatedDate; TBuf unplayedShows; TUint unplayedCount = 0; @@ -374,7 +377,7 @@ } iconIndex = iFeedIdForIconArray.Find(aFeedInfo.Uid()); - DP1(" iconIndex = %d", iconIndex); +// DP1(" iconIndex = %d", iconIndex); if(iconIndex == KErrNotFound && aFeedInfo.FeedIcon() != NULL && aFeedInfo.ImageFileName().Length() > 0 && aFeedInfo.FeedIcon()->SizeInPixels().iHeight > 0 && aFeedInfo.FeedIcon()->SizeInPixels().iWidth > 0) @@ -402,7 +405,7 @@ } iListboxFormatbuffer.Format(KFeedFormat(), iconIndex, &(aFeedInfo.Title()), &updatedDate, &unplayedShows); - DP("CPodcastFeedView::FormatFeedInfoListBoxItemL END"); +// DP("CPodcastFeedView::FormatFeedInfoListBoxItemL END"); } void CPodcastFeedView::ImageOperationCompleteL(TInt aError, TUint aHandle, CPodcastModel& /*aPodcastModel*/) @@ -512,6 +515,9 @@ case EPodcastEditFeed: HandleEditFeedL(); break; + case EPodcastShowInfo: + DisplayFeedInfoDialogL(); + break; case EPodcastDeleteFeedHardware: case EPodcastDeleteFeed: HandleRemoveFeedL(); @@ -531,9 +537,6 @@ iPodcastModel.FeedEngine().CancelUpdateAllFeeds(); } }break; - case EPodcastShowInfo: - DisplayFeedInfoDialogL(); - break; default: CPodcastListView::HandleCommandL(aCommand); break; @@ -593,7 +596,7 @@ void CPodcastFeedView::ShowItem(TUint aUid) { TInt listIndex = -1; - for (TUint i=0;i 0 && !iPodcastModel.SettingsEngine().DownloadSuspended()) + { + TBuf<256> msg; + iEikonEnv->ReadResourceL(msg, R_EXIT_SHOWS_DOWNLOADING); + + if (!ShowQueryMessageL(msg)) + { + return; + } + } + + AppUi()->Exit(); + } + void CPodcastFeedView::OpmlParsingComplete(TInt aError, TUint aNumFeedsImported) { TRAP_IGNORE(OpmlParsingCompleteL(aError, aNumFeedsImported)); @@ -996,29 +1022,6 @@ } } -void CPodcastFeedView::CheckConfirmExit() - { - DP("CPodcastFeedView::CheckConfirmExit"); - RShowInfoArray showsDownloading; - iPodcastModel.ShowEngine().GetShowsDownloadingL(showsDownloading); - TUint count = showsDownloading.Count(); - showsDownloading.ResetAndDestroy(); - showsDownloading.Close(); - - if (count > 0 && !iPodcastModel.SettingsEngine().DownloadSuspended()) - { - TBuf<256> msg; - iEikonEnv->ReadResourceL(msg, R_EXIT_SHOWS_DOWNLOADING); - - if (!ShowQueryMessageL(msg)) - { - return; - } - } - - AppUi()->Exit(); - } - TKeyResponse CPodcastFeedView::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) { if (aType == EEventKey) @@ -1028,6 +1031,10 @@ case EKeyDelete: HandleCommandL(EPodcastDeleteFeedHardware); break; + case 106: + case '#': + HandleCommandL(EPodcastShowInfo); + break; default: break; }