# HG changeset patch # User teknolog # Date 1267122412 0 # Node ID f6c975c3b702b85742dca6031e794164a47c5e92 # Parent 12110093952169da7a9c7f34af9f0fe89d76e74f Work to handle tabs in search view diff -r 121100939521 -r f6c975c3b702 application/inc/PodcastAppui.h --- a/application/inc/PodcastAppui.h Thu Feb 25 17:56:45 2010 +0000 +++ b/application/inc/PodcastAppui.h Thu Feb 25 18:26:52 2010 +0000 @@ -108,6 +108,7 @@ void UpdateQueueTab(TInt aQueueLength); void TabLeft(); void TabRight(); + void SetTabsVisibleL(TBool aVisible); private: // From MEikMenuObserver void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane); @@ -132,7 +133,7 @@ CAknNavigationDecorator* iNaviDecorator; CAknTabGroup* iTabGroup; CAknNavigationControlContainer* iNaviPane; - + TBool iTabsVisible; CTimeout* iStartTimer; }; diff -r 121100939521 -r f6c975c3b702 application/src/PodcastAppui.cpp --- a/application/src/PodcastAppui.cpp Thu Feb 25 17:56:45 2010 +0000 +++ b/application/src/PodcastAppui.cpp Thu Feb 25 18:26:52 2010 +0000 @@ -171,13 +171,18 @@ iTabGroup->SetObserver(this); iNaviPane->Pop(); - iNaviPane->PushL(*iNaviDecorator); + SetTabsVisibleL(ETrue); } void CPodcastAppUi::TabChangedL (TInt aIndex) { DP("CPodcastListView::TabChangedL "); + if (!iTabsVisible) + { + return; + } + TUid newview = TUid::Uid(0); TUid messageUid = TUid::Uid(0); @@ -226,6 +231,11 @@ void CPodcastAppUi::TabLeft() { + if (!iTabsVisible) + { + return; + } + TInt ati = iTabGroup->ActiveTabIndex(); if(ati > 0) { SetActiveTab(ati-1); @@ -235,10 +245,30 @@ void CPodcastAppUi::TabRight() { + if (!iTabsVisible) + { + return; + } + TInt ati = iTabGroup->ActiveTabIndex(); - if(ati < iTabGroup->TabCount()-1) { SetActiveTab(ati+1); TabChangedL(ati+1); } } + +void CPodcastAppUi::SetTabsVisibleL(TBool aVisible) + { + if (aVisible) + { + if(!iTabsVisible && iNaviDecorator) + { + iNaviPane->PushL(*iNaviDecorator); + } + } + else if (iTabsVisible) { + iNaviPane->Pop(iNaviDecorator); + } + + iTabsVisible=aVisible; + } diff -r 121100939521 -r f6c975c3b702 application/src/PodcastFeedView.cpp --- a/application/src/PodcastFeedView.cpp Thu Feb 25 17:56:45 2010 +0000 +++ b/application/src/PodcastFeedView.cpp Thu Feb 25 18:26:52 2010 +0000 @@ -177,7 +177,7 @@ UpdateToolbar(); CPodcastListView::DoActivateL(aPrevViewId, aCustomMessageId, aCustomMessage); - + if (iFirstActivateAfterLaunch) { iFirstActivateAfterLaunch = EFalse; @@ -918,6 +918,7 @@ } else { + ((CPodcastAppUi*)AppUi())->SetTabsVisibleL(EFalse); AppUi()->ActivateLocalViewL(KUidPodcastSearchViewID, TUid::Uid(0), KNullDesC8()); } iOpmlState = EOpmlIdle; diff -r 121100939521 -r f6c975c3b702 application/src/PodcastSearchView.cpp --- a/application/src/PodcastSearchView.cpp Thu Feb 25 17:56:45 2010 +0000 +++ b/application/src/PodcastSearchView.cpp Thu Feb 25 18:26:52 2010 +0000 @@ -147,6 +147,7 @@ CAknTitlePane* titlePane = static_cast ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); titlePane->SetTextToDefaultL(); + ((CPodcastAppUi*)AppUi())->SetTabsVisibleL(ETrue); }