# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268649649 -7200 # Node ID 50bbdc59f9c4aa355a8f36a756064398d5b13597 # Parent f84a661cfc1d50d8d472e0031fef76273cf630e3 Revision: 201009 Kit: 201010 diff -r f84a661cfc1d -r 50bbdc59f9c4 vtengines/videoteleng/Src/Media/CVtEngLocalVideo.cpp --- a/vtengines/videoteleng/Src/Media/CVtEngLocalVideo.cpp Fri Mar 12 15:43:03 2010 +0200 +++ b/vtengines/videoteleng/Src/Media/CVtEngLocalVideo.cpp Mon Mar 15 12:40:49 2010 +0200 @@ -625,7 +625,6 @@ item.iProviderState != ERefreshing ) { DeleteProvider( item ); - TRAP_IGNORE( item.iProvider = CreateDataProviderL( item.iType ) ); } } diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/data/videotelui.rss --- a/vtuis/videotelui/data/videotelui.rss Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/data/videotelui.rss Mon Mar 15 12:40:49 2010 +0200 @@ -1732,8 +1732,8 @@ { CBA_BUTTON { - id = EAknSoftkeySelect; - txt= text_softkey_select; + id = EAknSoftkeyEmpty; + txt= text_softkey_empty; }, CBA_BUTTON { diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/inc/CVtUiContextControl.h --- a/vtuis/videotelui/inc/CVtUiContextControl.h Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/inc/CVtUiContextControl.h Mon Mar 15 12:40:49 2010 +0200 @@ -157,6 +157,9 @@ // ETrue if it is ok to swap images on button up TBool iOkToSwapOnButtonUp; + // ETrue if the pointer down inside of context control window + TBool iPointerButton1DownInside; + }; #endif // CVTUICONTEXTCONTROL_H diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/inc/CVtUiMainControl.h --- a/vtuis/videotelui/inc/CVtUiMainControl.h Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/inc/CVtUiMainControl.h Mon Mar 15 12:40:49 2010 +0200 @@ -24,6 +24,7 @@ #include "cvtuivideocontrolbase.h" // CLASS DECLARATION +class CVtUiAppUi; class TVtUiStates; class TAknTextLineLayout; @@ -43,7 +44,8 @@ * @param aUiStates Ui states class. */ static CVtUiMainControl* NewL( CVtUiBitmapManager& aBitmapManager, - TVtUiStates& aUiStates ); + CVtUiAppUi& aAppUi, + TVtUiStates& aUiStates ); /** * C++ destructor. @@ -63,6 +65,13 @@ */ void LayoutRemoteVideo(); + public: // from CCoeControl + + /** + * @see CCoeControl::HandlePointerEventL + */ + void HandlePointerEventL( const TPointerEvent& aPointerEvent ); + private: // from CVtUiVideoControlBase /** @@ -111,7 +120,8 @@ * Private constructor. */ CVtUiMainControl( CVtUiBitmapManager& aBitmapManager, - TVtUiStates& aUiStates ); + CVtUiAppUi& aAppUi, + TVtUiStates& aUiStates ); /** * C++ constructor. @@ -144,6 +154,9 @@ // ETrue if sqcif is used in remote video. TBool iSQCifRemote; + // Reference to application UI. + CVtUiAppUi& iAppUi; + // reference to uistates TVtUiStates& iUiStates; diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h --- a/vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h Mon Mar 15 12:40:49 2010 +0200 @@ -198,17 +198,23 @@ // Window position for context control TInt iContextControlWindowPosition; - // Window priority for context control + // Window priority for remote video control TInt iRemoteVideoControlWindowPriority; - // Window position for context control + // Window position for remote video control TInt iRemoteVideoControlWindowPosition; - // Window priority for context control + // Window priority for end call button pane TInt iEndCallButtonPanePriority; - // Window position for context control + // Window position for end call button pane TInt iEndCallButtonPanePosition; + + // Window priority for main control + TInt iMainControlWindowPriority; + + // Window position for main control + TInt iMainControlWindowPosition; }; #endif // CVTUIPEFSETTINGLISTBASE_H diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/src/CVtUiAppUi.cpp --- a/vtuis/videotelui/src/CVtUiAppUi.cpp Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/src/CVtUiAppUi.cpp Mon Mar 15 12:40:49 2010 +0200 @@ -836,10 +836,8 @@ __VTPRINTENTER( "VtUi.ConstructL" ) FeatureManager::InitializeLibL(); - BaseConstructL( EAknEnableSkin | EAknEnableMSK ); + BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible ); - iIsLandScapeOrientation = VtUiLayout::IsLandscapeOrientation(); - iCba = Cba(); // Must be done before creating features iVTVariation.ReadL(); @@ -1031,14 +1029,14 @@ { __VTPRINT( DEBUG_GEN, "VtUi.SwitchLayoutToFlatStatusPaneL LAYOUT USUAL" ); - NaviPaneL()->Pop(); +// NaviPaneL()->Pop(); statusPane->SwitchLayoutL( idleResId ); } else if ( !isStatusPaneFlat && !VtUiLayout::IsLandscapeOrientation() ) { __VTPRINT( DEBUG_GEN, "VtUi.SwitchLayoutToFlatStatusPaneL USUAL FLAT" ); - NaviPaneL()->PushDefaultL(); +// NaviPaneL()->PushDefaultL(); statusPane->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ); } } @@ -1048,7 +1046,7 @@ { __VTPRINT( DEBUG_GEN, "VtUi.SwitchLayoutToFlatStatusPaneL LAYOUT IDLE" ); - NaviPaneL()->Pop(); +// NaviPaneL()->Pop(); statusPane->SwitchLayoutL( idleResId ); } } @@ -3657,23 +3655,13 @@ break; case EVtUiAppUiAnsweredQuerySetupStill: - { - if ( iIsLandScapeOrientation == VtUiLayout::IsLandscapeOrientation() ) - { - ActiveExecInitSetSourceL( MVtEngMedia::EMediaStillImage, aRequest ); - } + ActiveExecInitSetSourceL( MVtEngMedia::EMediaStillImage, aRequest ); aNextState = EVtUiAppUiAnsweredQuerySetupStart; - } break; case EVtUiAppUiAnsweredQuerySetupNone: - { - if ( iIsLandScapeOrientation == VtUiLayout::IsLandscapeOrientation() ) - { - ActiveExecInitSetSourceL( MVtEngMedia::EMediaNone, aRequest ); - } + ActiveExecInitSetSourceL( MVtEngMedia::EMediaNone, aRequest ); aNextState = EVtUiAppUiAnsweredQuerySetupStart; - } break; case EVtUiAppUiAnsweredQuerySetupStart: @@ -3822,11 +3810,6 @@ { ShowCameraInUseNoteL(); } - - if ( iIsLandScapeOrientation != VtUiLayout::IsLandscapeOrientation() ) - { - (void) HandleLayoutChanged(); - } if ( aState != EVtUiAppUiAnsweredQueryFinish ) { @@ -6294,15 +6277,16 @@ if ( now.MicroSecondsFrom( iLastSwapTime ).Int64() >= KVtUiMaxSwapImagesFreq ) { __VTPRINT( DEBUG_GEN, "VtUi.Swap can swap image" ) - iLastSwapTime = now; + iLastSwapTime = now; + __VTPRINTEXIT( "VtUi.CanSwapImagePlaces" ) return ETrue; } else { __VTPRINT( DEBUG_GEN, "VtUi.Swap can not swap image" ) + __VTPRINTEXIT( "VtUi.CanSwapImagePlaces" ) return EFalse; } - __VTPRINTEXIT( "VtUi.CanSwapImagePlaces" ) } // Implementation of CVtUiAppUi::CInstance @@ -6342,7 +6326,8 @@ VtUiLayout::GetApplicationParentRect( parent ); iMainControl = CVtUiMainControl::NewL( *iBitmapManager, - *iAppUi.iUiStates ); + iAppUi, + *iAppUi.iUiStates ); VtUiLayout::GetMainPaneLayout( control ); AknLayoutUtils::LayoutControl( iMainControl, parent, control ); diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/src/CVtUiContextControl.cpp --- a/vtuis/videotelui/src/CVtUiContextControl.cpp Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/src/CVtUiContextControl.cpp Mon Mar 15 12:40:49 2010 +0200 @@ -77,17 +77,41 @@ __VTPRINT2( DEBUG_GEN, "CtxCtrl.HandlePtr ok= %d", iOkToSwapOnButtonUp ) if ( AknLayoutUtils::PenEnabled() ) { - if ( aPointerEvent.iType == TPointerEvent::EButton1Up ) + __VTPRINT2( DEBUG_GEN, "CtxCtrl.HandlePtr.Position.iX = %d", aPointerEvent.iPosition.iX ) + __VTPRINT2( DEBUG_GEN, "CtxCtrl.HandlePtr.Position.iY = %d", aPointerEvent.iPosition.iY ) + if ( aPointerEvent.iType == TPointerEvent::EButton1Down ) { TRect window( Size() ); if ( !window.Contains( aPointerEvent.iPosition ) ) { + __VTPRINT( DEBUG_GEN, "CtxCtrl.HandlePtr.Button1Down outside" ) + // Down outside of Ctx ctrl, set inside false + iPointerButton1DownInside = EFalse; + } + else + { + __VTPRINT( DEBUG_GEN, "CtxCtrl.HandlePtrButton1Down inside" ) + // Only true here + iPointerButton1DownInside = ETrue; + } + } + else if ( aPointerEvent.iType == TPointerEvent::EButton1Up ) + { + TRect window( Size() ); + if ( !window.Contains( aPointerEvent.iPosition ) ) + { + __VTPRINT( DEBUG_GEN, "CtxCtrl.HandlePtr.Button1Up outside" ) + + // Up outside of Ctx ctrl, set inside false + iPointerButton1DownInside = EFalse; + iOkToSwapOnButtonUp = ETrue; SetGloballyCapturing( EFalse ); - SetPointerCapture( EFalse); + SetPointerCapture( EFalse ); } else if( iOkToSwapOnButtonUp ) { + __VTPRINT( DEBUG_GEN, "CtxCtrl.HandlePtr.Button1Up inside" ) if ( !iUiStates.IsWhiteBalanceModeOn() && !iUiStates.IsColorToneModeOn() && !iUiStates.IsZoomModeOn() && @@ -96,18 +120,26 @@ !iUiStates.IsBrightnessModeOn() && !iUiStates.IsVolumeModeOn() ) { - if ( !( iAppUi.CanSwapImagePlaces() ) ) + if ( !iPointerButton1DownInside || + !( iAppUi.CanSwapImagePlaces() ) ) { + // Set the flag back + iPointerButton1DownInside = EFalse; return; - } + } + // Set the flag back + iPointerButton1DownInside = EFalse; iAppUi.HandleCommandL( EVtUiCmdSwapImagesPlaces ); } } else { + __VTPRINT( DEBUG_GEN, "CtxCtrl.HandlePtr.Button1Up inside" ) SetGloballyCapturing( EFalse ); SetPointerCapture( EFalse); iOkToSwapOnButtonUp = ETrue; + // Set the flag back + iPointerButton1DownInside = EFalse; } } } @@ -283,6 +315,9 @@ } iOkToSwapOnButtonUp = ETrue; + + ClaimPointerGrab( ETrue ); + __VTPRINTEXIT( "CtxCtrl.ConstructL" ) } @@ -299,11 +334,18 @@ // Touch outside of volume popup, close volume popup if ( aEvent.Pointer()->iType == TPointerEvent::EButton1Down ) { - if ( iAppUi.IsDisplayingMenuOrDialog() ) + __VTPRINT( DEBUG_GEN, "CtxCtrl.WsEvent.Button1Down inside" ) + iOkToSwapOnButtonUp = !iUiStates.IsZoomModeOn() && + !iUiStates.IsContrastModeOn() && + !iUiStates.IsBrightnessModeOn() && + !iUiStates.IsVolumeModeOn(); + + if( iUiStates.IsZoomModeOn() && iUiStates.IsCaptureModeOn() ) { - iOkToSwapOnButtonUp = EFalse; - } - else if ( aDestination == this ) + iOkToSwapOnButtonUp = ETrue; + } + + if ( aDestination == this ) { iOkToSwapOnButtonUp = !iUiStates.IsZoomModeOn() && !iUiStates.IsCaptureModeOn() && @@ -313,7 +355,11 @@ SetGloballyCapturing( ETrue ); SetPointerCapture( ETrue ); } - } + } + else if ( aEvent.Pointer()->iType == TPointerEvent::EButton1Up ) + { + __VTPRINT( DEBUG_GEN, "CtxCtrl.WsEvent.Button1Up inside" ) + } } __VTPRINTEXIT( "CVtUiContextControl.HandleWsEventL" ) } diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/src/CVtUiEndCallButtonPane.cpp --- a/vtuis/videotelui/src/CVtUiEndCallButtonPane.cpp Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/src/CVtUiEndCallButtonPane.cpp Mon Mar 15 12:40:49 2010 +0200 @@ -22,6 +22,7 @@ #include #include #include +#include #include "CVtUiEndCallButton.h" #include "CVtUiEndCallButtonPane.h" @@ -73,6 +74,13 @@ // Activate the window, which makes it ready to be drawn ActivateL(); + + // Disable fading when using DP (eliminates nasty color error) + if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) ) + { + Window().SetNonFading( ETrue ); + } + __VTPRINTEXIT( "CVtUiEndCallButtonPane.ConstructL" ) } diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/src/CVtUiMainControl.cpp --- a/vtuis/videotelui/src/CVtUiMainControl.cpp Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/src/CVtUiMainControl.cpp Mon Mar 15 12:40:49 2010 +0200 @@ -24,9 +24,10 @@ #include #include #include +#include "tvtuistates.h" +#include "tVtuifeaturevariation.h" #include "CVtUiAppUi.h" -#include "tvtuistates.h" -#include "tVtuifeaturevariation.h" +#include "CVtUiContextControl.h" // ============================ MEMBER FUNCTIONS =============================== @@ -34,11 +35,12 @@ // CVtUiMainControl::NewL // ----------------------------------------------------------------------------- CVtUiMainControl* CVtUiMainControl::NewL( CVtUiBitmapManager& aBitmapManager, - TVtUiStates& aUiStates ) + CVtUiAppUi& aAppUi, + TVtUiStates& aUiStates ) { __VTPRINTENTER( "MainCtrl.NewL" ) CVtUiMainControl* self = - new ( ELeave ) CVtUiMainControl( aBitmapManager, aUiStates ); + new ( ELeave ) CVtUiMainControl( aBitmapManager, aAppUi, aUiStates ); CleanupStack::PushL( self ); self->ConstructL(); CleanupStack::Pop(); // self @@ -53,8 +55,9 @@ // ----------------------------------------------------------------------------- // CVtUiMainControl::CVtUiMainControl( CVtUiBitmapManager& aBitmapManager, - TVtUiStates& aUiStates ) : CVtUiVideoControlBase( aBitmapManager ), - iUiStates ( aUiStates ) + CVtUiAppUi& aAppUi, TVtUiStates& aUiStates ) : + CVtUiVideoControlBase( aBitmapManager ), iAppUi( aAppUi ), + iUiStates ( aUiStates ) { __VTPRINTENTER( "MainCtrl.Ctor" ) SetRenderingHint( ESkinnedBackground ); @@ -97,6 +100,19 @@ } // ----------------------------------------------------------------------------- +// CVtUiMainControl::HandlePointerEventL +// ----------------------------------------------------------------------------- +// +void CVtUiMainControl::HandlePointerEventL( const TPointerEvent& aPointerEvent ) + { + __VTPRINTENTER( "MainCtrl.HandlePointerEventL" ) + // Let context control handle this first + iAppUi.ContextControl().HandlePointerEventL( aPointerEvent ); + CCoeControl::HandlePointerEventL( aPointerEvent ); + __VTPRINTEXIT( "MainCtrl.HandlePointerEventL" ) + } + +// ----------------------------------------------------------------------------- // CVtUiMainControl::HandleSizeChanged // ----------------------------------------------------------------------------- // diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/src/CVtUiRemoteVideoControl.cpp --- a/vtuis/videotelui/src/CVtUiRemoteVideoControl.cpp Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/src/CVtUiRemoteVideoControl.cpp Mon Mar 15 12:40:49 2010 +0200 @@ -68,6 +68,10 @@ // CVtUiRemoteVideoControl::~CVtUiRemoteVideoControl() { + if ( iAppUi.EventMonitor() ) + { + iAppUi.EventMonitor()->RemoveObserver( this ); + } __VTPRINTENTER( "RemoteVideoControl.~" ) __VTPRINTEXIT( "RemoteVideoControl.~" ) } @@ -93,7 +97,18 @@ CreateWindowL(); SetExtent( TPoint(), TSize() ); ActivateL(); - //Window().SetNonFading( ETrue ); + + // Disable fading when using DP (eliminates nasty color error) + if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) ) + { + Window().SetNonFading( ETrue ); + } + + if ( iAppUi.EventMonitor() ) + { + iAppUi.EventMonitor()->AddObserverL( this ); + } + __VTPRINTEXIT( "RemoteVideoControl.ConstructL" ) } diff -r f84a661cfc1d -r 50bbdc59f9c4 vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.cpp --- a/vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.cpp Fri Mar 12 15:43:03 2010 +0200 +++ b/vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.cpp Mon Mar 15 12:40:49 2010 +0200 @@ -156,13 +156,19 @@ __VTPRINTENTER( "CVtUiPrefSettingListBase.StartSettingPageL" ) // 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 and position + iMainControlWindowPriority= iAppUi.MainControl().DrawableWindow() + ->OrdinalPriority(); + iMainControlWindowPosition = iAppUi.MainControl().DrawableWindow() + ->OrdinalPosition(); + // Get remote video control's window priority and position iRemoteVideoControlWindowPriority = iAppUi.RemoteVideoControl().DrawableWindow()->OrdinalPriority(); @@ -178,7 +184,8 @@ // 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 ); + iContextControlWindowPosition, + iContextControlWindowPriority + 1 ); // Rise remote video control's window priority othwerwise setting page // will be drawn partially over the context control window. @@ -189,7 +196,7 @@ // Rise end call button pane priority othwerwise setting page // will be drawn partially over the context control window. iAppUi.EndCallButtonPane().DrawableWindow()->SetOrdinalPosition( - iEndCallButtonPanePosition, + iEndCallButtonPanePosition, iEndCallButtonPanePriority + 1 ); // Creates setting page @@ -218,6 +225,11 @@ iSettingPage->OfferKeyEventL( keyEvent, EEventKey ); } + // Set main control priority and position back to + // orginal value. + iAppUi.MainControl().DrawableWindow()->SetOrdinalPosition( + iMainControlWindowPosition, iMainControlWindowPriority ); + // Set end call button pane priority and position back to // orginal value. iAppUi.EndCallButtonPane().DrawableWindow()->SetOrdinalPosition( @@ -229,7 +241,7 @@ iRemoteVideoControlWindowPosition, iRemoteVideoControlWindowPriority ); - // Set contex control's window priority and position back to + // Set context control's window priority and position back to // orginal value. iAppUi.ContextControl().DrawableWindow()->SetOrdinalPosition( iContextControlWindowPosition, iContextControlWindowPriority );