messagingappbase/msgeditor/viewsrc/MsgBodyControlEditor.cpp
branchRCL_3
changeset 24 696bfeff199e
parent 20 94cccd85bd25
--- a/messagingappbase/msgeditor/viewsrc/MsgBodyControlEditor.cpp	Mon Jun 21 15:36:19 2010 +0300
+++ b/messagingappbase/msgeditor/viewsrc/MsgBodyControlEditor.cpp	Thu Jul 15 18:34:37 2010 +0300
@@ -256,7 +256,17 @@
         {
         switch ( aKeyEvent.iCode )
             {
-            case EKeyDevice3:   
+            case EKeyDevice3:  
+                {
+                if ( iFindItemEventReceived )
+                    {
+                    // Find item was activated by touch, 
+                    // no need to restore highlight
+                    iFindItemEventReceived = EFalse;
+                    return EKeyWasNotConsumed;
+                    }
+                // fall through
+                } 
             case EKeyEnter:
                 {
                 // Restore highlight
@@ -308,20 +318,17 @@
                         MAknItemFinderObserver::TEventFlag aEvent,
                         TUint aFlags)
     {     
-    // We will send new EMsgFindItemEvent so that we can separate 
-    // single click item activation and old key based activation.
-    // This is just quick fix for doing it, other implementations should
-    // be considered(e.g. storing state in editor or using some flags).
-    // This is done because in AppUI::HandleKeyEvent we must separate
-    // activation methods for enabling highlight when using keys.    
+    // Body text find item was clicked, we will send simulated key event for
+    // opening context sensitive menu in AppUI::HandleKeyEvent    
     if ( MAknItemFinderObserver::EPointerEvent == aEvent )
         {
         TKeyEvent event;
-        event.iCode = EMsgFindItemKeyEvent;
-        event.iScanCode = EMsgFindItemKeyEvent;
+        event.iCode = EKeyDevice3;
+        event.iScanCode = EKeyDevice3;
         event.iModifiers = 0;
         event.iRepeats = 0;
 
+        iFindItemEventReceived = ETrue;
         iCoeEnv->WsSession().SimulateKeyEvent( event );
         }
     }