# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1273583755 -10800 # Node ID 4e9858fa9559dcdaf6325a7b12a8b82bba32339d # Parent 856ae1b15d984a81bba70aa92626e4ae3babbc9d Revision: 201017 Kit: 201019 diff -r 856ae1b15d98 -r 4e9858fa9559 vtengines/videoteleng/Inc/Base/CVtEngSATClient.h --- a/vtengines/videoteleng/Inc/Base/CVtEngSATClient.h Tue Apr 27 16:40:55 2010 +0300 +++ b/vtengines/videoteleng/Inc/Base/CVtEngSATClient.h Tue May 11 16:15:55 2010 +0300 @@ -23,8 +23,8 @@ // INCLUDES #include #include -#include -#include +#include +#include // CLASS DECLARATION diff -r 856ae1b15d98 -r 4e9858fa9559 vtengines/videoteleng/Src/Media/CVtEngDrawNGA.cpp --- a/vtengines/videoteleng/Src/Media/CVtEngDrawNGA.cpp Tue Apr 27 16:40:55 2010 +0300 +++ b/vtengines/videoteleng/Src/Media/CVtEngDrawNGA.cpp Tue May 11 16:15:55 2010 +0300 @@ -27,6 +27,7 @@ #include #include #include +#include // Reversed enumeration for the bitmaps. static const MDisplaySink::TBitmapNo KVtEngBitmapNoReversed[] = @@ -525,7 +526,7 @@ iCallBackTable[surfaceno]->SetActive(); iSurfaceUpdateSession.NotifyWhenDisplayed(iCallBackTable[surfaceno]->iStatus, iTimeStamp); iSubmitPending = ETrue; - iSurfaceUpdateSession.SubmitUpdate(0, iSurfaceId, surfaceno, NULL); + iSurfaceUpdateSession.SubmitUpdate( KAllScreens, iSurfaceId, surfaceno, NULL ); buffer.UnSet(); } if ( iSurfaceBuffers[ KVtEngBitmapNoReversed[ bitmapNo ] ].IsSet() ) @@ -886,7 +887,7 @@ iCallBackTable[surfaceno]->SetActive(); iSurfaceUpdateSession.NotifyWhenDisplayed(iCallBackTable[surfaceno]->iStatus, iTimeStamp); iSubmitPending = ETrue; - iSurfaceUpdateSession.SubmitUpdate(0, iSurfaceId, surfaceno, NULL); + iSurfaceUpdateSession.SubmitUpdate( KAllScreens, iSurfaceId, surfaceno, NULL ); iWaitingBuffers.Remove(*buffer); buffer->UnSet(); } @@ -919,7 +920,7 @@ iCallBackTable[surfaceno]->SetActive(); iSurfaceUpdateSession.NotifyWhenDisplayed(iCallBackTable[surfaceno]->iStatus, iTimeStamp); iSubmitPending = ETrue; - iSurfaceUpdateSession.SubmitUpdate(0, iSurfaceId, surfaceno, NULL); + iSurfaceUpdateSession.SubmitUpdate( KAllScreens, iSurfaceId, surfaceno, NULL ); iWaitingBuffers.Remove(*buffer); buffer->UnSet(); } diff -r 856ae1b15d98 -r 4e9858fa9559 vtengines/videoteleng/Src/Media/CVtEngMediaHandler.cpp --- a/vtengines/videoteleng/Src/Media/CVtEngMediaHandler.cpp Tue Apr 27 16:40:55 2010 +0300 +++ b/vtengines/videoteleng/Src/Media/CVtEngMediaHandler.cpp Tue May 11 16:15:55 2010 +0300 @@ -1498,7 +1498,7 @@ // Set default frame rate and send indication to peer if ( !IsFlag( EVideoQualitySetByPeer ) ) { - SetVideoQualityL( EVideoQualityNormal, EFalse ); + SetVideoQualityL( EVideoQualityNormal, ETrue ); } __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, diff -r 856ae1b15d98 -r 4e9858fa9559 vtprotocolplugins/VideoSource/src/cmultiframeprovider.cpp --- a/vtprotocolplugins/VideoSource/src/cmultiframeprovider.cpp Tue Apr 27 16:40:55 2010 +0300 +++ b/vtprotocolplugins/VideoSource/src/cmultiframeprovider.cpp Tue May 11 16:15:55 2010 +0300 @@ -579,12 +579,17 @@ } // Allways inform Decoding problems else - { + { iObserver->NotifyImageHandlingError( aError ); delete iTempBM; - delete iMask; - iMask = NULL; - iTempBM = NULL; + delete iMask; + iMask = NULL; + iTempBM = NULL; + // GIF used when error happen + if ( iCount > 1 ) + { + iCount = 1; + } } __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConversionFinished() error %d <<"), RThread().Id().operator TUint(), aError)); } diff -r 856ae1b15d98 -r 4e9858fa9559 vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h --- a/vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h Tue Apr 27 16:40:55 2010 +0300 +++ b/vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h Tue May 11 16:15:55 2010 +0300 @@ -153,6 +153,9 @@ // Resizes backround bitmap void ResizeBackroundBitmapRect( ); + + // Sort controls window position + void SortControlsWindowPoistion(); protected: @@ -169,8 +172,8 @@ // Contains currenltly supported items in setting page RArray< TInt> iActiveItems; - // whether or not has a pending command - TBool iPendingSettingChangeCmd; + // whether or not has a pending command + TBool iPendingSettingChangeCmd; private: @@ -191,27 +194,6 @@ // Reference to appui CVtUiAppUi& iAppUi; - - // Window priority for context control - TInt iContextControlWindowPriority; - - // Window position for context control - TInt iContextControlWindowPosition; - - // Window priority for remote video control - TInt iRemoteVideoControlWindowPriority; - - // Window position for remote video control - TInt iRemoteVideoControlWindowPosition; - - // Window priority for end call button pane - TInt iEndCallButtonPanePriority; - - // Window position for end call button pane - TInt iEndCallButtonPanePosition; - - // Window priority for main control - TInt iMainControlWindowPriority; }; #endif // CVTUIPEFSETTINGLISTBASE_H diff -r 856ae1b15d98 -r 4e9858fa9559 vtuis/videotelui/src/CVtUiAppUi.cpp --- a/vtuis/videotelui/src/CVtUiAppUi.cpp Tue Apr 27 16:40:55 2010 +0300 +++ b/vtuis/videotelui/src/CVtUiAppUi.cpp Tue May 11 16:15:55 2010 +0300 @@ -158,7 +158,7 @@ const TInt KVtUiRemoteVideoControlOrdinalPriNormal = 0; // Remote video control high priority -const TInt KVtUiRemoteVideoControlOrdinalPriHigh = 2; +const TInt KVtUiRemoteVideoControlOrdinalPriHigh = 1; // Name of the EIKON server window group. _LIT( KVtUiEikonServer, "EikonServer" ); @@ -1855,6 +1855,16 @@ RefreshBlind(); UpdateRenderingParametersL(); + // Raise the menu priority, otherwise the remote video control may + // overlay the menu pane + CEikMenuBar* menuBar = iEikonEnv->AppUiFactory()->MenuBar(); + if ( menuBar && menuBar->IsDisplayed() ) + { + TInt mpPos = menuBar->MenuPane()->DrawableWindow()->OrdinalPosition(); + menuBar->MenuPane()->DrawableWindow()->SetOrdinalPosition( mpPos, + KVtUiRemoteVideoControlOrdinalPriHigh ); // Pri = 1 + } + if ( aMode == ERenderingModeDialer ) { // Remote video control has the highest priority in dialer @@ -2494,7 +2504,8 @@ { iInstance->iNaviPane->HandleResourceChange( aType ); } - if ( layoutChange ) + // Handle layout change only when type == DLVS + if ( aType == KEikDynamicLayoutVariantSwitch ) { (void) HandleLayoutChanged(); } @@ -6516,9 +6527,31 @@ // end the capture mode if( iAppUi.iUiStates->IsCaptureModeOn() ) { + __VTPRINT( DEBUG_GEN, "CVtUiAppUi.VolumeKeyPressedL cancel capture" ) iAppUi.CmdCancelCaptureL(); } + else if ( iAppUi.iUiStates->IsZoomModeOn() ) + { + // If zoom feature is active, stop that + MVtUiFeature* zm = iAppUi.iFeatureManager->GetFeatureById( EVtUiFeatureIdZoom ); + if ( zm ) + { + if ( zm->State() == MVtUiFeature::EActive ) + { + __VTPRINT( DEBUG_GEN, "CVtUiAppUi.VolumeKeyPressedL zm->STOP" ) + zm->Stop(); + } + } + } volume->StartL(); + + // Toolbar needs to be refreshed if zoom, contrat and brightness were dismissed + CVtUiToolbarBase* tb = static_cast< CVtUiToolbarBase* >( + iAppUi.iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar ) ); + if ( tb ) + { + tb->RefreshL(); + } } } __VTPRINTEXIT( "CVtUiAppUi.VolumeKeyPressedL" ) diff -r 856ae1b15d98 -r 4e9858fa9559 vtuis/videotelui/src/features/dialer/cvtuidialercontainer.cpp --- a/vtuis/videotelui/src/features/dialer/cvtuidialercontainer.cpp Tue Apr 27 16:40:55 2010 +0300 +++ b/vtuis/videotelui/src/features/dialer/cvtuidialercontainer.cpp Tue May 11 16:15:55 2010 +0300 @@ -25,6 +25,7 @@ #include #include #include +#include #include "VtUiUtility.h" #include "VtUiLayout.h" @@ -38,10 +39,16 @@ #include "CVtUiAppUi.h" #include "mvtuicommandmanager.h" #include "cvtuidtmfbuffer.h" - +#include "CVtUiMainControl.h" +#include "CVtUiContextControl.h" +#include "CVtUiRemoteVideoControl.h" +#include "CVtUiEndCallButtonPane.h" // Index of white color. const TInt KVtUiColorWhite = 0; +const TInt KVtUiActOrdinalPos = 2; +const TInt KVtUiDeactOrdinalPos = 4; + // Implementation of TVtUiMiniDialerComponentState // --------------------------------------------------------------------------- @@ -143,6 +150,21 @@ iUiStates.SetIsDialerActivating( EFalse ); LayoutDialerContainer(); Reset(); + + // Sort control windows' ordinal pos + TInt ordinalPos = KVtUiActOrdinalPos; + CVtUiAppUi& appUi = iFeatureManager->AppUi(); + appUi.MainControl().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + appUi.MainControl().DrawableWindow()->OrdinalPriority() ); + + appUi.CurrentFixedToolbar()->DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + appUi.CurrentFixedToolbar()->DrawableWindow()->OrdinalPriority() ); + + iDialer->DrawableWindow()->SetOrdinalPosition( + ordinalPos--, iDialer->DrawableWindow()->OrdinalPriority() ); + iVideoControl->MakeVisible( ETrue ); iDialer->MakeVisible( ETrue ); MakeVisible( ETrue ); @@ -172,6 +194,30 @@ iFeatureManager->CommandManager(). RemoveCommandModifier( *iSKModifier ); iUiStates.SetIsDialerOpen( EFalse ); + + // Sort control windows' ordinal pos + TInt ordinalPos = KVtUiDeactOrdinalPos; + CVtUiAppUi& appUi = iFeatureManager->AppUi(); + appUi.MainControl().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + appUi.MainControl().DrawableWindow()->OrdinalPriority() ); + + appUi.CurrentFixedToolbar()->DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + appUi.CurrentFixedToolbar()->DrawableWindow()->OrdinalPriority() ); + + appUi.EndCallButtonPane().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + appUi.EndCallButtonPane().DrawableWindow()->OrdinalPriority() ); + + appUi.ContextControl().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + appUi.ContextControl().DrawableWindow()->OrdinalPriority() ); + + appUi.RemoteVideoControl().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + appUi.RemoteVideoControl().DrawableWindow()->OrdinalPriority() ); + iVideoControl->MakeVisible( EFalse ); iDialer->MakeVisible( EFalse ); MakeVisible( EFalse ); @@ -318,11 +364,6 @@ iVideoControl = CVtUiDialerVideoControl::NewL( aBitmapManager ); iDialer = CVideoDTMFDialer::NewL( *this, *iVideoControl, DialerRect() ); - // Dialer has the higher priority - iDialer->DrawableWindow()->SetOrdinalPosition( - iDialer->DrawableWindow()->OrdinalPosition(), - iDialer->DrawableWindow()->OrdinalPriority() + 1 ); - iSKModifier = CVtUiDialerSKModifier::NewL( *iFeatureManager ); // Disable fading when using DP (eliminates nasty color error) if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) ) diff -r 856ae1b15d98 -r 4e9858fa9559 vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.cpp --- a/vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.cpp Tue Apr 27 16:40:55 2010 +0300 +++ b/vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.cpp Tue May 11 16:15:55 2010 +0300 @@ -21,6 +21,7 @@ #include #include #include +#include #include "cvtuiprefsettinglistbase.h" #include "CVtUiAppUi.h" @@ -37,7 +38,7 @@ // constants static const TInt KMaxNumberOfArrayItems = 5; static const TInt KMaxNumberOfActiveItems = 5; -static const TInt KOrdinalPositionBase = 3; +static const TInt KOrdinalPositionBase = 4; // --------------------------------------------------------------------------- // CVtUiPrefSettingListBase::~CVtUiPrefSettingListBase @@ -158,48 +159,12 @@ // Swap image places if needed iAppUi.SwitchViewFinderToMainPaneL(); - // Get context control's window priority and position - iContextControlWindowPriority = iAppUi.ContextControl().DrawableWindow() - ->OrdinalPriority(); - iContextControlWindowPosition = iAppUi.ContextControl().DrawableWindow() - ->OrdinalPosition(); - - // Get main control's window priority - iMainControlWindowPriority= iAppUi.MainControl().DrawableWindow() - ->OrdinalPriority(); - - // Get remote video control's window priority and position - iRemoteVideoControlWindowPriority = - iAppUi.RemoteVideoControl().DrawableWindow()->OrdinalPriority(); - iRemoteVideoControlWindowPosition = - iAppUi.RemoteVideoControl().DrawableWindow()->OrdinalPosition(); + // Creates setting page first + CreateSettingPageL(); - // Get end call button pane priority and position - iEndCallButtonPanePriority = - iAppUi.EndCallButtonPane().DrawableWindow()->OrdinalPriority(); - iEndCallButtonPanePosition = - iAppUi.EndCallButtonPane().DrawableWindow()->OrdinalPosition(); - - // Rise context control's window priority othwerwise setting page will be - // drawn partially over the context control window. - iAppUi.ContextControl().DrawableWindow()->SetOrdinalPosition( - iContextControlWindowPosition, - iContextControlWindowPriority + 1 ); - - // Rise remote video control's window priority othwerwise setting page - // will be drawn partially over the context control window. - iAppUi.RemoteVideoControl().DrawableWindow()->SetOrdinalPosition( - iRemoteVideoControlWindowPosition, - iRemoteVideoControlWindowPriority + 2 ); - - // Rise end call button pane priority othwerwise setting page - // will be drawn partially over the context control window. - iAppUi.EndCallButtonPane().DrawableWindow()->SetOrdinalPosition( - iEndCallButtonPanePosition, - iEndCallButtonPanePriority + 1 ); + // Sort controls window position + SortControlsWindowPoistion(); - // Creates setting page - CreateSettingPageL(); // Launch setting page. iSettingPage->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted, EFalse ); iSettingPage = NULL; @@ -213,8 +178,6 @@ void CVtUiPrefSettingListBase::StopSettingPageL() { __VTPRINTENTER( "CVtUiPrefSettingListBase.StopSettingPageL" ) - // Swap image places if needed - iAppUi.RestoreViewFinderL(); if ( iSettingPage) { @@ -224,28 +187,11 @@ iSettingPage->OfferKeyEventL( keyEvent, EEventKey ); } - TInt ordinalPos = KOrdinalPositionBase; + // Sort controls window position + SortControlsWindowPoistion(); - // Set main control priority and position back to - // orginal value. - iAppUi.MainControl().DrawableWindow()->SetOrdinalPosition( - ordinalPos--, iMainControlWindowPriority ); - - // Set end call button pane priority and position back to - // orginal value. - iAppUi.EndCallButtonPane().DrawableWindow()->SetOrdinalPosition( - ordinalPos--, iEndCallButtonPanePriority ); - - // Set context control's window priority and position back to - // orginal value. - iAppUi.ContextControl().DrawableWindow()->SetOrdinalPosition( - ordinalPos--, iContextControlWindowPriority ); - - // Set remote video control's window priority and position back to - // orginal value. - iAppUi.RemoteVideoControl().DrawableWindow()->SetOrdinalPosition( - ordinalPos--, - iRemoteVideoControlWindowPriority ); + // Swap image places if needed + iAppUi.RestoreViewFinderL(); __VTPRINTEXIT( "CVtUiPrefSettingListBase.StopSettingPageL" ) } @@ -411,3 +357,47 @@ iBitmapTopLeftCorner = iStreamLayout.Rect().iTl; __VTPRINTEXIT( "CVtUiPrefSettingListBase.ResizeBackroundBitmapRect" ) } + +// --------------------------------------------------------------------------- +// CVtUiPrefSettingListBase::SortControlsWindowPoistion +// --------------------------------------------------------------------------- +// +void CVtUiPrefSettingListBase::SortControlsWindowPoistion() + { + TInt ordinalPos = KOrdinalPositionBase; + + if ( iSettingPage ) + { + ordinalPos++; + } + + // Re-sort control's window position + iAppUi.MainControl().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + iAppUi.MainControl().DrawableWindow()->OrdinalPriority() ); + + if ( iSettingPage ) + { + iSettingPage->DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + iSettingPage->DrawableWindow()->OrdinalPriority() ); + } + + iAppUi.CurrentFixedToolbar()->DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + iAppUi.CurrentFixedToolbar()->DrawableWindow()->OrdinalPriority() ); + + iAppUi.ContextControl().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + iAppUi.ContextControl().DrawableWindow()->OrdinalPriority() ); + + iAppUi.RemoteVideoControl().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + iAppUi.RemoteVideoControl().DrawableWindow()->OrdinalPriority() ); + + iAppUi.EndCallButtonPane().DrawableWindow()->SetOrdinalPosition( + ordinalPos--, + iAppUi.EndCallButtonPane().DrawableWindow()->OrdinalPriority() ); + } + +// End of file diff -r 856ae1b15d98 -r 4e9858fa9559 vtuis/videotelui/src/features/toolbar/cvtuitoolbarbase.cpp --- a/vtuis/videotelui/src/features/toolbar/cvtuitoolbarbase.cpp Tue Apr 27 16:40:55 2010 +0300 +++ b/vtuis/videotelui/src/features/toolbar/cvtuitoolbarbase.cpp Tue May 11 16:15:55 2010 +0300 @@ -1202,7 +1202,12 @@ // toolbar must be hided if ( !isLandscape && IsDialerActive() ) { - __VTPRINT(DEBUG_GEN, "CVtUiToolbarBase.LayoutChangeL.Stop" ) + __VTPRINT( DEBUG_GEN, "ToolbarBase::HandleLayoutChangeL DialerActive." ) + SetToolbarVisibilityAfterLayoutChangeL( EFalse ); + } + else if ( !isLandscape && iFeatureManager.UiStates().IsCaptureModeOn() ) + { + __VTPRINT( DEBUG_GEN, "ToolbarBase::HandleLayoutChangeL CaptureOn." ) SetToolbarVisibilityAfterLayoutChangeL( EFalse ); } else if ( iFeatureManager.UiStates().IsSelectingShare() ) @@ -1232,7 +1237,13 @@ } // Transition from portrait to landsacpe // toolbar must be set to visible - else if ( isLandscape && IsDialerActive() ) + else if ( isLandscape && ( + IsDialerActive() || + iFeatureManager.UiStates().IsCaptureModeOn() || + iFeatureManager.UiStates().IsVideoQualityModeOn() || + iFeatureManager.UiStates().IsWhiteBalanceModeOn() || + iFeatureManager.UiStates().IsColorToneModeOn() || + menuBar && menuBar->IsDisplayed() ) ) { __VTPRINT(DEBUG_GEN, "CVtUiToolbarBase.LayoutChangeL.StartL" ) SetToolbarVisibilityAfterLayoutChangeL( ETrue );