diff -r fcdfafb36fe7 -r aecbbf00d063 uifw/AvKon/src/AknSettingPage.cpp --- a/uifw/AvKon/src/AknSettingPage.cpp Thu Aug 19 10:11:06 2010 +0300 +++ b/uifw/AvKon/src/AknSettingPage.cpp Tue Aug 31 15:28:30 2010 +0300 @@ -45,21 +45,9 @@ //For MCoeCaptionRetrieverForFep #include #include -#include -#include -#include -#include #include "aknitemactionmenuregister.h" #include "aknqueryeditorindicator.h" - - -// -// the function's definition is in the AknNoteDialog.cpp -// -TBool IsFocusedWindowGroup( const CCoeControl* aControl ); - - // This determines the maximum number of digits in the optional number displayed on the // top left of the setting page const TInt KAknSettingPageMaxOrdinalDigits = 3; @@ -580,19 +568,9 @@ EXPORT_C CAknSettingPage::~CAknSettingPage() { AKNTASHOOK_REMOVE(); - - StopActiveScheduler(); - - // If navi pane context is not poped out yet, pop it now. - PopNaviDecoratorIfRequired(); - if ( GfxTransEffect::IsRegistered( this ) ) - { - GfxTransEffect::Deregister( this ); - } - iEikonEnv->EikAppUi()->RemoveFromStack(this); - TRAP_IGNORE(AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( NULL )); + AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( NULL ); if (iMenuBar) { @@ -607,9 +585,12 @@ delete iHintText; delete iCba; delete iExtension; - iExtension = NULL; + // If navi pane context is not poped out yet, pop it now. + PopNaviDecoratorIfRequired(); delete iNaviDecorator; + + StopActiveScheduler(); } void CAknSettingPage::StopActiveScheduler() @@ -789,6 +770,9 @@ { CreateWindowL(); + SetGloballyCapturing( ETrue ); + SetPointerCapture(ETrue); + if( NULL == iExtension ) { iExtension = CAknSettingPageExtension::NewL( this ); @@ -902,12 +886,6 @@ } } - if(iExtension->iEmbeddedSoftkeys) - { - SetGloballyCapturing( ETrue ); - SetPointerCapture(ETrue); - } - AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( this ); if ( !iExtension->iEmbeddedSoftkeys ) @@ -921,16 +899,15 @@ iCba = CEikButtonGroupContainer::NewL( CEikButtonGroupContainer::ECba, CEikButtonGroupContainer::EHorizontal, this, resourceId, *this, CEikButtonGroupContainer::EIsEmbedded | - CEikButtonGroupContainer::EAddToStack | - CEikButtonGroupContainer::EAlwaysShown ); + CEikButtonGroupContainer::EAddToStack ); } iExtension->CreateBackgroundContextL(); - if ( iExtension->iEmbeddedSoftkeys ) + if ( iExtension->iEmbeddedSoftkeys && + CAknEnv::Static()->TransparencyEnabled() ) { EnableWindowTransparency(); - GfxTransEffect::Register( this, KGfxPopupDefaultControlUid ); } // Make the menu bar @@ -938,6 +915,7 @@ iMenuBar->ConstructL( this, NULL, iMenuBarId ) ; iEikonEnv->EikAppUi()->AddToStackL(iMenuBar,ECoeStackPriorityMenu,ECoeStackFlagRefusesFocus); + iTextLabel = new(ELeave) CEikLabel( ); iTextLabel->UseLogicalToVisualConversion(ETrue); iTextLabel->SetContainerWindowL(*this); @@ -1400,26 +1378,8 @@ */ EXPORT_C void CAknSettingPage::DismissL(TBool aAccept) { - if ( AknLayoutUtils::PenEnabled() ) - { - MTouchFeedback* feedback = MTouchFeedback::Instance(); - if ( feedback ) - { - TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; - if ( CAknTransitionUtils::TransitionsEnabled( - AknTransEffect::EComponentTransitionsOff ) ) - { - fbLogicalType = ETouchFeedbackDecreasingPopUp; - } - feedback->InstantFeedback( - this, - fbLogicalType, - ETouchFeedbackVibra, - TPointerEvent() ); - } - } - AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( NULL ); + MakeVisible( EFalse ); if ( aAccept ) { @@ -1433,17 +1393,6 @@ if ( iSettingPageObserver ) iSettingPageObserver->HandleSettingPageEventL(this, MAknSettingPageObserver::EEventSettingCancelled); } - - if ( GfxTransEffect::IsRegistered( this ) && IsFocusedWindowGroup( this ) && IsVisible() ) - { - GfxTransEffect::Begin( this, KGfxControlDisappearAction ); - MakeVisible( EFalse ); - GfxTransEffect::End( this ); - } - else - { - MakeVisible( EFalse ); - } iEikonEnv->RemoveFromStack(iCba); delete iCba; @@ -1684,30 +1633,6 @@ // Ensure we have a menu bar by this point __ASSERT_DEBUG( iMenuBar, Panic( EAknPanicSettingPageNoMenuBar ) ) ; - if ( AknLayoutUtils::PenEnabled() ) - { - MTouchFeedback* feedback = MTouchFeedback::Instance(); - if ( feedback ) - { - TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; - if ( CAknTransitionUtils::TransitionsEnabled( - AknTransEffect::EComponentTransitionsOff ) ) - { - fbLogicalType = ETouchFeedbackIncreasingPopUp; - } - feedback->InstantFeedback( - this, - fbLogicalType, - ETouchFeedbackVibra, - TPointerEvent() ); - } - } - - // - // Set editor control to be invisible - // - iEditorControl->MakeVisible( EFalse ); - DynamicInitL(); ActivateL(); @@ -1715,25 +1640,10 @@ { iExtension->iFader.FadeBehindPopup( iExtension, this, ETrue ); } - - if ( GfxTransEffect::IsRegistered( this ) ) - { - GfxTransEffect::Begin( this, KGfxControlAppearAction ); - - TRect demarcation; - CAknTransitionUtils::GetDemarcation( CAknTransitionUtils::EPopup, - demarcation ); - GfxTransEffect::SetDemarcation( this, demarcation ); - - iEditorControl->MakeVisible( ETrue ); - MakeVisible( ETrue ); - GfxTransEffect::End( this ); - } - else - { - iEditorControl->MakeVisible( ETrue ); - MakeVisible( ETrue ); - } + + // Catch up with editor's brute draw (in editor setting page) + DrawNow(); // EECO-7QYCR4 and TSAA-7Q3D2J is conflict , so make an extra draw operation here + DrawDeferred(); iEditorControl->SetObserver( this ); iEikonEnv->EikAppUi()->AddToStackL(this,ECoeStackPriorityDialog); @@ -1793,9 +1703,7 @@ StartActiveScheduler(); } else - { - AttemptExitL(EFalse); - } + AttemptExitL(EFalse); iEikonEnv->EikAppUi()->RemoveFromStack(this); CleanupStack::Pop(); // this @@ -2150,10 +2058,6 @@ { return SupplyMopObject( aId, iExtension->iEditIndicator ); } - else if( aId.iUid == MAknsControlContext::ETypeId) - { - return MAknsControlContext::SupplyMopObject(aId, iExtension->iSettingPageBgContext); - } return SupplyMopObject( aId, iCba, iMenuBar ); } @@ -2217,7 +2121,7 @@ void CAknSettingPage::PopNaviDecoratorIfRequired() { - if ( iNaviPane && iExtension && !iExtension->iEmbeddedSoftkeys ) + if ( iNaviPane && !iExtension->iEmbeddedSoftkeys ) { iNaviPane->Pop( iNaviDecorator ); // iNaviDecorator is not to be detroyed yet