diff -r 9569ea080d5a -r 4d230e702aa3 application/src/PodcastShowsView.cpp --- a/application/src/PodcastShowsView.cpp Thu Mar 11 20:53:00 2010 +0100 +++ b/application/src/PodcastShowsView.cpp Tue Apr 27 19:26:48 2010 +0100 @@ -34,14 +34,6 @@ #define KMaxMessageLength 200 -#define KPodcastImageWidth 160 -#define KPodcastImageHeight 120 -#define KPodcastDialogOffset 2 - -#define KOneHundredPercent 100 - -const TInt KSizeBufLen = 64; -const TInt KDefaultGran = 5; _LIT(KSizeDownloadingOf, "%.1f/%.1f MB"); _LIT(KShowsSizeFormatS60, "%.1f MB"); @@ -69,10 +61,30 @@ EMbmPodcastAudio_failed_mask, EMbmPodcastAudio_suspended, EMbmPodcastAudio_suspended_mask, + EMbmPodcastVideo, + EMbmPodcastVideo_mask, + EMbmPodcastVideo_new, + EMbmPodcastVideo_new_mask, + EMbmPodcastVideo_queued, + EMbmPodcastVideo_queued_mask, + EMbmPodcastVideo_downloading, + EMbmPodcastVideo_downloading_mask, + EMbmPodcastVideo_downloaded, + EMbmPodcastVideo_downloaded_mask, + EMbmPodcastVideo_downloaded_new, + EMbmPodcastVideo_downloaded_new_mask, + EMbmPodcastVideo_failed, + EMbmPodcastVideo_failed_mask, + EMbmPodcastVideo_suspended, + EMbmPodcastVideo_suspended_mask, + EMbmPodcastFeed, + EMbmPodcastFeed_mask, 0, 0 }; +const TInt KVideoIconOffset = 8; + CPodcastShowsView* CPodcastShowsView::NewL(CPodcastModel& aPodcastModel) { CPodcastShowsView* self = CPodcastShowsView::NewLC(aPodcastModel); @@ -120,9 +132,9 @@ TInt pos = 0; while (KShowIconArrayIds[pos] > 0) { - // Load the bitmap for play icon - CFbsBitmap* bitmap= NULL;//iEikonEnv->CreateBitmapL( _L("*"), KIconArrayIds[pos]); - CFbsBitmap* mask= NULL;////iEikonEnv->CreateBitmapL( _L("*"), KIconArrayIds[pos+1] ); + // Load the icon + CFbsBitmap* bitmap= NULL; + CFbsBitmap* mask= NULL; AknIconUtils::CreateIconL(bitmap, mask, iEikonEnv->EikAppUi()->Application()->BitmapStoreName(), @@ -131,7 +143,7 @@ CleanupStack::PushL(bitmap); CleanupStack::PushL(mask); - // Append the play icon to icon array + // Append the icon to icon array icons->AppendL(CGulIcon::NewL(bitmap, mask) ); CleanupStack::Pop(2); // bitmap, mask pos+=2; @@ -203,12 +215,11 @@ TUid aCustomMessageId, const TDesC8& aCustomMessage) { DP("CPodcastShowsView::DoActivateL BEGIN"); + CPodcastListView::DoActivateL(aPrevViewId, aCustomMessageId, aCustomMessage); + + iPreviousView = TVwsViewId(KUidPodcast, KUidPodcastFeedViewID); UpdateViewTitleL(); - - CPodcastListView::DoActivateL(aPrevViewId, aCustomMessageId, aCustomMessage); - iPreviousView = TVwsViewId(KUidPodcast, KUidPodcastFeedViewID); - UpdateFeedUpdateStateL(); UpdateToolbar(); DP("CPodcastShowsView::DoActivateL END"); @@ -216,12 +227,6 @@ void CPodcastShowsView::DoDeactivate() { - CAknTitlePane* titlePane = static_cast - ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); - -// titlePane->SetSmallPicture(NULL, NULL, ETrue); - titlePane->SetPicture(NULL, NULL); - titlePane->SetTextToDefaultL(); CPodcastListView::DoDeactivate(); } @@ -269,7 +274,7 @@ { TBuf message; iEikonEnv->ReadResourceL(message, R_PODCAST_CONNECTION_ERROR); - ShowErrorMessage(message); + ShowErrorMessageL(message); } break; default: @@ -379,6 +384,11 @@ aIconIndex = EFailedShowIcon; break; } + + if (aShowInfo->ShowType() == EVideoPodcast) + { + aIconIndex += KVideoIconOffset; + } } @@ -439,9 +449,10 @@ if(aShowInfo.LastError() != KErrNone) { GetShowErrorText(infoSize, aShowInfo.LastError()); + showDate.Zero(); } - if (infoSize.Length() > 0) + if (infoSize.Length() > 0 && showDate.Length() > 0) { infoSize.Insert(0,_L(", ")); } @@ -451,7 +462,7 @@ void CPodcastShowsView::GetShowErrorText(TDes &aErrorMessage, TInt aErrorCode) { - iEikonEnv->GetErrorText(aErrorMessage, aErrorCode); + TRAP_IGNORE(((CPodcastAppUi*)AppUi())->GetErrorTextL(aErrorMessage,aErrorCode)); } void CPodcastShowsView::UpdateShowItemDataL(CShowInfo* aShowInfo,TInt aIndex, TInt aSizeDownloaded) @@ -563,17 +574,17 @@ switch (aCommand) { case EPodcastMarkAsPlayed: - HandleSetShowPlayed(ETrue); + HandleSetShowPlayedL(ETrue); break; case EPodcastMarkAsUnplayed: - HandleSetShowPlayed(EFalse); + HandleSetShowPlayedL(EFalse); break; case EPodcastMarkAllPlayed: - iPodcastModel.MarkSelectionPlayed(); + iPodcastModel.MarkSelectionPlayedL(); UpdateListboxItemsL(); break; case EPodcastDeleteShow: - HandleDeleteShow(); + HandleDeleteShowL(); break; case EPodcastDownloadShow: { @@ -614,7 +625,7 @@ CPodcastListView::HandleCommandL(aCommand); break; } - iListContainer->SetLongTapDetected(EFalse); + iListContainer->SetLongTapDetectedL(EFalse); UpdateToolbar(); } @@ -628,30 +639,6 @@ } } -void CPodcastShowsView::ImageOperationCompleteL(TInt aError, TUint /*aHandle*/) - { - iLastImageHandlerError = aError; - if(iSetTitlebarImage) - { - iSetTitlebarImage = EFalse; - if(aError == KErrNone) - { - CAknTitlePane* titlePane = static_cast - ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); - titlePane->SetSmallPicture(iPodcastModel.ImageHandler().ScaledBitmap(), NULL, ETrue); - } - else - { - iPodcastModel.ImageHandler().ScaledBitmap(); - } - - } - else - { - CActiveScheduler::Stop(); - } - } - void CPodcastShowsView::DisplayShowInfoDialogL() { TInt index = iListContainer->Listbox()->CurrentItemIndex(); @@ -683,8 +670,12 @@ toolbar->HideItem(EPodcastUpdateFeed, updatingState, ETrue ); toolbar->HideItem(EPodcastCancelUpdateAllFeeds, !updatingState, ETrue ); - -#ifdef SYMBIAN1_UI +#ifndef SYMBIAN1_UI + // there seems to be drawing bugs in the toolbar if there is only + // one or two buttons defined in the resource, so we have download + // there but always hidden + toolbar->HideItem(EPodcastDownloadShow, ETrue, ETrue ); +#else SYMBIAN1_UI RShowInfoArray &fItems = iPodcastModel.ActiveShowList(); TInt itemCnt = fItems.Count(); @@ -748,7 +739,7 @@ { DP("CPodcastShowsView::HandleLongTapEventL BEGIN"); - iListContainer->SetLongTapDetected(ETrue); + iListContainer->SetLongTapDetectedL(ETrue); const TInt KListboxDefaultHeight = 19; // for some reason it returns 19 for an empty listbox in S^1 TInt lbHeight = iListContainer->Listbox()->CalcHeightBasedOnNumOfItems( @@ -777,7 +768,7 @@ DP("CPodcastShowsView::HandleLongTapEventL END"); } -void CPodcastShowsView::HandleSetShowPlayed(TBool aPlayed) +void CPodcastShowsView::HandleSetShowPlayedL(TBool aPlayed) { TInt index = iListContainer->Listbox()->CurrentItemIndex(); @@ -786,13 +777,13 @@ { CShowInfo *info = iPodcastModel.ActiveShowList()[index]; info->SetPlayState(aPlayed ? EPlayed : ENeverPlayed); - iPodcastModel.ShowEngine().UpdateShow(*info); + iPodcastModel.ShowEngine().UpdateShowL(*info); UpdateShowItemDataL(iPodcastModel.ActiveShowList()[index], index, 0); iListContainer->Listbox()->DrawItem(index); } } -void CPodcastShowsView::HandleDeleteShow() +void CPodcastShowsView::HandleDeleteShowL() { TInt index = iListContainer->Listbox()->CurrentItemIndex(); @@ -803,7 +794,7 @@ TBuf templ; iEikonEnv->ReadResourceL(templ, R_PODCAST_DELETE_SHOW_PROMPT); msg.Format(templ, &(info->Title())); - if (ShowQueryMessage(msg)) + if (ShowQueryMessageL(msg)) { iPodcastModel.ShowEngine().DeleteShowL(iPodcastModel.ActiveShowList()[index]->Uid()); @@ -811,7 +802,7 @@ info->SetDownloadState(ENotDownloaded); info->SetPlayState(EPlayed); - iPodcastModel.ShowEngine().UpdateShow(*info); + iPodcastModel.ShowEngine().UpdateShowL(*info); UpdateShowItemDataL(iPodcastModel.ActiveShowList()[index], index, 0); iListContainer->Listbox()->DrawItem(index); @@ -821,7 +812,7 @@ void CPodcastShowsView::DownloadQueueUpdatedL(TInt aDownloadingShows, TInt aQueuedShows) { - ((CPodcastAppUi*)AppUi())->UpdateQueueTab(aDownloadingShows+aQueuedShows); + ((CPodcastAppUi*)AppUi())->UpdateQueueTabL(aDownloadingShows+aQueuedShows); UpdateListboxItemsL(); } @@ -855,7 +846,6 @@ } else { - titlePane->SetPicture(NULL, NULL); titlePane->SetTextToDefaultL(); }