uifw/AvKon/src/AknSettingPage.cpp
branchRCL_3
changeset 4 8ca85d2f0db7
parent 0 2f259fa3e83a
child 9 aabf2c525e0f
equal deleted inserted replaced
0:2f259fa3e83a 4:8ca85d2f0db7
   569  */
   569  */
   570 EXPORT_C CAknSettingPage::~CAknSettingPage()
   570 EXPORT_C CAknSettingPage::~CAknSettingPage()
   571 	{
   571 	{
   572 	AKNTASHOOK_REMOVE();
   572 	AKNTASHOOK_REMOVE();
   573 
   573 
       
   574     StopActiveScheduler();
       
   575 
       
   576     // If navi pane context is not poped out yet, pop it now.
       
   577 	PopNaviDecoratorIfRequired();
   574     if ( GfxTransEffect::IsRegistered( this ) )
   578     if ( GfxTransEffect::IsRegistered( this ) )
   575         {
   579         {
   576         GfxTransEffect::Deregister( this );
   580         GfxTransEffect::Deregister( this );
   577         }
   581         }
   578 
   582 
   591 	delete iEditorControl;
   595 	delete iEditorControl;
   592 	delete iSettingText;
   596 	delete iSettingText;
   593 	delete iHintText;
   597 	delete iHintText;
   594 	delete iCba;
   598 	delete iCba;
   595 	delete iExtension;
   599 	delete iExtension;
   596 
   600     iExtension = NULL;
   597     // If navi pane context is not poped out yet, pop it now.
   601 
   598 	PopNaviDecoratorIfRequired();
       
   599 	delete iNaviDecorator;
   602 	delete iNaviDecorator;
   600 
       
   601 	StopActiveScheduler();
       
   602 	}
   603 	}
   603 
   604 
   604 void CAknSettingPage::StopActiveScheduler()
   605 void CAknSettingPage::StopActiveScheduler()
   605 	{
   606 	{
   606     SetStopActiveSchedulerFlag( ETrue );
   607     SetStopActiveSchedulerFlag( ETrue );
   775 *
   776 *
   776 */
   777 */
   777 EXPORT_C void CAknSettingPage::ConstructFromResourceL(TResourceReader &aRes)
   778 EXPORT_C void CAknSettingPage::ConstructFromResourceL(TResourceReader &aRes)
   778 	{
   779 	{
   779 	CreateWindowL();
   780 	CreateWindowL();
   780 
       
   781 	SetGloballyCapturing( ETrue );
       
   782     SetPointerCapture(ETrue);
       
   783 
   781 
   784     if( NULL == iExtension )
   782     if( NULL == iExtension )
   785         {
   783         {
   786         iExtension = CAknSettingPageExtension::NewL( this );
   784         iExtension = CAknSettingPageExtension::NewL( this );
   787         }
   785         }
   892 	        {
   890 	        {
   893 	        iExtension->iEmbeddedSoftkeys = EFalse;
   891 	        iExtension->iEmbeddedSoftkeys = EFalse;
   894 	        }
   892 	        }
   895 	    }
   893 	    }
   896 	
   894 	
       
   895 	if(iExtension->iEmbeddedSoftkeys)
       
   896 		{
       
   897 		SetGloballyCapturing( ETrue );
       
   898     	SetPointerCapture(ETrue);	
       
   899 		}
       
   900 
   897     AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( this );
   901     AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( this );
   898 
   902 
   899 	if ( !iExtension->iEmbeddedSoftkeys )
   903 	if ( !iExtension->iEmbeddedSoftkeys )
   900 	    {
   904 	    {
   901 	    iCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba,
   905 	    iCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba,
  2086     else if ( aId.iUid == MAknEditingStateIndicator::ETypeId &&
  2090     else if ( aId.iUid == MAknEditingStateIndicator::ETypeId &&
  2087               iExtension->iEditIndicator )
  2091               iExtension->iEditIndicator )
  2088         {
  2092         {
  2089         return SupplyMopObject( aId, iExtension->iEditIndicator );
  2093         return SupplyMopObject( aId, iExtension->iEditIndicator );
  2090         }
  2094         }
       
  2095     else if( aId.iUid == MAknsControlContext::ETypeId)
       
  2096         {
       
  2097         return MAknsControlContext::SupplyMopObject(aId, iExtension->iSettingPageBgContext);
       
  2098         } 
  2091 
  2099 
  2092     return SupplyMopObject( aId, iCba, iMenuBar );
  2100     return SupplyMopObject( aId, iCba, iMenuBar );
  2093 	}
  2101 	}
  2094 
  2102 
  2095 EXPORT_C void CAknSettingPage::SetEditState(const TBool aEditable)
  2103 EXPORT_C void CAknSettingPage::SetEditState(const TBool aEditable)
  2149     }
  2157     }
  2150 
  2158 
  2151 
  2159 
  2152 void CAknSettingPage::PopNaviDecoratorIfRequired()
  2160 void CAknSettingPage::PopNaviDecoratorIfRequired()
  2153     {
  2161     {
  2154     if ( iNaviPane && !iExtension->iEmbeddedSoftkeys )
  2162     if ( iNaviPane && iExtension && !iExtension->iEmbeddedSoftkeys )
  2155         {
  2163         {
  2156         iNaviPane->Pop( iNaviDecorator ); // iNaviDecorator is not to be detroyed yet
  2164         iNaviPane->Pop( iNaviDecorator ); // iNaviDecorator is not to be detroyed yet
  2157 
  2165 
  2158         // This is only a reference. Set to zero only to ensure invariant that we have 
  2166         // This is only a reference. Set to zero only to ensure invariant that we have 
  2159         // poped out iNaviPane context already.
  2167         // poped out iNaviPane context already.