idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp
branchRCL_3
changeset 35 3321d3e205b6
parent 34 5456b4e8b3a8
equal deleted inserted replaced
34:5456b4e8b3a8 35:3321d3e205b6
   555 // CXnViewAdapter::ActivateContainerL
   555 // CXnViewAdapter::ActivateContainerL
   556 // Activates container
   556 // Activates container
   557 // -----------------------------------------------------------------------------
   557 // -----------------------------------------------------------------------------
   558 //
   558 //
   559 void CXnViewAdapter::ActivateContainerL( CXnViewData& aContainer, 
   559 void CXnViewAdapter::ActivateContainerL( CXnViewData& aContainer, 
   560     TBool aEnterEditState, TUid aEffect )
   560     TBool aEnterEditState, TUid aEffect, TBool aUpdateBg  )
   561     {
   561     {
   562     // Returns if the container remains the same and activation is not forced
   562     // Returns if the container remains the same and activation is not forced
   563     // Otherwise the old container is deactivated and the new is activated
   563     // Otherwise the old container is deactivated and the new is activated
   564     if ( iFlags.IsSet( EIsDestructionRunning ) || iContainer == &aContainer )        
   564     if ( iFlags.IsSet( EIsDestructionRunning ) || iContainer == &aContainer )        
   565         {
   565         {
   572         // postpone container activation
   572         // postpone container activation
   573         return;
   573         return;
   574         }
   574         }
   575  
   575  
   576     const CXnViewData& active( iAppUiAdapter.ViewManager().ActiveViewData() );
   576     const CXnViewData& active( iAppUiAdapter.ViewManager().ActiveViewData() );
   577     
   577   
       
   578     TBool started = EFalse;
   578     CXnEffectManager* mgr( iAppUiAdapter.EffectManager() );
   579     CXnEffectManager* mgr( iAppUiAdapter.EffectManager() );
   579     
       
   580     CleanupStack::PushL( TCleanupItem( CleanupEffect, mgr ) );
   580     CleanupStack::PushL( TCleanupItem( CleanupEffect, mgr ) );
   581     
   581     
   582     TBool started(
   582     if( aEffect != TUid::Null() )
   583         mgr->BeginActivateViewEffect( active, aContainer, aEffect ) );
   583         {    
       
   584         started = mgr->BeginActivateViewEffect( active, aContainer, aEffect );
       
   585         }    
   584     
   586     
   585     DeactivateContainerL( EFalse );
   587     DeactivateContainerL( EFalse );
   586         
   588         
   587     // Update  
   589     // Update  
   588     iContainer = &aContainer;
   590     iContainer = &aContainer;
   632     
   634     
   633     CXnControlAdapter* adapter( node->Control() );
   635     CXnControlAdapter* adapter( node->Control() );
   634     adapter->MakeVisible( ETrue );
   636     adapter->MakeVisible( ETrue );
   635            
   637            
   636     iAppUiAdapter.ViewManager().NotifyContainerChangedL( aContainer );
   638     iAppUiAdapter.ViewManager().NotifyContainerChangedL( aContainer );
   637     
   639 
   638     iBgManager->ChangeWallpaper( active, aContainer, !started );
   640     if( aUpdateBg )
       
   641         {
       
   642         iBgManager->ChangeWallpaper( active, aContainer, !started );
       
   643         }
   639     
   644     
   640     iAppUiAdapter.UiEngine().RenderUIL();
   645     iAppUiAdapter.UiEngine().RenderUIL();
   641     
   646     
   642     CleanupStack::PopAndDestroy(); // DisableRenderUiLC
   647     CleanupStack::PopAndDestroy(); // DisableRenderUiLC
   643     
   648 
   644     mgr->EndActivateViewEffect( active, aContainer, aEffect );
   649     if( aEffect != TUid::Null() )
       
   650         {
       
   651         mgr->EndActivateViewEffect( active, aContainer, aEffect );
       
   652         }
   645     
   653     
   646     CleanupStack::PopAndDestroy(); // cleanupitem
   654     CleanupStack::PopAndDestroy(); // cleanupitem
   647     
   655     
   648     iAppUiAdapter.ViewManager().UpdatePageManagementInformationL();
   656     iAppUiAdapter.ViewManager().UpdatePageManagementInformationL();
   649             
   657             
   677         {
   685         {
   678         EnterEditStateL( *viewData, aEnterEditState );
   686         EnterEditStateL( *viewData, aEnterEditState );
   679         // Deactivate container even though it hasn't changed to close all 
   687         // Deactivate container even though it hasn't changed to close all 
   680         // popups and other windows
   688         // popups and other windows
   681         ActivateContainerL( *viewData, aEnterEditState );
   689         ActivateContainerL( *viewData, aEnterEditState );
       
   690         
       
   691         CloseAllPopupsL();
   682         }
   692         }
   683     }
   693     }
   684 
   694 
   685 // -----------------------------------------------------------------------------
   695 // -----------------------------------------------------------------------------
   686 // CXnViewAdapter::EnterEditStateL
   696 // CXnViewAdapter::EnterEditStateL
  1021         popups[i]->SetPropertyL(display);             
  1031         popups[i]->SetPropertyL(display);             
  1022         CleanupStack::Pop( display );
  1032         CleanupStack::Pop( display );
  1023         }
  1033         }
  1024         
  1034         
  1025     CleanupStack::PopAndDestroy( &popups );
  1035     CleanupStack::PopAndDestroy( &popups );
       
  1036     
       
  1037     iEventDispatcher->SetTextEditorActive( NULL, EFalse );
  1026     }
  1038     }
  1027 
  1039 
  1028 
  1040 
  1029 // End of file
  1041 // End of file