diff -r 702ba9ffe210 -r d7abecc9d189 application/src/PodcastQueueView.cpp --- a/application/src/PodcastQueueView.cpp Sat Nov 13 15:05:16 2010 +0000 +++ b/application/src/PodcastQueueView.cpp Mon Nov 22 15:41:41 2010 +0000 @@ -31,6 +31,7 @@ #include #include #include +#include #define KMaxMessageLength 200 @@ -92,11 +93,12 @@ } } } - return CPodcastListView::OfferKeyEventL(aKeyEvent, aType); + return CPodcastShowsView::OfferKeyEventL(aKeyEvent, aType); } CPodcastQueueView::~CPodcastQueueView() { + DP("CPodcastQueueView::~CPodcastQueueView BEGIN"); iPodcastModel.ShowEngine().RemoveObserver(this); iPodcastModel.FeedEngine().RemoveObserver(this); } @@ -114,7 +116,7 @@ CPodcastListView::DoActivateL(aPrevViewId, aCustomMessageId, aCustomMessage); iPreviousView = aPrevViewId; - + UpdateViewTitleL(); UpdateFeedUpdateStateL(); DP("CPodcastQueueView::DoActivateL END"); } @@ -320,7 +322,7 @@ } break; default: - CPodcastListView::HandleCommandL(aCommand); + CPodcastShowsView::HandleCommandL(aCommand); break; } } @@ -336,6 +338,12 @@ aMenuPane->SetItemDimmed(EPodcastMoveDownloadDown, dimDown); aMenuPane->SetItemDimmed(EPodcastMoveDownloadUp, dimUp); + + TInt index = iListContainer->Listbox()->CurrentItemIndex(); + CShowInfo *info = iPodcastModel.ActiveShowList()[index]; + + aMenuPane->SetItemDimmed(EPodcastMarkAsPlayed, info->PlayState() != ENeverPlayed); + aMenuPane->SetItemDimmed(EPodcastMarkAsUnplayed, info->PlayState() == ENeverPlayed); } else if (aResourceId == R_PODCAST_QUEUEVIEW_MENU) { @@ -345,3 +353,14 @@ aMenuPane->SetItemDimmed(EPodcastResumeDownloads, !iPodcastModel.SettingsEngine().DownloadSuspended()); } } + + +void CPodcastQueueView::UpdateViewTitleL() + { + CAknTitlePane* titlePane = static_cast + ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); + + HBufC *title = iEikonEnv->AllocReadResourceLC(R_DOWNLOAD_QUEUE); + titlePane->SetTextL(*title); + CleanupStack::PopAndDestroy(title); + }