Revision: 201009 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 15 Mar 2010 12:40:49 +0200
branchRCL_3
changeset 11 50bbdc59f9c4
parent 10 f84a661cfc1d
child 12 3e521e99f813
Revision: 201009 Kit: 201010
vtengines/videoteleng/Src/Media/CVtEngLocalVideo.cpp
vtuis/videotelui/data/videotelui.rss
vtuis/videotelui/inc/CVtUiContextControl.h
vtuis/videotelui/inc/CVtUiMainControl.h
vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h
vtuis/videotelui/src/CVtUiAppUi.cpp
vtuis/videotelui/src/CVtUiContextControl.cpp
vtuis/videotelui/src/CVtUiEndCallButtonPane.cpp
vtuis/videotelui/src/CVtUiMainControl.cpp
vtuis/videotelui/src/CVtUiRemoteVideoControl.cpp
vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.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 ) );
             }
         }
 
--- 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
             {
--- 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
--- 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;
 
--- 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
--- 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 );
--- 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" )
     }
--- 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    <AknsSkinInstance.h>
 #include    <videotelui.rsg>
 #include    <cvtlogger.h>
+#include    <featmgr.h>
 
 #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" )
     }
 
--- 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    <AknsDrawUtils.h>
 #include    <cvtlogger.h>
 #include    <featmgr.h>
+#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
 // -----------------------------------------------------------------------------
 //
--- 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" )
     }
 
--- 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 );