diff -r 9674c1a575e9 -r b8fae6b8a148 idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp --- 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 #include #include +//skinning support #include #include #include @@ -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 ) {