diff -r f7f0874bfe7d -r 6b87b143d312 photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp --- a/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Tue Feb 02 10:12:14 2010 +0200 +++ b/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Fri Feb 19 22:51:01 2010 +0200 @@ -236,24 +236,6 @@ } } - -//---------------------------------------------------------------------------------- -// StartZoomTimer:Starts the Zoom timer for continous zoom -//---------------------------------------------------------------------------------- -// -void CGlxZoomPanEventHandler::StartZoomTimer() - { - TRACER("CGlxZoomPanEventHandler::StartZoomTimer"); - - if (iZoomPanTimer->IsActive()) - { - iZoomPanTimer->Cancel(); - } - iZoomPanTimer->Start( KTimerLengthInMicroseconds, - KTimerLengthInMicroseconds, - TCallBack( ZoomIntervalExpired,(TAny*)this) ); - } - //---------------------------------------------------------------------------------- // StartPanTimer:Starts the Pan timer for continous Panning //---------------------------------------------------------------------------------- @@ -405,28 +387,7 @@ HandleZoomStripeAction(EZoomOut,aEvent.Code()); consumed = ETrue; break ; - } - case EStdKeyIncVolume : - case EKeyZoomIn : - case EStdKeyNkpAsterisk : - { - GLX_LOG_INFO1("CGlxZoomControl::HandlekeyEvents VLUP=%d", aEvent.KeyEvent().iScanCode ); - if (iZoomActivated) - { - HandleZoomKey(EZoomIn, aEvent.Code()); - } - consumed = ETrue; - break; - } - case EStdKeyDecVolume : - case EKeyZoomOut : - case EStdKeyHash : - { - GLX_LOG_INFO1("CGlxZoomControl::HandlekeyEvents VLUP_D=%d", aEvent.KeyEvent().iScanCode ); - HandleZoomKey(EZoomOut, aEvent.Code()); - consumed = ETrue; - break; - } + } default: break; } @@ -436,29 +397,6 @@ } // ----------------------------------------------------------------------------- -// HandleZoomKey:Starts the Timer for contionous zoom -// ----------------------------------------------------------------------------- -// -void CGlxZoomPanEventHandler::HandleZoomKey(TZoomMode aZoomMode ,const TEventCode aEventCode ) - { - TRACER("CGlxZoomControl::HandleZoomKey "); - - if ( EEventKeyDown == aEventCode ) - { - CancelUITimer(); - iZoomEventHandler.HandleShowUi(ETrue); - iZoomMode = aZoomMode ; - StartZoomTimer(); - } - else if ( EEventKeyUp == aEventCode ) - { - CancelZoomPanTimer(); - StartUITimer(KGlxScreenTimeout,KGlxScreenTimeout,TCallBack( - UiTimeOut,this )) ; - } - } - -// ----------------------------------------------------------------------------- // HandleZoomStripeAction:Zooms the image on zoom stripe action. // ----------------------------------------------------------------------------- // @@ -847,18 +785,6 @@ } //---------------------------------------------------------------------------------- -// ZoomTimerCallback:Callback function for the Zoom timer -//---------------------------------------------------------------------------------- -// -TInt CGlxZoomPanEventHandler::ZoomIntervalExpired(TAny* aPtr) - { - TRACER("CGlxZoomControl::ZoomIntervalExpired "); - CGlxZoomPanEventHandler* self = static_cast(aPtr); - self->DoZoom(); - return 0; // Timer has finished - } - -//---------------------------------------------------------------------------------- // PanIntervalExpired:Callback function for the pan timer //---------------------------------------------------------------------------------- // @@ -871,16 +797,6 @@ return 0; // Timer has finished } -//---------------------------------------------------------------------------------- -// DoZoom:calls zooming function and updates the slider value -//---------------------------------------------------------------------------------- -// -void CGlxZoomPanEventHandler::DoZoom() - { - TRACER("CGlxZoomPanEventHandler::DoZoom "); - Zoom(0, 0, iZoomMode); - } - //---------------------------------------------------------------------------------- // DoPan:calls Panning function. @@ -913,9 +829,9 @@ { TRACER("CGlxZoomPanEventHandler::OrientationChanged "); + iMathsEngine.OrientationChanged(aNewScreenRect); // Needs to be called before Call to Zoom() inorder to Update the iScreenSize. + Zoom(0, 0, iZoomMode) ; - - iMathsEngine.OrientationChanged(aNewScreenRect); } // ----------------------------------------------------------------------------- @@ -952,7 +868,7 @@ // ActivateZoom // ----------------------------------------------------------------------------- // -void CGlxZoomPanEventHandler::ActivateZoom(TInt /*aInitialZoomRatio*/, +void CGlxZoomPanEventHandler::ActivateZoom(TInt aInitialZoomRatio, TSize aImageSize, TZoomStartMode aStartMode, TInt aMinSliderRange, @@ -975,6 +891,8 @@ // Minimum and Maximum Zoom Ratio iMinZoomRatio = iZoomRatio = aMinSliderRange; iMaxZoomRatio = aMaxSliderRange ; + + iInitialZoomRatio = aInitialZoomRatio; iMathsEngine.Initialize(center, screenSize, @@ -992,7 +910,12 @@ { case EZoomStartKey : { - StartZoomTimer(); + // Fix for issue EPKA-7ZX8FR: Vasco_wk03: Zoom In Key (Volume Up Key), + // gradually Zooms the image to full extent on a single click. + + // We are not getting keyup event which cancle the timer so not + // starting timer to do zoom + Zoom(0, 0, iZoomMode); } break; case EZoomStartDoubleTap : @@ -1048,7 +971,7 @@ // Todo: Combine both these HandleEvents TBool CGlxZoomPanEventHandler::HandleEvent( const TAlfEvent& aEvent ) { - TRACER("CGlxZoomControl::HandleEvent()"); + TRACER("CGlxZoomPanEventHandler::HandleEvent()"); TBool eventHandledState = EFalse; @@ -1123,7 +1046,7 @@ // TBool CGlxZoomPanEventHandler::HandleEventL(const TAlfEvent &aEvent) { - TRACER("CGlxZoomControl::HandleEventL()"); + TRACER("CGlxZoomPanEventHandler::HandleEventL()"); TBool consumed = EFalse; @@ -1145,14 +1068,25 @@ // ----------------------------------------------------------------------------- +// ZoomToMinimum +// ----------------------------------------------------------------------------- +// +void CGlxZoomPanEventHandler::ZoomToMinimumL() + { + TRACER("CGlxZoomPanEventHandler::ZoomToMinimumL( )"); + + Zoom(iInitialZoomRatio, 0, EZoomOut); + CallZoomOutL(); + } + + +// ----------------------------------------------------------------------------- // Zoom // ----------------------------------------------------------------------------- // - - void CGlxZoomPanEventHandler::Zoom(TInt aExpectedZoomLevel, TInt aRelativeZoomFactor, TZoomMode aZoomMode, TPoint* aZoomFocus) { - TRACER("CGlxZoomControl::ZoomL( )"); + TRACER("CGlxZoomPanEventHandler::ZoomL( )"); TPoint viewPortTopLeft(0,0); TSize viewPortDimension(0,0);