messagingappbase/msgeditor/viewsrc/MsgAddressControlEditor.cpp
branchRCL_3
changeset 24 696bfeff199e
parent 18 fbb813aef148
equal deleted inserted replaced
22:1367103c24e2 24:696bfeff199e
  1670         ( aKeyEvent.iCode == EKeyUpArrow ||
  1670         ( aKeyEvent.iCode == EKeyUpArrow ||
  1671           aKeyEvent.iCode == EKeyEnter ||
  1671           aKeyEvent.iCode == EKeyEnter ||
  1672           aKeyEvent.iCode == EKeyDevice3 ) &&
  1672           aKeyEvent.iCode == EKeyDevice3 ) &&
  1673         iValidHighlightable )
  1673         iValidHighlightable )
  1674         {
  1674         {
       
  1675         if ( aKeyEvent.iCode == EKeyDevice3
       
  1676                 && iFindItemEventReceived )
       
  1677             {
       
  1678             // Find item was activated by touch, 
       
  1679             // no need to restore highlight
       
  1680             iFindItemEventReceived = EFalse;
       
  1681             return EKeyWasNotConsumed;
       
  1682             }
       
  1683     
  1675         if ( !SelectionLength() )
  1684         if ( !SelectionLength() )
  1676             {
  1685             {
  1677             // Enable highlight if hw keys used
  1686             // Enable highlight if hw keys used
  1678             CheckHighlightingL();
  1687             CheckHighlightingL();
  1679             }
  1688             }
  1741             else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
  1750             else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
  1742                 {
  1751                 {
  1743                 if ( currentField &&
  1752                 if ( currentField &&
  1744                      iPreviousField == currentField )
  1753                      iPreviousField == currentField )
  1745                     {
  1754                     {
  1746                     // We will send new EMsgFindItemEvent so that we can separate 
  1755                     // Addressfield text was clicked, we will send simulated key event for
  1747                     // single click item activation and old key based activation.
  1756                     // opening context sensitive menu in AppUI::HandleKeyEvent               
  1748                     // This is just quick fix for doing it, other implementations should
       
  1749                     // be considered(e.g. storing state in editor or using some flags).
       
  1750                     // This is done because in AppUI::HandleKeyEvent we must separate
       
  1751                     // activation methods for enabling highlight when using keys. 
       
  1752                     TKeyEvent event;
  1757                     TKeyEvent event;
  1753                     event.iCode = EMsgFindItemKeyEvent;
  1758                     event.iCode = EKeyDevice3;
  1754                     event.iScanCode = EMsgFindItemKeyEvent;
  1759                     event.iScanCode = EKeyDevice3;
  1755                     event.iModifiers = 0;
  1760                     event.iModifiers = 0;
  1756                     event.iRepeats = 0;
  1761                     event.iRepeats = 0;
  1757                     
  1762                     
  1758                     iCoeEnv->WsSession().SimulateKeyEvent( event );
       
  1759                     
       
  1760                     forwardRequest = EFalse;
  1763                     forwardRequest = EFalse;
       
  1764                     iFindItemEventReceived = ETrue;
       
  1765                     iCoeEnv->WsSession().SimulateKeyEvent( event );  
  1761                     }
  1766                     }
  1762                 
  1767                 
  1763                 if ( SelectionLength() )
  1768                 if ( SelectionLength() )
  1764                     {
  1769                     {
  1765                     // Disable highlight on pointer up
  1770                     // Disable highlight on pointer up