--- 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<MTouchFeedback*>(ExtensionInterface(KExIfTactileFeedbackUid));
- }
- if(feedback && CAknTransitionUtils::TransitionsEnabled(AknTransEffect::EComponentTransitionsOff ))
- {
- feedback->InstantFeedback(this, ETouchFeedbackIncreasingPopUp,
- ETouchFeedbackVibra, TPointerEvent());
- }
+ if( AknLayoutUtils::PenEnabled() )
+ {
+ feedback = static_cast<MTouchFeedback*>( 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)