application/src/PodcastAppui.cpp
changeset 11 f6c975c3b702
parent 2 29cda98b007e
child 13 f58e3c482bd9
--- 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;
+	}