--- a/uifw/EikStd/coctlsrc/aknstyluspopupmenuphysicshandler.cpp Thu Aug 19 10:11:06 2010 +0300
+++ b/uifw/EikStd/coctlsrc/aknstyluspopupmenuphysicshandler.cpp Tue Aug 31 15:28:30 2010 +0300
@@ -110,7 +110,7 @@
if ( feedback )
{
feedback->InstantFeedback( NULL,
- ETouchFeedbackList,
+ ETouchFeedbackBasicItem,
aPointerEvent );
}
}
@@ -146,6 +146,17 @@
iPressedDown = EFalse;
TPoint adjustedPosition( aPointerEvent.iPosition + TPoint(0, Offset() ) );
TInt item = iPopUpMenuContent->ContainingItem( adjustedPosition );
+ if ( item != KNoItemSelected )
+ {
+ MTouchFeedback* feedback = MTouchFeedback::Instance();
+ if ( feedback )
+ {
+ feedback->InstantFeedback( NULL,
+ ETouchFeedbackBasicItem,
+ ETouchFeedbackVibra,
+ aPointerEvent );
+ }
+ }
TPoint distance( 0, iStartPosition.iY - aPointerEvent.iPosition.iY );
if ( iPhysics->StartPhysics( distance, iStartTime ) )
@@ -159,16 +170,7 @@
{
if ( iViewRect.Contains( aPointerEvent.iPosition ) )
{
- if( AknLayoutUtils::PenEnabled() )
- {
- MTouchFeedback* feedback = MTouchFeedback::Instance();
- if( feedback )
- {
- feedback->InstantFeedback( NULL, ETouchFeedbackList,
- ETouchFeedbackVibra, aPointerEvent );
- }
- }
- iPopUpMenuContent->SelectItemL(
+ iPopUpMenuContent->SelectItem(
iPopUpMenuContent->CurrentItem() );
}
else
@@ -242,10 +244,7 @@
TSize viewSize( iViewRect.Width(), iViewRect.Height() );
iPhysics->InitPhysicsL( worldSize, viewSize, EFalse );
- if ( iPopUpMenuContent->IsVisible() )
- {
- iPhysics->UpdateViewWindowControl( iPopUpMenuContent );
- }
+ iPhysics->UpdateViewWindowControl( iPopUpMenuContent );
}
@@ -282,10 +281,6 @@
TBool aDrawNow,
TUint /*aFlags*/ )
{
- if ( !iPopUpMenuContent->IsVisible() )
- {
- return;
- }
iScrollIndex = aNewPosition.iY - iViewRect.Height() / 2;
ScrollView( aDrawNow );
@@ -383,24 +378,29 @@
iPrevTopmostItem = topmostItem;
//when appear or dispear a tiem,a feedback was given.
- if ( abs( iPrevOffset ) < iViewRect.Height() + iItemHeight
+ if ( abs( iPrevOffset ) <= iViewRect.Height()
&& ( iPrevOffset/iItemHeight ) != iOffsetItemCount )
{
if ( iPhysics )
{
- switch(iPhysics->OngoingPhysicsAction())
+ TTouchFeedbackType feedbackType = ETouchFeedbackVibra;
+ switch( iPhysics->OngoingPhysicsAction() )
{
+ case CAknPhysics::EAknPhysicsActionDragging:
+ {
+ feedbackType = static_cast<TTouchFeedbackType>
+ ( ETouchFeedbackVibra | ETouchFeedbackAudio );
+ }
+ case CAknPhysics::EAknPhysicsActionFlicking:
case CAknPhysics::EAknPhysicsActionBouncing:
- case CAknPhysics::EAknPhysicsActionDragging:
- case CAknPhysics::EAknPhysicsActionFlicking:
{
MTouchFeedback* feedback = MTouchFeedback::Instance();
if ( feedback )
{
feedback->InstantFeedback( iPopUpMenuContent,
- ETouchFeedbackSensitiveList,
- ETouchFeedbackVibra,
- TPointerEvent() );
+ ETouchFeedbackSensitiveItem,
+ feedbackType,
+ TPointerEvent() );
}
break;
}
@@ -408,8 +408,8 @@
break;
}
}
- iOffsetItemCount = iPrevOffset/iItemHeight;
}
+ iOffsetItemCount = iPrevOffset/iItemHeight;
}
}