mediasettings/gsvideoplugin/src/GSMediaPlayerStreamingView.cpp
branchRCL_3
changeset 8 ce5ada96ab30
parent 1 6711b85517b7
--- a/mediasettings/gsvideoplugin/src/GSMediaPlayerStreamingView.cpp	Fri Feb 19 22:52:52 2010 +0200
+++ b/mediasettings/gsvideoplugin/src/GSMediaPlayerStreamingView.cpp	Fri Mar 12 15:43:00 2010 +0200
@@ -15,7 +15,7 @@
 */
 
 
-// Version : %version: 8 %
+// Version : %version: 10 %
 
 
 
@@ -41,11 +41,6 @@
 
 class CMPSettingsModelForROP;
 
-// CONSTANTS
-
-const   TInt    KMPSettProxyViewListItemId  =   0;
-const   TInt    KMPSettNetworkViewListItemId  =   1;
-
 // ================= MEMBER FUNCTIONS =======================
 
 // -----------------------------------------------------------------------------
@@ -54,7 +49,9 @@
 // might leave.
 // -----------------------------------------------------------------------------
 //
-CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView(CMPSettingsModelForROP* aModel, CArrayPtrFlat<MGSTabbedView>* /* aTabViewArray */ ) 
+CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView(
+        CMPSettingsModelForROP* aModel, 
+        CArrayPtrFlat<MGSTabbedView>* /* aTabViewArray */ ) 
 	: iModel( aModel)
     {
     MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView()");
@@ -67,10 +64,13 @@
 //
 void CGSMediaPlayerStreamingView::ConstructL(CArrayPtrFlat<MGSTabbedView>* aTabViewArray)
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::ConstructL()");
-		iTabHelper = CGSTabHelper::NewL();
-		aTabViewArray->AppendL(this);
-		BaseConstructL(R_GS_MPSETT_STREAMING_VIEW);
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::ConstructL()");
+    if ( aTabViewArray )
+        {
+        iTabHelper = CGSTabHelper::NewL();
+        aTabViewArray->AppendL(this);
+        }
+    BaseConstructL( R_GS_MPSETT_STREAMING_VIEW );
     }
 
 // -----------------------------------------------------------------------------
@@ -78,15 +78,17 @@
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
 //
-CGSMediaPlayerStreamingView* CGSMediaPlayerStreamingView::NewLC(CMPSettingsModelForROP* aModel, CArrayPtrFlat<MGSTabbedView>* aTabViewArray)
+CGSMediaPlayerStreamingView* CGSMediaPlayerStreamingView::NewLC(
+        CMPSettingsModelForROP* aModel, 
+        CArrayPtrFlat<MGSTabbedView>* aTabViewArray )
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewLC()");
-		CGSMediaPlayerStreamingView* self = new(ELeave) CGSMediaPlayerStreamingView(aModel,aTabViewArray);
-    
-		CleanupStack::PushL(self);
-		self->ConstructL( aTabViewArray );
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewLC()");
+    CGSMediaPlayerStreamingView* self = new(ELeave) CGSMediaPlayerStreamingView(aModel,aTabViewArray);
 
-		return self;
+    CleanupStack::PushL(self);
+    self->ConstructL( aTabViewArray );
+
+    return self;
     }
 
 // ---------------------------------------------------------
@@ -96,14 +98,14 @@
 //
 CGSMediaPlayerStreamingView::~CGSMediaPlayerStreamingView()
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::~CGSMediaPlayerStreamingView()");
-	    if ( iContainer )
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::~CGSMediaPlayerStreamingView()");
+    if ( iContainer )
         {
         AppUi()->RemoveFromStack( iContainer );
         delete iContainer;
         }
-	    delete iTabHelper;    
-    }
+    delete iTabHelper;    
+}
 
 // ---------------------------------------------------------
 // TUid CGSMediaPlayerStreamingView::Id
@@ -111,8 +113,8 @@
 //
 TUid CGSMediaPlayerStreamingView::Id() const
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Id()");
-	    return KMPSettStreamingViewId;
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Id()");
+    return KMPSettStreamingViewId;
     }
 
 // ---------------------------------------------------------
