idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp
branchRCL_3
changeset 17 b8fae6b8a148
parent 12 9674c1a575e9
child 18 d05a55b217df
--- a/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp	Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp	Wed Mar 31 21:17:19 2010 +0300
@@ -21,6 +21,7 @@
 #include <SVGEngineInterfaceImpl.h>
 #include <s32file.h>
 #include <mifconvdefs.h>
+//skinning support
 #include <AknsFrameBackgroundControlContext.h>
 #include <AknsDrawUtils.h>
 #include <aknconsts.h>
@@ -3759,6 +3760,7 @@
         {
         if ( aType == EEventKeyDown )
             {
+            iKeyDownNode = node;
             iLongtap = EFalse;
             
             if ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
@@ -3787,6 +3789,10 @@
             }
         else if( aType == EEventKey )
             {
+            if( iKeyDownNode != node)
+            	{
+                node = iKeyDownNode;
+            	}
             if ( aKeyEvent.iRepeats == 0 )
                 {
                 if ( !HasHoldTrigger( node->DomNode() ) )
@@ -3815,6 +3821,10 @@
             {
             if ( !iLongtap )
                 {
+              if( iKeyDownNode != node)
+                {
+                node = iKeyDownNode;
+                }   
                 if ( HasHoldTrigger( node->DomNode() ) )
                     {
                     // Hold trigger defined, report activate event here                   
@@ -3907,8 +3917,8 @@
                 control->IgnoreEventsUntilNextPointerUp();
                 control->ResetGrabbing();                      
                 }
-            
-            // Indicate long tap has taken plave
+
+          // Indicate long tap has taken place
             iLongtap = ETrue;
             
             CXnNode* hold = BuildTriggerNodeL( *engine,
@@ -3952,6 +3962,7 @@
             // Swipe took place, consume this event
             return ETrue;
             }
+
         }
     
     TBool menuBar( node == engine->MenuBarNode() );
@@ -4011,6 +4022,7 @@
     if ( event.iType == TPointerEvent::EButton1Down )
         {
         iLongtap = EFalse;
+        node->HideTooltipsL();
         
         if ( !menuBar )
             {