equal
deleted
inserted
replaced
76 |
76 |
77 #include <touchfeedback.h> |
77 #include <touchfeedback.h> |
78 #include <AknTasHook.h> |
78 #include <AknTasHook.h> |
79 #include <aknphysics.h> |
79 #include <aknphysics.h> |
80 #include <aknphysicsobserveriface.h> |
80 #include <aknphysicsobserveriface.h> |
81 #include <aknPriv.hrh> |
81 #include <AknPriv.hrh> |
82 #include "aknitemactionmenudata.h" |
82 #include "aknitemactionmenudata.h" |
83 #include "akntrace.h" |
83 #include "akntrace.h" |
84 |
84 |
85 // CONSTANTS |
85 // CONSTANTS |
86 const TInt KItemGranularity = 4; |
86 const TInt KItemGranularity = 4; |
642 feedbackType = static_cast<TTouchFeedbackType> ( ETouchFeedbackVibra | ETouchFeedbackAudio ); |
642 feedbackType = static_cast<TTouchFeedbackType> ( ETouchFeedbackVibra | ETouchFeedbackAudio ); |
643 } |
643 } |
644 case CAknPhysics::EAknPhysicsActionFlicking: |
644 case CAknPhysics::EAknPhysicsActionFlicking: |
645 case CAknPhysics::EAknPhysicsActionBouncing: |
645 case CAknPhysics::EAknPhysicsActionBouncing: |
646 { |
646 { |
647 ImmediateFeedback( ETouchFeedbackSensitiveList, |
647 ImmediateFeedback( ETouchFeedbackSensitiveItem, |
648 feedbackType ); |
648 feedbackType ); |
649 break; |
649 break; |
650 } |
650 } |
651 default: |
651 default: |
652 break; |
652 break; |
2792 if( AknLayoutUtils::PenEnabled() ) |
2792 if( AknLayoutUtils::PenEnabled() ) |
2793 { |
2793 { |
2794 TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; |
2794 TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; |
2795 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
2795 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
2796 { |
2796 { |
2797 fbLogicalType = ETouchFeedbackIncreasingPopUp; |
2797 fbLogicalType = ETouchFeedbackPopupOpen; |
2798 } |
2798 } |
2799 iExtension->ImmediateFeedback( fbLogicalType, |
2799 iExtension->ImmediateFeedback( fbLogicalType, |
2800 ETouchFeedbackVibra ); |
2800 ETouchFeedbackVibra ); |
2801 } |
2801 } |
2802 _AKNTRACE_FUNC_EXIT; |
2802 _AKNTRACE_FUNC_EXIT; |
4951 { |
4951 { |
4952 if( AknLayoutUtils::PenEnabled() ) |
4952 if( AknLayoutUtils::PenEnabled() ) |
4953 { |
4953 { |
4954 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
4954 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
4955 { |
4955 { |
4956 iExtension->ImmediateFeedback( ETouchFeedbackDecreasingPopUp ); |
4956 iExtension->ImmediateFeedback( ETouchFeedbackPopupClose ); |
4957 } |
4957 } |
4958 else |
4958 else |
4959 { |
4959 { |
4960 iExtension->ImmediateFeedback( ETouchFeedbackPopUp ); |
4960 iExtension->ImmediateFeedback( ETouchFeedbackPopUp ); |
4961 } |
4961 } |
5223 |
5223 |
5224 TryLaunchCascadeMenuL( *item ); |
5224 TryLaunchCascadeMenuL( *item ); |
5225 } |
5225 } |
5226 else if ( iExtension->iButtonDownItem == iSelectedItem ) |
5226 else if ( iExtension->iButtonDownItem == iSelectedItem ) |
5227 { |
5227 { |
5228 iExtension->ImmediateFeedback( ETouchFeedbackList, |
5228 iExtension->ImmediateFeedback( ETouchFeedbackBasicItem, |
5229 ETouchFeedbackVibra ); |
5229 ETouchFeedbackVibra ); |
5230 if( !IsCascadeMenuPane() ) |
5230 if( !IsCascadeMenuPane() ) |
5231 { |
5231 { |
5232 // EFalse = don't stop transition if opening the cascade menu |
5232 // EFalse = don't stop transition if opening the cascade menu |
5233 // just report selection |
5233 // just report selection |
5279 { |
5279 { |
5280 if ( iExtension->iFlickActive ) |
5280 if ( iExtension->iFlickActive ) |
5281 { |
5281 { |
5282 noSelection = ETrue; |
5282 noSelection = ETrue; |
5283 //when touch down during the flicking, play a basic list feedback |
5283 //when touch down during the flicking, play a basic list feedback |
5284 iExtension->ImmediateFeedback( ETouchFeedbackList ); |
5284 iExtension->ImmediateFeedback( ETouchFeedbackBasicItem ); |
5285 } |
5285 } |
5286 // stop physics for drag |
5286 // stop physics for drag |
5287 iExtension->iPhysics->StopPhysics(); |
5287 iExtension->iPhysics->StopPhysics(); |
5288 iExtension->iPhysics->ResetFriction(); |
5288 iExtension->iPhysics->ResetFriction(); |
5289 |
5289 |
5310 { |
5310 { |
5311 if( AknLayoutUtils::PenEnabled() ) |
5311 if( AknLayoutUtils::PenEnabled() ) |
5312 { |
5312 { |
5313 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
5313 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
5314 { |
5314 { |
5315 iExtension->ImmediateFeedback( ETouchFeedbackDecreasingPopUp ); |
5315 iExtension->ImmediateFeedback( ETouchFeedbackPopupClose ); |
5316 } |
5316 } |
5317 else |
5317 else |
5318 { |
5318 { |
5319 iExtension->ImmediateFeedback( ETouchFeedbackPopUp ); |
5319 iExtension->ImmediateFeedback( ETouchFeedbackPopUp ); |
5320 } |
5320 } |
5365 iExtension->iPressedDown = ETrue; |
5365 iExtension->iPressedDown = ETrue; |
5366 |
5366 |
5367 // Start timer for pressed highlight |
5367 // Start timer for pressed highlight |
5368 if ( !noSelection ) |
5368 if ( !noSelection ) |
5369 { |
5369 { |
5370 iExtension->ImmediateFeedback( ETouchFeedbackList ); |
5370 iExtension->ImmediateFeedback( ETouchFeedbackBasicItem ); |
5371 iExtension->StartHighlightTimerL(); |
5371 iExtension->StartHighlightTimerL(); |
5372 } |
5372 } |
5373 iExtension->iNextHighlightItem = ii; |
5373 iExtension->iNextHighlightItem = ii; |
5374 iExtension->iButtonDownItem = ii; |
5374 iExtension->iButtonDownItem = ii; |
5375 |
5375 |
5376 // down even on already highlighted item => list feedback |
5376 // down even on already highlighted item => list feedback |
5377 if ( iExtension->iButtonDownItem == iSelectedItem ) |
5377 if ( iExtension->iButtonDownItem == iSelectedItem ) |
5378 { |
5378 { |
5379 iExtension->ImmediateFeedback( ETouchFeedbackList ); |
5379 iExtension->ImmediateFeedback( ETouchFeedbackBasicItem ); |
5380 } |
5380 } |
5381 if ( noSelection ) |
5381 if ( noSelection ) |
5382 { |
5382 { |
5383 iExtension->iButtonDownItem = KErrNotFound; |
5383 iExtension->iButtonDownItem = KErrNotFound; |
5384 } |
5384 } |
5438 { |
5438 { |
5439 if( AknLayoutUtils::PenEnabled() ) |
5439 if( AknLayoutUtils::PenEnabled() ) |
5440 { |
5440 { |
5441 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
5441 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
5442 { |
5442 { |
5443 iExtension->ImmediateFeedback( ETouchFeedbackDecreasingPopUp ); |
5443 iExtension->ImmediateFeedback( ETouchFeedbackPopupClose ); |
5444 } |
5444 } |
5445 else |
5445 else |
5446 { |
5446 { |
5447 iExtension->ImmediateFeedback( ETouchFeedbackPopUp ); |
5447 iExtension->ImmediateFeedback( ETouchFeedbackPopUp ); |
5448 } |
5448 } |
5547 { |
5547 { |
5548 if ( CAknTransitionUtils::TransitionsEnabled( |
5548 if ( CAknTransitionUtils::TransitionsEnabled( |
5549 AknTransEffect::EComponentTransitionsOff ) ) |
5549 AknTransEffect::EComponentTransitionsOff ) ) |
5550 { |
5550 { |
5551 iExtension->ImmediateFeedback( |
5551 iExtension->ImmediateFeedback( |
5552 ETouchFeedbackDecreasingPopUp ); |
5552 ETouchFeedbackPopupClose ); |
5553 } |
5553 } |
5554 else |
5554 else |
5555 { |
5555 { |
5556 iExtension->ImmediateFeedback( |
5556 iExtension->ImmediateFeedback( |
5557 ETouchFeedbackPopUp ); |
5557 ETouchFeedbackPopUp ); |
6103 default: |
6103 default: |
6104 update = EFalse; |
6104 update = EFalse; |
6105 break; |
6105 break; |
6106 } |
6106 } |
6107 |
6107 |
6108 |
6108 // if topItem changed, then draw menu again. |
|
6109 if ( newTopItem != topItem ) |
|
6110 { |
6109 #ifdef RD_UI_TRANSITION_EFFECTS_LIST |
6111 #ifdef RD_UI_TRANSITION_EFFECTS_LIST |
6110 if ( effects ) |
6112 if ( effects ) |
6111 { |
6113 { |
6112 transApi->SetMoveType( newTopItem > topItem ? |
6114 transApi->SetMoveType( newTopItem > topItem ? |
6113 MAknListBoxTfxInternal::EListScrollDown : |
6115 MAknListBoxTfxInternal::EListScrollDown : |
6121 iExtension->iViewPosition.iY = |
6123 iExtension->iViewPosition.iY = |
6122 iExtension->iListTopIndex + iExtension->iViewHeight / 2; |
6124 iExtension->iListTopIndex + iExtension->iViewHeight / 2; |
6123 |
6125 |
6124 iExtension->ViewPositionChanged( iExtension->iViewPosition ); |
6126 iExtension->ViewPositionChanged( iExtension->iViewPosition ); |
6125 |
6127 |
|
6128 } |
6126 } |
6129 } |
6127 _AKNTRACE_FUNC_EXIT; |
6130 _AKNTRACE_FUNC_EXIT; |
6128 } |
6131 } |
6129 |
6132 |
6130 // ----------------------------------------------------------------------------- |
6133 // ----------------------------------------------------------------------------- |