@@ -121,30 +123,43 @@
 //
 void CGSMediaPlayerStreamingView::HandleCommandL(TInt aCommand)
     {   
-        MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::HandleCommandL(%d)"),aCommand);
-	    CGSVideoPlugin* parent =
-			static_cast<CGSVideoPlugin*> (
-				AppUi()->View( KGSVideoPluginUid ) );
+    MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::HandleCommandL(%d)"),aCommand);
+    CGSVideoPlugin* parent =
+        static_cast<CGSVideoPlugin*> (
+            AppUi()->View( KGSVideoPluginUid ) );
 
-		switch (aCommand)
+    switch (aCommand)
         {
-			case EMPSettCmdOpen:
-				HandleListBoxSelectionL();
-				break;
-			case EAknSoftkeyBack:
-				parent->SetCurrentItem(EGSMediaSettingsStreamingIndex);
-				parent->ResetSelectedItemIndex();
-     			AppUi()->ActivateLocalViewL(KGSVideoPluginUid);
-				break;
-			case EMPSettCmdHelp:
-				if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-				{
-				HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
-				}
-				break;
-			default:
-				AppUi()->HandleCommandL(aCommand);
-				break;
+        case EMPSettCmdOpen:
+            break;
+        case EAknSoftkeyBack:
+			{
+            if ( iTabHelper )
+                {
+                parent->SetCurrentItem(EGSMediaSettingsStreamingIndex);
+                parent->ResetSelectedItemIndex();
+                AppUi()->ActivateLocalViewL(KGSVideoPluginUid);
+                }
+            else    
+                {
+				// If there's no TabHelper, we have just streaming view and
+				// should exit MediaSettings.
+                AppUi()->ActivateLocalViewL( KGSAppsPluginUid );
+                }
+            }
+			break;
+        case EMPSettCmdAdvancedSett:
+            AppUi()->ActivateLocalViewL( KMPSettAdvancedBwViewId );
+            break;            
+        case EMPSettCmdHelp:
+            if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+                {
+                HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
+                }
+            break;
+        default:
+            AppUi()->HandleCommandL(aCommand);
+            break;
         }
     }
 
@@ -153,35 +168,35 @@
 // Activate this view
 // ---------------------------------------------------------------------------
 //
-void CGSMediaPlayerStreamingView::DoActivateL( const TVwsViewId& /* aPrevViewId */,
-                                          TUid /*aCustomMessageId*/,
-                                          const TDesC8& /*aCustomMessage*/ )
+void CGSMediaPlayerStreamingView::DoActivateL( 
+        const TVwsViewId& /* aPrevViewId */,
+        TUid /*aCustomMessageId*/,
+        const TDesC8& /*aCustomMessage*/ )
     { 
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoActivateL()");
-	    if( iContainer )
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoActivateL()");
+    if( iContainer )
         {
         AppUi()->RemoveFromViewStack( *this, iContainer );
         delete iContainer;
         iContainer = NULL;
         }
 
-	    CreateContainerL();
-	    AppUi()->AddToViewStackL( *this, iContainer );
-   
-	    CGSVideoPlugin* parent = 
-	        static_cast<CGSVideoPlugin*> ( 
-	            AppUi()->View( KGSVideoPluginUid ) );
-        
-	    if( parent )
+    CreateContainerL();
+    AppUi()->AddToViewStackL( *this, iContainer );
+
+    CGSVideoPlugin* parent = 
+        static_cast<CGSVideoPlugin*> ( 
+            AppUi()->View( KGSVideoPluginUid ) );
+    
+    if( parent && iTabHelper )
         {
         iTabHelper->CreateTabGroupL( Id(), 
-            static_cast<CArrayPtrFlat<MGSTabbedView> *> (parent->TabbedViews() ) ); 
+                static_cast<CArrayPtrFlat<MGSTabbedView> *> (parent->TabbedViews() ) ); 
         } 
-	    iContainer->SetRect( ClientRect() );   
-	    iContainer->ActivateL();   
-    
-	    DynInitContainerL();
-    
+    iContainer->SetRect( ClientRect() );   
+    iContainer->ActivateL();   
+
+    DynInitContainerL();
     }
 
 // ---------------------------------------------------------------------------
