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 |