diff -r bf64cebf4673 -r 53c8aa5d97a3 camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp --- a/camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp Tue May 11 15:56:11 2010 +0300 +++ b/camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp Tue May 25 12:22:04 2010 +0300 @@ -126,31 +126,35 @@ TKeyResponse CCamCaptureSetupListBox::OfferKeyEventL( const TKeyEvent& aKeyEvent,TEventCode aType ) { PRINT( _L("Camera => CCamCaptureSetupListBox::OfferKeyEventL" )) - // If the Select or navi key select button is pressed, select the current item - if ( ( aKeyEvent.iCode == EKeyOK && aKeyEvent.iRepeats == 0 && aType == EEventKey ) - || aKeyEvent.iScanCode == EStdKeyDevice0 ) + + if ( !IsHighlightEnabled() && + aKeyEvent.iCode != EKeyUpArrow && + aKeyEvent.iCode != EKeyDownArrow ) { - iView->ClearSelection(); - iView->SelectItemL( iView->CurrentItemIndex() ); - } - //TInt oldCurrentItem = CurrentItemIndex(); - //TKeyResponse response = CEikListBox::OfferKeyEventL( aKeyEvent, aType ); - TKeyResponse response = EKeyWasConsumed; - /*TInt newCurrentItem = CurrentItemIndex(); + PRINT( _L("Camera <= CCamCaptureSetupListBox::OfferKeyEventL highlight not visible" )) + return EKeyWasNotConsumed; + } + + TInt oldCurrentItem = CurrentItemIndex(); + TKeyResponse response = CEikListBox::OfferKeyEventL( aKeyEvent, aType ); + TInt newCurrentItem = CurrentItemIndex(); + if ( newCurrentItem != oldCurrentItem ) { - PRINT( _L("Camera => CCamCaptureSetupListBox::OfferKeyEventL set obs" )) + PRINT( _L("Camera <> CCamCaptureSetupListBox::OfferKeyEventL set obs" )) MCamListboxModel* model = static_cast( iModel ); iSettingObserver->HandleSettingValueUpdateL( model->ItemValue( newCurrentItem ) ); - }*/ + } + else + { + PRINT( _L("Camera <= CCamCaptureSetupListBox::OfferKeyEventL EKeyWasConsumed" )) + response = EKeyWasConsumed; + } + + PRINT( _L("Camera <= CCamCaptureSetupListBox::OfferKeyEventL" )) return response; } - - - - - // --------------------------------------------------------------------------- // CCamCaptureSetupListBox::HandlePointerEventL // Handle pointer events