@@ -191,21 +206,23 @@
 //
 void CGSMediaPlayerStreamingView::DoDeactivate()
     {
-
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoDeactivate()");
-        if ( iContainer )
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DoDeactivate()");
+    if ( iContainer )
         {        
-            CEikTextListBox* listbox = iContainer->ListBox();
-            if (listbox)
+        CEikTextListBox* listbox = iContainer->ListBox();
+        if (listbox)
             {
             iCurrentItem = listbox->CurrentItemIndex();
             iTopItemIndex = listbox->TopItemIndex();
             } 
-            
-            AppUi()->RemoveFromStack( iContainer );
-            delete iContainer;
-            iContainer = NULL;
-            iTabHelper->RemoveTabGroup();                   
+        
+        AppUi()->RemoveFromStack( iContainer );
+        delete iContainer;
+        iContainer = NULL;
+        if ( iTabHelper )
+            {
+            iTabHelper->RemoveTabGroup();
+            }
         }
     }
 
@@ -216,8 +233,8 @@
 //
 CMPSettingsBaseContainer* CGSMediaPlayerStreamingView::Container()
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Container()");
-	    return static_cast <CMPSettingsStreamingContainer*> ( iContainer );
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Container()");
+    return static_cast <CMPSettingsStreamingContainer*> ( iContainer );
     }
 
 // ---------------------------------------------------------------------------
@@ -225,14 +242,15 @@
 // Before showing a options menu
 // ---------------------------------------------------------------------------
 //
-void CGSMediaPlayerStreamingView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
+void CGSMediaPlayerStreamingView::DynInitMenuPaneL( TInt aResourceId, 
+                                                    CEikMenuPane* aMenuPane)
     {
-        MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::DynInitMenuPaneL(0x%X)"),aResourceId);
-	    if (aResourceId == R_MPSETT_APP_MENU)
+    MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::DynInitMenuPaneL(0x%X)"),aResourceId);
+    if ( aResourceId == R_MPSETT_APP_MENU )
         {
-			// Help should be displayed only if the feature is supported according
-			// to Feature Manager
-			if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
+        // Help should be displayed only if the feature is supported according
+        // to Feature Manager
+        if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
             {
             aMenuPane->SetItemDimmed(EMPSettCmdHelp, ETrue);
             }
@@ -245,8 +263,8 @@
 // ---------------------------------------------------------------------------
 void CGSMediaPlayerStreamingView::NewContainerL()
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewContainerL()");
-	    iContainer = new (ELeave) CMPSettingsStreamingContainer(iModel);
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::NewContainerL()");
+    iContainer = new (ELeave) CMPSettingsStreamingContainer(iModel);
     }
 
 // -----------------------------------------------------------------------------
@@ -256,31 +274,12 @@
 //
 void CGSMediaPlayerStreamingView::HandleClientRectChange()
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::HandleClientRectChange()");
-	    if ( iContainer )
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::HandleClientRectChange()");
+    if ( iContainer )
         {
         iContainer->SetRect( ClientRect() );
         } 
     }
-                  
-// ---------------------------------------------------------------------------
-// CGSMediaPlayerStreamingView::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-
-void CGSMediaPlayerStreamingView::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
-    {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::HandleListBoxEventL()");
-	    switch (aEventType)
-        {
-			case EEventEnterKeyPressed:
-			case EEventItemSingleClicked:
-			case EEventItemDoubleClicked:
-				HandleListBoxSelectionL();
-				break;
-			default:
-			   break;
-        }
-    }
 
 // ---------------------------------------------------------------------------
 // CGSMediaPlayerStreamingView::DynInitContainerL
@@ -288,48 +287,16 @@
 //
 void CGSMediaPlayerStreamingView::DynInitContainerL()
     {
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DynInitContainerL()");
-		CEikTextListBox* listbox = iContainer->ListBox();
-
-		listbox->SetListBoxObserver(this);
-		listbox->SetTopItemIndex(iTopItemIndex);
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::DynInitContainerL()");
+    CEikTextListBox* listbox = iContainer->ListBox();
 
-		if (iCurrentItem >= 0 && iCurrentItem < listbox->Model()->NumberOfItems()) // magic
-			{
-			listbox->SetCurrentItemIndexAndDraw(iCurrentItem);
-			}
-    }
+    listbox->SetTopItemIndex(iTopItemIndex);
 
