diff -r 941195f2d488 -r a8834a2e9a96 uifw/EikStd/dlgsrc/EIKDIALG.CPP --- a/uifw/EikStd/dlgsrc/EIKDIALG.CPP Tue May 25 12:58:19 2010 +0300 +++ b/uifw/EikStd/dlgsrc/EIKDIALG.CPP Wed Jun 09 09:58:37 2010 +0300 @@ -300,9 +300,9 @@ // assume that dialog didn't properly call CEikDialog::SizeChanged thus // embedded softkeys won't work. // In that case softkeys are deleted and re-created as a window-owning - // component in "legacy" way. - if ( checkCba && extension->iDeleteEmbeddedCba - && extension->iButtonGroupResourceId != 0 ) + // component in "legacy" way. + if (checkCba && extension->iButtonGroupResourceId != 0 && + (extension->iDeleteEmbeddedCba || Size().iWidth <= 0)) { delete iButtonGroupContainer; iButtonGroupContainer = NULL; @@ -1656,15 +1656,23 @@ #endif GfxTransEffect::Begin(this, KGfxControlAppearAction); MTouchFeedback* feedback = NULL; - if(AknLayoutUtils::PenEnabled()) - { - feedback = static_cast(ExtensionInterface(KExIfTactileFeedbackUid)); - } - if(feedback && CAknTransitionUtils::TransitionsEnabled(AknTransEffect::EComponentTransitionsOff )) - { - feedback->InstantFeedback(this, ETouchFeedbackIncreasingPopUp, - ETouchFeedbackVibra, TPointerEvent()); - } + if( AknLayoutUtils::PenEnabled() ) + { + feedback = static_cast( ExtensionInterface( KExIfTactileFeedbackUid ) ); + } + if( feedback ) + { + if( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) + { + feedback->InstantFeedback( this, ETouchFeedbackIncreasingPopUp, + ETouchFeedbackVibra, TPointerEvent() ); + } + else + { + feedback->InstantFeedback( this, ETouchFeedbackPopUp, + ETouchFeedbackVibra, TPointerEvent() ); + } + } GfxTransEffect::NotifyExternalState(ECaptureComponentsBegin, (const TDesC8*)this); TRect demarcation; @@ -1677,11 +1685,6 @@ GfxTransEffect::NotifyExternalState(ECaptureComponentsEnd, (const TDesC8*)this); GfxTransEffect::End(this); - if(feedback) - { - feedback->InstantFeedback(this, ETouchFeedbackPopUp, - ETouchFeedbackVibra, TPointerEvent()); - } } else { @@ -2432,7 +2435,13 @@ else if (iExtension) iExtension->iFlags.Set(CEikDialogExtension::ELayoutChangeWhileInvisible); - CCoeControl::HandleResourceChange(aType); + TBool isForm = ( iPageSelector && iPageSelector->IsForm() ); + + if ( !isForm ) + { + CCoeControl::HandleResourceChange( aType ); + } + _AKNTRACE_FUNC_EXIT; return; } @@ -2454,16 +2463,22 @@ // Must work through all pages _AKNTRACE_FUNC_ENTER; Layout(); - SizeChanged(); + + TBool isForm = ( iPageSelector && iPageSelector->IsForm() ); + + if ( !isForm ) + { + SizeChanged(); - TInt lastPage = ( iPageSelector->PageContainer()->NumPages() - 1 ); - TInt pageIndex = 0; - CEikDialogPage* page; - - while ( pageIndex++ <= lastPage ) - { - page = iPageSelector->PageContainer()->Page( pageIndex ); - page->HandleResourceChange( KEikDynamicLayoutVariantSwitch ); + TInt lastPage = ( iPageSelector->PageContainer()->NumPages() - 1 ); + TInt pageIndex = 0; + CEikDialogPage* page; + + while ( pageIndex++ <= lastPage ) + { + page = iPageSelector->PageContainer()->Page( pageIndex ); + page->HandleResourceChange( KEikDynamicLayoutVariantSwitch ); + } } if (iExtension)