diff -r 7d91903f795f -r ce5ada96ab30 mediasettings/gsvideoplugin/src/GSMediaPlayerStreamingView.cpp --- 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* /* aTabViewArray */ ) +CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView( + CMPSettingsModelForROP* aModel, + CArrayPtrFlat* /* aTabViewArray */ ) : iModel( aModel) { MPX_FUNC("#MS# CGSMediaPlayerStreamingView::CGSMediaPlayerStreamingView()"); @@ -67,10 +64,13 @@ // void CGSMediaPlayerStreamingView::ConstructL(CArrayPtrFlat* 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* aTabViewArray) +CGSMediaPlayerStreamingView* CGSMediaPlayerStreamingView::NewLC( + CMPSettingsModelForROP* aModel, + CArrayPtrFlat* 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 ( - AppUi()->View( KGSVideoPluginUid ) ); + MPX_DEBUG2(_L("#MS# CGSMediaPlayerStreamingView::HandleCommandL(%d)"),aCommand); + CGSVideoPlugin* parent = + static_cast ( + 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 ( - AppUi()->View( KGSVideoPluginUid ) ); - - if( parent ) + CreateContainerL(); + AppUi()->AddToViewStackL( *this, iContainer ); + + CGSVideoPlugin* parent = + static_cast ( + AppUi()->View( KGSVideoPluginUid ) ); + + if( parent && iTabHelper ) { iTabHelper->CreateTabGroupL( Id(), - static_cast *> (parent->TabbedViews() ) ); + static_cast *> (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 ( iContainer ); + MPX_FUNC("#MS# CGSMediaPlayerStreamingView::Container()"); + return static_cast ( 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 ( - AppUi()->View( KGSVideoPluginUid ) ); - - if( parent ) + CGSVideoPlugin* parent = + static_cast ( + 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