-// ---------------------------------------------------------------------------
-// CGSMediaPlayerStreamingView::HandleListBoxSelectionL()
-// Handles listbox selection.
-// ---------------------------------------------------------------------------
-//
-void CGSMediaPlayerStreamingView::HandleListBoxSelectionL() 
-    {
-		iCurrentItem = iContainer->ListBox()->CurrentItemIndex();
-		iTopItemIndex = iContainer->ListBox()->TopItemIndex();
-		MPX_DEBUG3(_L("#MS# CGSMediaPlayerStreamingView::HandleListBoxSelectionL() iCurrentItem(%d) iTopItemIndex(%d)"),iCurrentItem,iTopItemIndex);
-
-		switch (iCurrentItem)
-			{
-			case KMPSettProxyViewListItemId:
-				if (!FeatureManager::FeatureSupported(KFeatureIdProtocolCdma))
-				{
-				// If KFeatureIdProtocolCdma is not supported then show the 
-				// Proxy view. Otherwise, fall through to show Network view because
-				// only Network setting is available.
-				AppUi()->ActivateLocalViewL(KMPSettProxyViewId);
-				break;
-				}
-			case KMPSettNetworkViewListItemId:
-				AppUi()->ActivateLocalViewL(KMPSettNetworkViewId);
-				break;
-			default:
-				break;
-			}
+    if (iCurrentItem >= 0 && iCurrentItem < listbox->Model()->NumberOfItems()) // magic
+        {
+        listbox->SetCurrentItemIndexAndDraw(iCurrentItem);
+        }
     }
-
     
 // ---------------------------------------------------------------------------
 // CGSMediaPlayerStreamingView::CreateContainerL()
@@ -338,22 +305,21 @@
 //
 void CGSMediaPlayerStreamingView::CreateContainerL()
     {
-        
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateContainerL()");
-		NewContainerL();
-		__ASSERT_DEBUG( 
-			iContainer, User::Panic( KGSDoActivateError, EGSViewPanicNullPtr ) );
-		iContainer->SetMopParent( this );
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateContainerL()");
+    NewContainerL();
+    __ASSERT_DEBUG( 
+        iContainer, User::Panic( KGSDoActivateError, EGSViewPanicNullPtr ) );
+    iContainer->SetMopParent( this );
 
-		//TRAPD( error, iContainer->ConstructL() );
-		TRAPD( error, iContainer->ConstructL( ClientRect() ) );
+    //TRAPD( error, iContainer->ConstructL() );
+    TRAPD( error, iContainer->ConstructL( ClientRect() ) );
 
-		if ( error )
-		{
-			delete iContainer;
-			iContainer = NULL;
-			User::Leave( error );
-		}
+    if ( error )
+        {
+        delete iContainer;
+        iContainer = NULL;
+        User::Leave( error );
+        }
     }
         
 // ---------------------------------------------------------------------------
@@ -363,29 +329,27 @@
 //    
 CGulIcon* CGSMediaPlayerStreamingView::CreateTabIconL()
     {
-
-        MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateTabIconL()");
-		CGulIcon* icon;
-	    TFileName fileName;
+    MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CreateTabIconL()");
+    CGulIcon* icon;
+    TFileName fileName;
 
-		CGSVideoPlugin* parent = 
-			static_cast<CGSVideoPlugin*> ( 
-				AppUi()->View( KGSVideoPluginUid ) );
-		
-	    if( parent )
+    CGSVideoPlugin* parent = 
+        static_cast<CGSVideoPlugin*> ( 
+            AppUi()->View( KGSVideoPluginUid ) );
+    
+    if( parent )
         {
-	        parent->LocateFilePathL( fileName );    
-        } 
-	    
-		icon = AknsUtils::CreateGulIconL(
-			AknsUtils::SkinInstance(), 
-			KAknsIIDDefault, 
-			fileName,
-			EMbmMediasettingsQgn_prop_set_mp_stream_tab2,
-			EMbmMediasettingsQgn_prop_set_mp_stream_tab2_mask );
+        parent->LocateFilePathL( fileName );    
+        }
     
-		return icon;
+    icon = AknsUtils::CreateGulIconL(
+        AknsUtils::SkinInstance(), 
+        KAknsIIDDefault, 
+        fileName,
+        EMbmMediasettingsQgn_prop_set_mp_stream_tab2,
+        EMbmMediasettingsQgn_prop_set_mp_stream_tab2_mask );
 
+    return icon;
     } 
     
 // ---------------------------------------------------------------------------
@@ -394,8 +358,8 @@
 //
 void CGSMediaPlayerStreamingView::SetCurrentItem(TInt aIndex)
     {
-        MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::SetCurrentItem(%d)"),aIndex);
-	    iCurrentItem = aIndex;
+    MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::SetCurrentItem(%d)"),aIndex);
+    iCurrentItem = aIndex;
     }      
 // End of File