diff -r 3c0683f9f72c -r 3a22449b5c73 application/src/PodcastAppui.cpp --- a/application/src/PodcastAppui.cpp Wed Mar 10 10:50:53 2010 +0000 +++ b/application/src/PodcastAppui.cpp Fri Mar 12 09:53:46 2010 +0000 @@ -137,9 +137,8 @@ break; } case EPodcastHelp: - { - CArrayFix* buf = CPodcastAppUi::AppHelpContextL(); - HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), buf); + { + HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), HelpContextL()); } break; default: @@ -152,11 +151,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); @@ -217,14 +220,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) {