securitydialogs/Autolock/src/AutolockContainer.cpp
branchRCL_3
changeset 49 09b1ac925e3f
parent 47 63339781d179
child 50 03674e5abf46
--- a/securitydialogs/Autolock/src/AutolockContainer.cpp	Thu Aug 19 10:45:23 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,394 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// INCLUDE FILES
-#include "AutolockContainer.h"
-#include <eikenv.h>
-#include <autolock.mbg>
-#include <avkon.hrh>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <data_caging_path_literals.hrh>
-#include "AutolockAppUiPS.h"
-#include <Autolock.rsg>
-#include "autolock.hrh"
-#include <eikdef.h>
-#include <aknnotedialog.h>
-#include <aknkeylock.h>
-#include <AknSoftNotifier.h>
-
-#include <coreapplicationuisdomainpskeys.h>
-
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <AknBitmapAnimation.h>
-#include    <AknsUtils.h>
-#include	<AknUtils.h>
-
-#include <e32property.h>
-#include <PSVariables.h>   // Property values
-#include <coreapplicationuisdomainpskeys.h>
-#include <startupdomainpskeys.h>
-#include <ctsydomainpskeys.h>
-_LIT(BitmapName,"AutoLock.mbm");
-
-// CONSTANTS
-
-#ifdef RD_FULLSCREEN_WALLPAPER
-enum TAutolockBgLayers
-    {
-    EAutolockBgLayerWallpaper      = 0,    
-    EAutolockBgLayerBackground     = 1,
-    EAutolockBgLayersN             = 2
-    };
-#else
-enum TAutolockBgLayers
-    {
-    EAutolockBgLayerBackground     = 0,
-    EAutolockBgLayerWallpaper      = 1,
-    EAutolockBgLayersN             = 2
-    };
-#endif //RD_FULLSCREEN_WALLPAPER
-
-        TInt aCallRect_x;
-        TInt aCallRect_y;
-        TInt aCallRect_width;
-        TInt aCallRect_height;
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CAutolockContainer::ConstructL(const TRect& aRect)
-// Symbian OS two phased constructor
-// ---------------------------------------------------------
-//
-void CAutolockContainer::ConstructL(const TRect& aRect)
-    {
-    #if defined(_DEBUG)
-    RDebug::Print(_L("(AUTOLOCK)CAutolockContainer::ConstructL"));
-    #endif
-    CreateWindowL();
-
-    HBufC* bitMapPath = HBufC::NewLC(KMaxPath);
-    TPtr BitmapFile(bitMapPath->Des());
-    BitmapFile.Append(_L("Z:"));
-    BitmapFile.Append(KDC_APP_BITMAP_DIR);
-    BitmapFile.Append(BitmapName);
-
-    iEikBitmap = 0;
-    iEikBitmapCall = 0;
-    AknsUtils::CreateIconL( 
-        AknsUtils::SkinInstance(), 
-        KAknsIIDQgnGrafPhoneLocked,
-        iBitmap,
-        iMask,
-        BitmapFile,
-        EMbmAutolockQgn_graf_phone_locked, 
-        EMbmAutolockQgn_graf_phone_locked_mask );
-    AknsUtils::CreateIconL( 
-        AknsUtils::SkinInstance(), 
-        KAknsIIDQgnGrafPhoneLocked,
-        iBitmapCall,
-        iMaskCall,
-        BitmapFile,
-        EMbmAutolockQgn_indi_button_end_call, 
-        EMbmAutolockQgn_indi_button_end_call_mask );
-    
-#ifdef RD_FULLSCREEN_WALLPAPER
-    TSize screenSize = iCoeEnv->ScreenDevice()->SizeInPixels();
-    TRect wallpaperRect( TPoint(0,0), screenSize );    
-    iBgContext = CAknsLayeredBackgroundControlContext::NewL(
-    KAknsIIDWallpaper, wallpaperRect, ETrue, EAutolockBgLayersN );
-    SetRect(aRect);
-#else    
-    // Create background control context for skins. Use parent absolute mode,
-    // as this is window owning control
-    iBgContext = CAknsLayeredBackgroundControlContext::NewL(
-        KAknsIIDQsnBgAreaMainIdle, aRect, ETrue, EAutolockBgLayersN );
-    iBgContext->SetLayerImage( EAutolockBgLayerWallpaper, KAknsIIDWallpaper );
-    iBgContext->SetLayerRect( EAutolockBgLayerWallpaper, aRect );
-    SetRect(aRect);
-#endif // RD_FULLSCREEN_WALLPAPER
-    ActivateL();
-
-    CleanupStack::PopAndDestroy(bitMapPath); //bitMapPath
-    #if defined(_DEBUG)
-    RDebug::Print(_L("(AUTOLOCK)CAutolockContainer::ConstructL END"));
-    #endif
-    }
-
-
-// ---------------------------------------------------------
-// CAutolockContainer::~CAutolockContainer()
-// Destructor
-// ---------------------------------------------------------
-//
-CAutolockContainer::~CAutolockContainer()
-    {
-    delete iBgContext;
-    delete iBitmap;
-    delete iMask;
-    delete iBitmapCall;
-    delete iMaskCall;
-
-	}
-// ---------------------------------------------------------
-// CAutolockContainer::SizeChanged()
-// Called by framework when the view size is changed
-// ---------------------------------------------------------
-//
-void CAutolockContainer::SizeChanged()
-    {
-    #if defined(_DEBUG)
-    RDebug::Print(_L("(AUTOLOCK)CAutolockContainer::SizeChanged()"));
-    #endif
-    
-    TRect mainPaneRect(Rect());
-    TAknLayoutRect idleTradPane;
-    idleTradPane.LayoutRect(mainPaneRect, AknLayoutScalable_Avkon::main_idle_trad_pane());
-
-    TInt variety = 3;
-    if (Layout_Meta_Data::IsLandscapeOrientation())
-        {
-        variety = 2;
-        }
-
-
-    TAknLayoutRect idlePaneG2;
-    idlePaneG2.LayoutRect(idleTradPane.Rect(), AknLayoutScalable_Avkon::main_idle_pane_g2(variety));
-
-    TInt callState = 0;
-	  RProperty::Get( KPSUidCtsyCallInformation, KCTsyCallState, callState );
-    if ( callState == EPSCTsyCallStateNone || callState == EPSCTsyCallStateUninitialized )
-    	{
-    AknIconUtils::SetSize( iBitmap, idlePaneG2.Rect().Size() );
-    	}
-    else
-    	{
-		  TSize lockSize = TSize(0.8 * idlePaneG2.Rect().Size().iWidth, 0.8 * idlePaneG2.Rect().Size().iHeight);
-	    AknIconUtils::SetSize( iBitmap, lockSize );
-    	}
-		TSize callSize = TSize(60,60);
-    AknIconUtils::SetSize( iBitmapCall, callSize );
-    
-#ifdef  RD_FULLSCREEN_WALLPAPER
-    TSize screenSize = iCoeEnv->ScreenDevice()->SizeInPixels();
-    TRect wallpaperRect( TPoint(0,0), screenSize );    
-    iBgContext->SetLayerRect( EAutolockBgLayerBackground, Rect() ) ;
-    iBgContext->SetLayerRect( EAutolockBgLayerWallpaper, wallpaperRect ) ;
-    
-    TPoint origo( 0, 0);
-    iBgContext->SetParentPos(origo);
-#else
-
-    iBgContext->SetLayerRect( EAutolockBgLayerBackground, Rect() ) ;
-    iBgContext->SetLayerRect( EAutolockBgLayerWallpaper, Rect() ) ;
-     
-    TPoint positionRelativeToScreen = PositionRelativeToScreen();
-    //parent must be set when using parent absolute mode.
-    iBgContext->SetParentPos(positionRelativeToScreen);
-#endif //RD_FULLSCREEN_WALLPAPER
-
-        RRegion autolockRegion;
-#ifdef  RD_FULLSCREEN_WALLPAPER    	
-    	autolockRegion.AddRect( wallpaperRect);
-#else    	
-    	autolockRegion.AddRect(Rect());
-#endif //RD_FULLSCREEN_WALLPAPER   
-        Window().SetShape(autolockRegion);
-        autolockRegion.Close();
-    
-     #if defined(_DEBUG)
-    RDebug::Print(_L("(AUTOLOCK)CAutolockContainer::SizeChanged() END"));
-    #endif
-	 }
-// ---------------------------------------------------------
-// CAutolockContainer::CountComponentControls() const
-// ---------------------------------------------------------
-//
-TInt CAutolockContainer::CountComponentControls() const
-    {
-    TInt controlCount = 0;
-
-    return controlCount;
-    }
-
-// ---------------------------------------------------------
-// CAutolockContainer::ComponentControl(TInt aIndex) const
-// ---------------------------------------------------------
-//
-CCoeControl* CAutolockContainer::ComponentControl(TInt /*aIndex*/) const
-    {
-    return NULL;
-	} 
- // ---------------------------------------------------------
-// CAutolockContainer::Draw(const TRect& aRect) const
-// ---------------------------------------------------------
-//
-void CAutolockContainer::Draw(const TRect& aRect) const
-    {
-    #if defined(_DEBUG)
-    RDebug::Print(_L("(AUTOLOCK)CAutolockContainer::Draw"));
-    #endif
-    if (AknLayoutUtils::PenEnabled() )
-    	{
-			TInt value = 0;
-			RProperty::Get(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, value);	    
-			if(value <= EAutolockOff)
-				{	// Avoid displaying the icon
-				#if defined(_DEBUG)
-				RDebug::Printf( "%s %s (%u) no Draw value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, value );
-				#endif
-				// If it returns, it will not handle orientation changes.
-				// However it will not really draw because the view is hidden
-				// return;
-				}
-			}
-
-    CWindowGc& gc = SystemGc();
-    gc.SetPenStyle(CGraphicsContext::ENullPen);
-    gc.SetBrushColor(KRgbWhite); 
-    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    AknsDrawUtils::Background( skin, cc, this, gc, aRect );
-
-    // Draw "lock" icon centered to this control    
-    // fist calculate the correct x coordinate based on this 
-    // controls rect and bitmap width    
-    TInt x = Rect().Width()/2 - iBitmap->SizeInPixels().iWidth /2;
-    // and do same with y
-    TInt y = Rect().Height()/2 - iBitmap->SizeInPixels().iHeight/2;
-		TInt width =iBitmap->SizeInPixels().iWidth;
-		TInt height =iBitmap->SizeInPixels().iHeight;
-		
-		TInt gripStatus = EPSHWRMGripClosed;
-		RProperty::Get( KPSUidHWRM, KHWRMGripStatus, gripStatus );
-		#if defined(_DEBUG)
-		RDebug::Printf( "%s %s (%u) gripStatus=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, gripStatus );
-		#endif
-		
-      TInt callState = 0;
-  	  RProperty::Get( KPSUidCtsyCallInformation, KCTsyCallState, callState );
-    if ( callState == EPSCTsyCallStateNone || callState == EPSCTsyCallStateUninitialized )
-    	{
-    	}
-    else
-    	{
-			if (gripStatus != EPSHWRMGripOpen)
-    		y-=100;
-    	}
-    
-    if (iBitmap && iMask)
-        {
-          // gc.BitBltMasked(TPoint(x,y),iBitmap,TRect(TPoint(0,0),iBitmap->SizeInPixels()), iMask, ETrue);
-          gc.BitBltMasked(TPoint(x,y),iBitmap,TRect(TPoint(0,0),TPoint(width,height)), iMask, ETrue);
-    	  if ( callState == EPSCTsyCallStateNone || callState == EPSCTsyCallStateUninitialized )
-    	  	{
-    	  }
-    	  else
-    	  	{
-		    	if (gripStatus != EPSHWRMGripOpen)
-		    		{
-	   	    	aCallRect_x=Rect().Width()/2 - iBitmapCall->SizeInPixels().iWidth/2;
-		    		aCallRect_y=Rect().Height() * 0.75;
-		    		}
-		    	else
-		    		{
-		    		aCallRect_x=Rect().Width()* 0.75 - iBitmapCall->SizeInPixels().iWidth/2;
-		    		aCallRect_y = Rect().Height()/2-3*10;
-		    		}
-		    	aCallRect_width=iBitmapCall->SizeInPixels().iWidth;
-		    	aCallRect_height=iBitmapCall->SizeInPixels().iHeight;
-    	  	TSize cornerSize(20,20); 
-    	  	TSize cornerEllipseSize(cornerSize.iHeight*2,cornerSize.iWidth*2);
-    	  	TRect box(aCallRect_x-3*10	, aCallRect_y-3*10, aCallRect_x+aCallRect_width+3*10, aCallRect_y+aCallRect_height+3*10);
-					TRect cornerRectTl(box.iTl,cornerEllipseSize);
-					gc.SetBrushColor(KRgbRed); 
-					gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-					gc.SetPenStyle(CGraphicsContext::EDottedPen);
-					gc.DrawRoundRect(box,cornerSize);
-        	gc.BitBltMasked(TPoint(aCallRect_x,aCallRect_y),iBitmapCall,TRect(TPoint(0,0),TPoint(aCallRect_width,aCallRect_height)), iMaskCall, ETrue);
-    	  	if (gripStatus != EPSHWRMGripOpen)
-    	  		aCallRect_y+=100;	// coordinates are relative to TRect, not to Screen
-    	  	
-    	  	// if active call, dismiss all pending notes. This avoids them on top of the BigRedButton
-    	  	CAknSoftNotifier *softNotifier = NULL;
-			    TRAPD (err, {
-			            softNotifier = CAknSoftNotifier::NewL();
-			            softNotifier->AddNotificationL(ESetIdleState, 0);
-			            // softNotifier->SetIdleStateL(EFalse);
-			    };)
-			    delete softNotifier;
-			    // during any call ,the touch need to be enabled, so that BigRedButton is available
-			    // It will be re-enabled when the call ends
-		    	RAknKeyLock keylock;
-			    if ( keylock.Connect() == KErrNone )
-				    {
-				    keylock.DisableWithoutNote();
-				    keylock.Close();
-				    }
-        	}
-        }
-    else if (iBitmap && !iMask)
-        {
-        gc.BitBlt(TPoint(x,y),iBitmap);
-    	  if ( callState == EPSCTsyCallStateNone || callState == EPSCTsyCallStateUninitialized )
-    	  	{
-    	  	}
-    	  else
-    	  	{
-        	gc.BitBlt(TPoint(x,y+iBitmap->SizeInPixels().iHeight),iBitmapCall);
-        	}
-        }
-    #if defined(_DEBUG)
-    RDebug::Print(_L("(AUTOLOCK)CAutolockContainer::Draw END"));
-    #endif
-    }
-
-// ---------------------------------------------------------
-// CAutolockContainer::HandleControlEventL(
-//     CCoeControl* aControl,TCoeEvent aEventType)
-// ---------------------------------------------------------
-//
-void CAutolockContainer::HandleControlEventL(
-    CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/)
-    {
-    }
-
-// ---------------------------------------------------------
-// CAutolockContainer::MopSupplyObject
-// 
-// ---------------------------------------------------------
-//
-TTypeUid::Ptr CAutolockContainer::MopSupplyObject( TTypeUid aId )
-    {
-    if (aId.iUid == MAknsControlContext::ETypeId)
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-void CAutolockContainer::GiveCoords( TRect& aRect )
-    {
-    	aRect.iBr.iX=aCallRect_x;
-    	aRect.iBr.iY=aCallRect_y;
-    	aRect.iTl.iX=aCallRect_width+2*3*10;
-    	aRect.iTl.iY=aCallRect_height+2*3*10;
-    }
-// End of File