uifw/EikStd/coctlsrc/EIKMENUB.CPP
branchRCL_3
changeset 13 a8834a2e9a96
parent 12 941195f2d488
child 15 c52421ed5f07
--- 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;
     }