diff -r 523e04129df6 -r 41d00e97e2f7 application/src/PodcastAppui.cpp --- a/application/src/PodcastAppui.cpp Thu Apr 01 11:39:23 2010 +0200 +++ b/application/src/PodcastAppui.cpp Thu Apr 01 11:41:33 2010 +0200 @@ -133,9 +133,8 @@ break; } case EPodcastHelp: - { - CArrayFix* buf = CPodcastAppUi::AppHelpContextL(); - HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), buf); + { + HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), HelpContextL()); } break; default: @@ -148,11 +147,15 @@ CArrayFixFlat* array = new(ELeave)CArrayFixFlat(1); CleanupStack::PushL(array); - // todo: view detection doesn't seem to work - if (ViewShown(KUidPodcastSearchViewID)) { + + if (iFeedView->IsVisible()) { + array->AppendL(TCoeHelpContext(KUidPodcast,KContextFeedsView)); + } else if (iShowsView->IsVisible()) { + array->AppendL(TCoeHelpContext(KUidPodcast,KContextShowsView)); + } else if (iQueueView->IsVisible()) { + array->AppendL(TCoeHelpContext(KUidPodcast,KContextDownloadQueue)); + } else { array->AppendL(TCoeHelpContext(KUidPodcast,KContextSettings)); - } else { - array->AppendL(TCoeHelpContext(KUidPodcast,KContextApplication)); } CleanupStack::Pop(array); @@ -202,7 +205,7 @@ iNaviPane->PushL(*iNaviTabGroup); iNaviStyle = ENaviTabGroup; - UpdateQueueTab(iPodcastModel->ShowEngine().GetNumDownloadingShows()); + UpdateQueueTabL(iPodcastModel->ShowEngine().GetNumDownloadingShows()); } void CPodcastAppUi::TabChangedL (TInt aIndex) @@ -213,14 +216,25 @@ { TUid newview = TUid::Uid(0); TUid messageUid = TUid::Uid(0); - - if (aIndex == KTabIdFeeds) { - newview = KUidPodcastFeedViewID; - } else if (aIndex == KTabIdQueue) { + if (aIndex == KTabIdFeeds) + { + if (iFeedView->ViewingShows()) + { + newview = KUidPodcastShowsViewID; + } + else + { + newview = KUidPodcastFeedViewID; + } + } + else if (aIndex == KTabIdQueue) + { newview = KUidPodcastQueueViewID; - } else { + } + else + { User::Leave(KErrTooBig); - } + } if(newview.iUid != 0) { @@ -236,12 +250,12 @@ } } -void CPodcastAppUi::HandleTimeout(const CTimeout& /*aId*/, TInt /*aError*/) +void CPodcastAppUi::HandleTimeoutL(const CTimeout& /*aId*/, TInt /*aError*/) { - iFeedView->CheckResumeDownload(); + iFeedView->CheckResumeDownloadL(); } -void CPodcastAppUi::UpdateQueueTab(TInt aQueueLength) +void CPodcastAppUi::UpdateQueueTabL(TInt aQueueLength) { if (iNaviStyle == ENaviTabGroup) { @@ -264,7 +278,7 @@ } } -void CPodcastAppUi::TabLeft() +void CPodcastAppUi::TabLeftL() { if (iNaviStyle == ENaviTabGroup) { @@ -277,7 +291,7 @@ } } -void CPodcastAppUi::TabRight() +void CPodcastAppUi::TabRightL() { if (iNaviStyle == ENaviTabGroup) {