--- a/uifw/EikStd/coctlsrc/EIKMENUB.CPP Tue May 25 12:58:19 2010 +0300
+++ b/uifw/EikStd/coctlsrc/EIKMENUB.CPP Wed Jun 09 09:58:37 2010 +0300
@@ -785,7 +785,12 @@
EXPORT_C TKeyResponse CEikMenuBar::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
{
const TInt code=aKeyEvent.iCode;
-
+ //Filter msk event from dialog page.
+ if ( aKeyEvent.iCode == EKeyOK && aKeyEvent.iModifiers & EModifierSpecial )
+ {
+ return EKeyWasConsumed;
+ }
+
if (MenuHasPane())
{
iMenuPane->OfferKeyEventL(aKeyEvent, aType);
@@ -1139,6 +1144,26 @@
// menu pane captures all pointer events, and forwards them to CBA if neccessary
iMenuPane->SetGloballyCapturing(ETrue);
iMenuPane->SetPointerCapture(ETrue);
+ if ( feedback )
+ {
+ TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp;
+ if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) )
+ {
+ if( iExt->iMenuType == EMenuContext || iExt->iMenuType == EMenuEdit )
+ {
+ fbLogicalType = ETouchFeedbackIncreasingPopUp;
+ }
+ else
+ {
+ fbLogicalType = ETouchFeedbackOptionsMenuOpened;
+ }
+ }
+ feedback->InstantFeedback(
+ this,
+ fbLogicalType,
+ ETouchFeedbackVibra,
+ TPointerEvent() );
+ }
}
iMenuPane->MakeVisible( EFalse );
@@ -1149,16 +1174,6 @@
if( optMenuFg )
{
GfxTransEffect::Begin( iMenuPane, KGfxControlAppearAction );
- if( feedback && CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ))
- {
- TTouchLogicalFeedback fbLogicalType = ETouchFeedbackOptionsMenuOpened;
- if( iExt->iMenuType == EMenuContext || iExt->iMenuType == EMenuEdit )
- {
- fbLogicalType = ETouchFeedbackIncreasingPopUp;
- }
- feedback->InstantFeedback( this, fbLogicalType,
- ETouchFeedbackVibra, TPointerEvent() );
- }
}
iMenuPane->StartDisplayingMenuPane(NULL, menuPosition, NULL, screenSize.iWidth, EPopupTargetBottomLeft);
@@ -1176,11 +1191,6 @@
GfxTransEffect::SetDemarcation( iMenuPane, demarcation );
GfxTransEffect::End( iMenuPane );
}
- if( feedback )
- {
- feedback->InstantFeedback( this, ETouchFeedbackPopUp,
- ETouchFeedbackVibra, TPointerEvent() );
- }
_AKNTRACE_FUNC_EXIT;
}