diff -r a8834a2e9a96 -r c52421ed5f07 uifw/EikStd/coctlsrc/EIKLBX.CPP --- a/uifw/EikStd/coctlsrc/EIKLBX.CPP Wed Jun 09 09:58:37 2010 +0300 +++ b/uifw/EikStd/coctlsrc/EIKLBX.CPP Mon Jun 21 15:57:43 2010 +0300 @@ -4275,7 +4275,8 @@ TBool allowed = ETrue; if ( iListBoxExt && iListBoxExt->iPhysics - && aEvent != MEikListBoxObserver::EEventFlickStopped ) + && aEvent != MEikListBoxObserver::EEventFlickStopped + && aEvent != MEikListBoxObserver::EEventFlickStarted ) { allowed = iListBoxExt->iClickEventsAllowed; } @@ -5149,6 +5150,7 @@ // update index of the last down tapped item iListBoxExt->iLastDownTappedItem = itemIndex; + iListBoxExt->iMarkableListShiftKeyPressed = EFalse; if ((! (Rect().Contains(aPointerEvent.iPosition))) && (iListBoxFlags & EPopout)) { @@ -5312,7 +5314,7 @@ } } - if ( itemIndex == oldCurrentItemIndex ) + if ( itemIndex == oldCurrentItemIndex && !iListBoxExt->iSingleClickEnabled ) { if ( shiftKeyPressed ) { @@ -7150,7 +7152,15 @@ if ( iListBoxExt && iListBoxExt->iMarkableListMarking ) { - if ( iListBoxExt->iMarkableListShiftKeyPressed ) + if ( iListBoxExt->iSingleClickEnabled ) + { + if ( iListBoxExt->iMarkableListShiftKeyPressed ) + { + iView->ToggleItemL( iView->CurrentItemIndex() ); + iListBoxExt->iClickEventsAllowed = EFalse; + } + } + else if ( iListBoxExt->iMarkableListShiftKeyPressed ) { #ifdef RD_UI_TRANSITION_EFFECTS_LIST iListBoxExt->iAnchor = oldCurrentItemIndex;