apengine/apsettingshandlerui/src/ApSelPopupList.cpp
branchRCL_3
changeset 23 fc7b30ed2058
parent 18 04408506c6e0
child 24 05bc53fe583b
--- a/apengine/apsettingshandlerui/src/ApSelPopupList.cpp	Thu Jul 15 19:05:04 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSelPopupList.cpp	Thu Aug 19 10:18:49 2010 +0300
@@ -243,7 +243,8 @@
 iVpnFilterType( aVpnFilterType ),
 iVariant( aHandler.iExt->iVariant ),
 iIncludeEasyWlan( EFalse ),
-iNoEdit( aNoEdit )
+iNoEdit( aNoEdit ),
+iFirstEnter( ETrue )
     {
     }
 
@@ -281,7 +282,8 @@
 iVariant( aHandler.iExt->iVariant ),
 iIncludeEasyWlan( aIncludeEasyWlan ),
 iInitialised( EFalse ),
-iNoEdit( aNoEdit )
+iNoEdit( aNoEdit ),
+iFirstEnter( ETrue )
     {
     }
 
@@ -837,11 +839,29 @@
                 ( ( iSelMenuType == EApSettingsSelMenuSelectOnly ) ||
                     ( iSelMenuType == EApSettingsSelMenuSelectNormal ) ) )
                 { // process only if command is available...
-                ProcessCommandL( EApSelCmdSelect );
-                retval = EKeyWasConsumed;
+                if ( aKeyEvent.iCode == EKeyEnter  &&  iFirstEnter )
+                    {//pressing the enter key at the first time will be changed
+                     //to an up arrow key so the first item in the list will be highlighted
+                    iFirstEnter = EFalse;
+                    iPreferredUid = 0;
+                    SetHighlighted();
+                    TKeyEvent aKeyEventmy = aKeyEvent;
+                    aKeyEventmy.iCode = EKeyUpArrow;
+                    retval = CAknRadioButtonSettingPage::OfferKeyEventL( aKeyEventmy, aType );
+                    }
+                else
+                    {
+                    iFirstEnter = ETrue; //change back to true for the next session
+                    ProcessCommandL( EApSelCmdSelect );
+                    retval = EKeyWasConsumed;
+                    }
                 }
             else
                 {
+                if ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow )
+                    {//we will have highligt so the following enter key should select the item
+                    iFirstEnter = EFalse;
+                    }
                 retval = CAknRadioButtonSettingPage::OfferKeyEventL(
                                         aKeyEvent, aType );
                 }