diff -r c743ef5928ba -r f966699dea19 idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp --- a/idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp Tue Feb 02 00:04:13 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp Fri Feb 19 22:42:37 2010 +0200 @@ -55,7 +55,8 @@ { if ( iWmMainContainer != NULL ) { - AppUi()->RemoveFromViewStack( *this, iWmMainContainer ); + AppUi()->RemoveFromStack( iWmMainContainer ); + delete iWmMainContainer; iWmMainContainer = NULL; } @@ -140,7 +141,7 @@ break; case EWmMainContainerViewBackMenuItemCommand: // flow through case EAknSoftkeyBack: - iWmPlugin.Deactivate(); + iWmPlugin.CloseView(); break; case EWmMainContainerViewWiddetDetailsMenuItemCommand: HandleDetailsMenuItemSelectedL(); @@ -170,29 +171,34 @@ TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ ) { - if ( iWmMainContainer == NULL ) - { - iWmMainContainer = CreateContainerL(); - iWmMainContainer->SetMopParent( this ); - AppUi()->AddToStackL( *this, iWmMainContainer ); - } - - SetupStatusPaneL(); - - iWmPlugin.MainViewActivated( aPrevViewId, iWmMainContainer ); + // setup status pane layout StatusPane()->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ); StatusPane()->ApplyCurrentSettingsL(); + + // title in status pane + SetTitleL(); + StatusPane()->DrawNow(); + + // update cba CEikButtonGroupContainer* bgc( Cba() ); - CEikCba* cba = static_cast< CEikCba* >( bgc->ButtonGroup() ); if ( cba ) - { - + { bgc->SetBoundingRect( TRect() ); cba->DrawNow(); } + + // create container + if ( iWmMainContainer == NULL ) + { + iWmMainContainer = CreateContainerL(); + iWmMainContainer->SetMopParent( this ); + AppUi()->AddToStackL( *this, iWmMainContainer ); + } + + iWmPlugin.MainViewActivated( aPrevViewId, iWmMainContainer ); } // --------------------------------------------------------- @@ -203,12 +209,11 @@ { if ( iWmMainContainer != NULL ) { - AppUi()->RemoveFromViewStack( *this, iWmMainContainer ); + AppUi()->RemoveFromStack( iWmMainContainer ); delete iWmMainContainer; iWmMainContainer = NULL; + iWmPlugin.MainViewDeactivated(); } - - iWmPlugin.MainViewDeactivated(); } // --------------------------------------------------------- @@ -233,10 +238,10 @@ } // --------------------------------------------------------- -// CWmMainContainerView::SetupStatusPaneL +// CWmMainContainerView::SetTitleL // --------------------------------------------------------- // -void CWmMainContainerView::SetupStatusPaneL() +void CWmMainContainerView::SetTitleL() { // setup the title pane TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle ); @@ -412,4 +417,17 @@ return ETrue; } +// --------------------------------------------------------- +// CWmMainContainerView::HandleForegroundEventL +// --------------------------------------------------------- +// +void CWmMainContainerView::HandleForegroundEventL( TBool aForeground ) + { + CAknView::HandleForegroundEventL( aForeground ); + if ( iWmMainContainer ) + { + iWmMainContainer->ProcessForegroundEvent( aForeground ); + } + } + // End of file