--- a/camerauis/cameraapp/generic/src/CamBurstThumbnailContainer.cpp Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
-* Copyright (c) 2007 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: Container class for burst thumbnail view*
-*/
-
-// INCLUDE FILES
-#include <aknview.h>
-#include <cameraapp.rsg>
-#include <vgacamsettings.rsg>
-#include <AknsUtils.h>
-#include <AknsDrawUtils.h>
-#include <touchfeedback.h>
-#include <aknlayoutscalable_apps.cdl.h> // AknLayoutScalable_Apps
-
-
-#include "CamBurstThumbnailContainer.h"
-#include "CamBurstThumbnailGrid.h"
-#include "camlogging.h"
-#include "CamUtility.h"
-
-
-
-// CONSTANTS
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CCamBurstThumbnailContainer::NewL
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------------------------
-//
-CCamBurstThumbnailContainer* CCamBurstThumbnailContainer::NewL(
- CCamAppController& aController,
- CAknView& aView,
- const TRect& aRect,
- CCamBurstThumbnailGridModel& aGridModel )
- {
- CCamBurstThumbnailContainer* self = new( ELeave )
- CCamBurstThumbnailContainer( aController, aView, aGridModel );
- CleanupStack::PushL( self );
- self->ConstructL( aRect );
- CleanupStack::Pop( );
- // return newly created CCamBurstThumbnailContainer instance
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CCamBurstThumbnailContainer
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CCamBurstThumbnailContainer::~CCamBurstThumbnailContainer()
- {
- delete iGridControl;
- }
-
-// ---------------------------------------------------------
-// CCamBurstThumbnailContainer::ConstructL
-// Symbian OS 2nd phase constructor
-// ---------------------------------------------------------
-//
-void CCamBurstThumbnailContainer::ConstructL( const TRect& aRect )
- {
-
- PRINT( _L("Camera => CCamBurstThumbnailContainer::ConstructL") );
- CCamContainerBase::BaseConstructL( aRect );
-
- iGridControl = CCamBurstThumbnailGrid::NewL( this , iGridModel );
-
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
- mainPaneRect );
- TRect statusPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EStatusPane,
- statusPaneRect );
-
- // layout area rectangle contains the area, where components need to be
- // drawn to. the container size is the whole screen, but the layouts are
- // for the client area. aRect is the container size that might include or
- // might not include statuspane area. calculating area self will
- // go around the problem
- TRect layoutAreaRect;
- layoutAreaRect = mainPaneRect;
- layoutAreaRect.BoundingRect( statusPaneRect );
-
-
- TAknLayoutRect burstPaneRect;
- if ( CamUtility::IsNhdDevice() )
- {
- // use layoutAreaRect for nhd (contains the statuspane)
- burstPaneRect.LayoutRect( layoutAreaRect, AknLayoutScalable_Apps::main_cam4_burst_pane() );
- // SetRect( layoutAreaRect );
- }
- else
- {
- // use mainpane for vga
- burstPaneRect.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::main_cam4_burst_pane() );
-
- }
-
-
- // layout grid
- TInt gridSize = iGridModel.NoOfValidCells();
-
- if ( gridSize <= KBurstGridDefaultThumbnails)
- {
- AknLayoutUtils::LayoutControl( iGridControl, /*aRect*/
- burstPaneRect.Rect(),
- AknLayoutScalable_Apps::grid_cam4_burst_pane(1) );
- }
- else if ( gridSize <= KBurstGridMaxVisibleThumbnails )
- {
- AknLayoutUtils::LayoutControl( iGridControl, //aRect,
- burstPaneRect.Rect(),
- AknLayoutScalable_Apps::grid_cam4_burst_pane(3) );
- }
- else // gridSize > KBurstGridMaxVisibleThumbnails
- {
- AknLayoutUtils::LayoutControl( iGridControl, //aRect
- burstPaneRect.Rect(),
- AknLayoutScalable_Apps::grid_cam4_burst_pane(5) );
- }
-
- // scroll bar
- if ( gridSize > KBurstGridMaxVisibleThumbnails )
- {
- // Will create the scrollbar if it is needed
- iGridControl->SetMopParent( this );
- iGridControl->CreateScrollBarL();
- iGridControl->SetupScrollbarL( );
- }
-
-
- iFeedback = MTouchFeedback::Instance();
-
- // make sure that softkeys are shown
- DrawableWindow()->SetOrdinalPosition( KCamPostCaptureWindowOrdinalPos );
-
- PRINT( _L("Camera <= CCamBurstThumbnailContainer::ConstructL") );
- }
-
-// ---------------------------------------------------------------------------
-// CCamBurstThumbnailContainer::CCamBurstThumbnailContainer
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CCamBurstThumbnailContainer::CCamBurstThumbnailContainer(
- CCamAppController& aController,
- CAknView& aView,
- CCamBurstThumbnailGridModel& aGridModel )
-: CCamContainerBase( aController, aView ), iGridModel( aGridModel )
- {
- }
-
-// ---------------------------------------------------------
-// CCamBurstThumbnailContainer::CountComponentControls
-// Returns the number of controls owned
-// ---------------------------------------------------------
-//
-TInt CCamBurstThumbnailContainer::CountComponentControls() const
- {
- return CCamContainerBase::CountComponentControls() + 1; // Return the number of controls inside this container
- }
-
-// ---------------------------------------------------------
-// CCamBurstThumbnailContainer::ComponentControl
-// Return pointer to a contained control
-// ---------------------------------------------------------
-//
-CCoeControl* CCamBurstThumbnailContainer::ComponentControl( TInt aIndex ) const
- {
- CCoeControl* control = NULL;
- control = CCamContainerBase::ComponentControl( aIndex );
- if( control != NULL )
- return control;
- switch ( aIndex )
- {
- case 1:
- {
- control = iGridControl;
- }
- break;
- default:
- break;
- }
-
- return control;
- }
-
-
-// ---------------------------------------------------------
-// CCamBurstThumbnailContainer::Draw
-// Draw control
-// ---------------------------------------------------------
-//
-void CCamBurstThumbnailContainer::Draw( const TRect& aRect ) const
- {
-
- CWindowGc& gc = SystemGc();
-
- // Draw skin background for the
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
- AknsDrawUtils::Background( skin, cc, gc, aRect );
-
- //gc.Clear( Rect() );
-
- }
-
-// ----------------------------------------------------
-// CCamBurstThumbnailContainer::OfferKeyEventL
-// Handles this application view's command keys. Forwards other
-// keys to child control(s).
-// ----------------------------------------------------
-//
-TKeyResponse
-CCamBurstThumbnailContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- PRINT( _L("Camera => CCamBurstThumbnailContainer::OfferKeyEventL") );
- TKeyResponse response( EKeyWasNotConsumed );
- TBool captureKey = IsCaptureKeyL( aKeyEvent, aType );
-
- TBool embedded = static_cast<CCamAppUiBase*>(
- CEikonEnv::Static()->AppUi() )->IsEmbedded();
-
- // If the back softkey is pressed
- if ( aKeyEvent.iScanCode == EStdKeyDevice1 )
- {
- response = EKeyWasNotConsumed; // indicate key press was not processed
- }
- else if ( aKeyEvent.iScanCode == EStdKeyDevice3 ) // Select key
- {
- // Will pass it on to the view
- response = CCamContainerBase::OfferKeyEventL( aKeyEvent, aType );
- }
- //make sure to unset DemandKeyRelease
- else if( aType == EEventKeyUp && !embedded )
- {
- iController.SetDemandKeyRelease( EFalse );
- }
- else if ( captureKey // && aKeyEvent.iScanCode == EProductKeyCapture )
- || IsShutterKeyL( aKeyEvent, aType )
- )
- {
- if ( aType == EEventKeyDown )
- // check needed, since EEventFocusLost produces EEventKeyUp for shutterkey
- {
- if ( !embedded )
- {
- iGridModel.CancelThumbnails();
-
- iView.HandleCommandL( ECamCmdNewPhoto );
- // Demand to relese capture key in pre capture view
- iController.SetDemandKeyRelease( ETrue );
- response = EKeyWasConsumed;
- }
-
- }
- }
- else if ( aType == EEventKey &&
- aKeyEvent.iScanCode == EStdKeyBackspace ) // Handle 'C' key
- {
- iView.HandleCommandL( ECamCmdDelete );
- response = EKeyWasConsumed;
- }
- else if ( aKeyEvent.iScanCode == EStdKeyYes
- && aType == EEventKey && !AknLayoutUtils::PenEnabled() )
- {
- iView.HandleCommandL( ECamCmdQuickSend );
- response = EKeyWasConsumed;
- }
- else
- {
- PRINT( _L("Camera <> CCamBurstThumbnailContainer: offer key to grid control..") );
- response = iGridControl->OfferKeyEventL( aKeyEvent, aType );
- }
-
- PRINT1( _L("Camera <= CCamBurstThumbnailContainer::OfferKeyEventL, return %d"), response );
- return response;
- }
-
-void CCamBurstThumbnailContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
- {
- //CCoeControl::HandlePointerEventL( aPointerEvent );
-
- PRINT3( _L("Camera => CCamBurstThumbnailContainer::HandlePointerEventL iType=%d iPosition=(%d, %d)"),
- aPointerEvent.iType,
- aPointerEvent.iPosition.iX,
- aPointerEvent.iPosition.iY );
-
-
- if ( aPointerEvent.iType == TPointerEvent::EButton1Up)
- {
- // check if the pointer event should be handled as grid selection
- if ( iGridControl && iGridControl->Rect().Contains( aPointerEvent.iPosition ) )
- {
- TInt gridItem = iGridControl->HitTestGridItems( aPointerEvent.iPosition );
-
- if ( gridItem >= 0 )
- {
-
- if ( iFeedback )
- {
- iFeedback->InstantFeedback( ETouchFeedbackBasic );
- }
- // inform model about the new higlighted item
- if ( iGridModel.SetHighlight( gridItem ) )
- {
- // highlight changed -> redraw
- DrawDeferred();
- }
- else
- {
- // highlight item did not change -> open item in postcapture view
- iView.HandleCommandL( EAknSoftkeySelect );
- }
- }
- }
-
- }
-
-
- PRINT( _L("Camera <= CCamBurstThumbnailContainer::HandlePointerEventL"));
-
- }
-
-// End of File