--- 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 );
}