--- a/camerauis/cameraapp/generic/src/camactivepalettehandler.cpp Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1607 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 <activepalette2factory.h>
-#include <activepalette2genericpluginint.h>
-#include <activepalette2itemvisible.h>
-#include <activepalette2eventdata.h>
-#include <activepalette2navigationkeys.h>
-#include <cameraapp.rsg>
-#include <vgacamsettings.rsg>
-#include <barsc.h>
-#include <barsread.h>
-#include <bautils.h>
-#include <AknIconUtils.h>
-#include <aknnotewrappers.h>
-#include <AknUtils.h>
-#include <e32math.h>
-#include <gulicon.h>
-#include <cameraapp.mbg>
-#include <utf.h>
-#include <textresolver.h>
-#include <apgcli.h>
-#include <apaid.h>
-
-#include "CamUtility.h"
-#include "CamAppController.h"
-#include "camactivepalettehandler.h"
-#include "CamAppUid.h"
-#include "CamCaptureSetupViewBase.h"
-#include "CamAppUiBase.h"
-#include "CamPanic.h"
-#include "CamAppUi.h"
-#include "CamUtility.h"
-#include "CamTimeLapseUtility.h"
-#include "CamPSI.h"
-#include "CameraUiConfigManager.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "camactivepalettehandlerTraces.h"
-#endif
-
-
-typedef TAP2GenericPluginIcon TCamAPGenericPluginIcon;
-typedef TAP2GenericPluginParams TCamAPGenericPluginParams;
-
-// ============================ CONSTANTS ======================================
-
-// ActivePalette2 settings
-const TActivePalette2DrawMode KActivePaletteDrawMode = EAP2DrawModeSemiTransparentTooltipModeFading;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::CCamActivePaletteHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCamActivePaletteHandler::CCamActivePaletteHandler( CCamAppController& aController )
-: iController( aController )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::ConstructL( TBool aCreatePalette )
- {
- if ( !iController.IsTouchScreenSupported() )
- {
- iEnv = CEikonEnv::Static();
-
- if( aCreatePalette )
- {
- iActivePalette =
- ActivePalette2Factory::CreateActivePaletteUIL( KActivePaletteDrawMode );
- iActivePalette->SetObserver( this );
- }
-
- // Get the icon file name
- delete iIconFileName;
- iIconFileName = NULL;
- iIconFileName = HBufC::NewL( KMaxFileName );
- TPtr ptr = iIconFileName->Des();
- CamUtility::ResourceFileName( ptr );
-
-
- // get res id for EV comp from psi
- CamUtility::GetPsiInt( ECamPsiAPEVCompLegend, iEvCompRes );
- if( iEvCompRes == KErrNotSupported )
- {
- iEvCompRes = R_CAM_CAPTURE_SETUP_MENU_PHOTO_EXPOSURE_ARRAY;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CCamActivePaletteHandler* CCamActivePaletteHandler::NewL( CCamAppController& aController, TBool aCreatePalette )
- {
- CCamActivePaletteHandler* self = new( ELeave ) CCamActivePaletteHandler( aController );
-
- CleanupStack::PushL( self );
- self->ConstructL( aCreatePalette );
- CleanupStack::Pop();
-
- return self;
- }
-
-
-// Destructor
-CCamActivePaletteHandler::~CCamActivePaletteHandler()
- {
- PRINT( _L("Camera => ~CCamActivePaletteHandler") );
- delete iIconFileName;
- iIconFileName = NULL;
-
- iItemArray.Close();
-
- iCurrentValSettingsItem.Close();
-
- iPreCaptureItems.Close();
- delete iToolTipText;
-
- delete iOneClickUploadTooltip;
-
- DestroyActivePalette();
- PRINT( _L("Camera <= ~CCamActivePaletteHandler") );
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ActivePalette()
-// Return handle to Active Palette
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MActivePalette2UI* CCamActivePaletteHandler::ActivePalette() const
- {
- return iActivePalette;
- }
-
-
-/*
- * To check if a specific feature is supported, to append or show in AP
- */
-TBool CCamActivePaletteHandler:: IsAPItemFeatureSupportedL( const TInt aItemId ) const
- {
- TBool featureSupported = ETrue; // by default we feature supported
- CCameraUiConfigManager* configMgr = iController.UiConfigManagerPtr();
- switch( aItemId )
- {
- case ECamSettingItemFaceTracking:
- {
- featureSupported = configMgr->IsFaceTrackingSupported();
- break;
- }
- case ECamSettingItemGotoPhotos:
- {
- featureSupported = configMgr->IsPhotosSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoFlash:
- {
- featureSupported = configMgr->IsFlashModeSupported();
- break;
- }
- case ECamSettingItemDynamicVideoFlash:
- {
- featureSupported = configMgr->IsVideoLightSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoColourFilter:
- case ECamSettingItemDynamicVideoColourFilter:
- {
- featureSupported = configMgr->IsColorToneFeatureSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoWhiteBalance:
- case ECamSettingItemDynamicVideoWhiteBalance:
- {
- featureSupported = configMgr->IsWhiteBalanceFeatureSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoLightSensitivity:
- {
- featureSupported = configMgr->IsISOSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoExposure:
- {
- featureSupported = configMgr->IsEVSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoImageSharpness:
- {
- featureSupported = configMgr->IsSharpnessFeatureSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoContrast:
- case ECamSettingItemDynamicVideoContrast:
- {
- featureSupported = configMgr->IsContrastSupported();
- break;
- }
- case ECamSettingItemDynamicPhotoBrightness:
- case ECamSettingItemDynamicVideoBrightness:
- {
- featureSupported = configMgr->IsBrightnessSupported();
- break;
- }
- default:
- {
- break;
- }
- }
- return featureSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::InstallAPItemsL
-// Install ap items from resource
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::InstallAPItemsL( TInt aResId )
- {
- PRINT( _L( "Camera => CCamActivePaletteHandler::InstallAPItemsL" ) );
-
- if ( !iController.IsTouchScreenSupported() )
- {
- // Clear existing items first
- iItemArray.Reset();
-
- if ( iController.UiConfigManagerPtr() &&
- iController.UiConfigManagerPtr()->IsUIOrientationOverrideSupported() )
- {
- iCurrentValSettingsItem.Reset();
- }
-
-
- // Array for new toolbar items
- RArray<TCamActivePaletteItem> newItems;
- CleanupClosePushL( newItems );
-
- // Static toolbar content - load items from resource
- PRINT( _L( "Camera <> CCamActivePaletteHandler::InstallAPItemsL - Static toolbar items from resource" ) );
- ReadToolbarItemsFromResourceL( aResId, newItems );
- iDynamicToolbar = EFalse;
-
- TInt nItems = newItems.Count();
-
- for( TInt i=0; i<nItems; i++ )
- {
- TCamActivePaletteItem item = newItems[i];
- TBool append ( ETrue );
- if ( ECamActivePaletteItemTypePostCapture != item.iType )
- {
- append = IsAPItemFeatureSupportedL( item.iItemId );
- }
- else
- {
- // if postcapture items, then check if add to album and properties ae supported
- if ( ECamCmdAddToAlbum == item.iCmdId ||
- ECamCmdProperties == item.iCmdId ||
- ECamCmdPhotos == item.iCmdId )
- {
- append = iController.UiConfigManagerPtr()->IsPhotosSupported();
- }
- else
- {
- }
- }
-
- if ( append )
- {
- iItemArray.AppendL( item );
- }
- }
-
- TInt items = iItemArray.Count();
-
- for( TInt i=0; i<items; i++ )
- {
- TCamAPSettingsItem settingItem;
- settingItem.iSettingItem = iItemArray[i].iItemId;
-
- TUid uid( TUid::Uid( KActivePalette2GenericPluginUID ) );
-
- switch( iItemArray[i].iType )
- {
- case ECamActivePaletteItemTypeCommand:
- {
- PRINT( _L("Camera <> CCamActivePaletteHandler: case ECamActivePaletteItemTypeCommand") );
- // Command id is used to identify the icon.
- // Only one icon is used for command type items.
- settingItem.iSettingVal = iItemArray[i].iCmdId;
- iIconId = GetBitmapIdFromValueL( settingItem );
- break;
- }
- case ECamActivePaletteItemTypePreCapture:
- {
- PRINT( _L("Camera <> CCamActivePaletteHandler: case ECamActivePaletteItemTypePreCapture") );
- // Get initial value & associated icon
- settingItem.iSettingVal = iController.IntegerSettingValue( iItemArray[i].iItemId );
- iIconId = GetBitmapIdFromValueL( settingItem );
- break;
- }
- case ECamActivePaletteItemTypePreCaptureNonSetting:
- {
- PRINT( _L("Camera <> CCamActivePaletteHandler: case ECamActivePaletteItemTypePreCaptureNonSetting") );
- settingItem.iSettingVal = DetermineNonSettingState( iItemArray[i] );
- iIconId = GetBitmapIdFromValueL( settingItem );
- if ( iIconId != KErrNotFound )
- {
- SetNonSettingItemTooltipL( iItemArray[i] );
- }
- break;
- }
- case ECamActivePaletteItemTypePostCapture:
- {
- PRINT( _L("Camera <> CCamActivePaletteHandler: case ECamActivePaletteItemTypePostCapture") );
- // Setting up the AP post-capture is simpler as the icons
- // don't need to change depending on any settings.
- LoadPostCaptureResourcesL( PostCaptureItemId( iItemArray[i].iCmdId ) );
- break;
- }
- default:
- {
- PRINT( _L("Camera <> CCamActivePaletteHandler: default case => PANIC!!!") );
- __ASSERT_DEBUG( EFalse, CamPanic( ECamPanicInvalidActivePaletteItemType ) );
- break;
- }
- } // switch
-
- PRINT( _L("Camera <> CCamActivePaletteHandler::InstallAPItemsL About to install item"));
-
- // Override tooltip for one-click upload
- if ( iOneClickUploadTooltip &&
- iItemArray[i].iCmdId == ECamCmdOneClickUpload )
- {
- delete iToolTipText;
- iToolTipText = NULL;
- iToolTipText = iOneClickUploadTooltip->AllocL();
- }
-
- // cache the current values of the AP items so that we don't need to check later
- // specifically for the items that there values are persisted
- if ( iController.UiConfigManagerPtr() &&
- iController.UiConfigManagerPtr()->IsUIOrientationOverrideSupported() )
- {
- TCamAPSettingsItem tempSettingItem;
- tempSettingItem.iSettingItem = iItemArray[i].iItemId;
- // set initial value to some invalid number using -1
- tempSettingItem.iSettingVal = -1;
- iCurrentValSettingsItem.AppendL( tempSettingItem );
- }
-
- InstallOneAPItemL( iItemArray[i], uid, *iToolTipText, *iIconFileName, iIconId, iIconId );
-
- PRINT( _L("Camera <> CCamActivePaletteHandler::InstallAPItemsL Item installed"));
- } // for
-
- if ( iController.UiConfigManagerPtr()->IsXenonFlashSupported() )
- {
- CheckFlashItemVisibilityL();
- }
-
- CleanupStack::PopAndDestroy(); // newItems
- }
- PRINT( _L( "Camera <= CCamActivePaletteHandler::InstallAPItemsL" ) );
- }
-
-
-
-
-// -----------------------------------------------------------------------------
-// InstallOneAPItemL
-//
-// Helper method to install one AP item.
-// -----------------------------------------------------------------------------
-//
-void
-CCamActivePaletteHandler
-::InstallOneAPItemL( const TCamActivePaletteItem& aItem,
- const TUid& aPluginUid,
- const TDesC& aToolTipText,
- const TDesC& aIconFileName,
- TInt aIconId,
- TInt aMaskId )
- {
- // only add items that actually exist
- if( iIconId != KErrNotFound )
- {
- TCamAPGenericPluginParams params(
- TCamAPGenericPluginParams::EGenericCustomResFile,
- aIconFileName,
- aIconId,
- aMaskId,
- aToolTipText,
- aItem.iCmdId, // message ID
- 0 ); // Custom param
- TPckg<TCamAPGenericPluginParams> paramsPckg( params );
-
- TActivePalette2ItemVisible itemVisible( aItem.iCmdId,aItem.iIsVisible );
- iActivePalette->InstallItemL( itemVisible,
- aPluginUid,
- paramsPckg );
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CheckFlashItemVisibilityL
-//
-// Hide flash AP item if needed.
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::CheckFlashItemVisibilityL()
- {
- if ( !iController.IsTouchScreenSupported() &&
- iController.UiConfigManagerPtr()->IsXenonFlashSupported() )
- {
- // Make flash item invisible, in case updating AP for burst mode
- CCamAppUi* appUi = static_cast<CCamAppUi*>( CEikonEnv::Static()->AppUi() );
- if( appUi && ECamImageCaptureBurst == appUi->CurrentBurstMode() ||
-
- // ECamCaptureModeTimeLapse == appUi->CurrentBurstMode() ||
- ECamSceneSports == iController.IntegerSettingValue( ECamSettingItemDynamicPhotoScene ) )
- {
- // Flash item is disabled in burst mode and for sport scene
- iActivePalette->SetItemVisibility( ECamCmdCaptureSetupFlashStill, EFalse );
- }
- else
- {
- iActivePalette->SetItemVisibility( ECamCmdCaptureSetupFlashStill, ETrue );
- }
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ReturnedFromPretendExitL
-// Resets current item position and updates the active palette.
-// -----------------------------------------------------------------------------
-//
- void CCamActivePaletteHandler::ReturnedFromPretendExitL()
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::ReturnedFromPretendExitL"));
- if ( !iController.IsTouchScreenSupported() )
- {
- if ( iActivePalette )
- {
- ResetToDefaultItem();
- }
-
- UpdateActivePaletteL();
- }
- PRINT( _L("Camera <= CCamActivePaletteHandler::ReturnedFromPretendExitL"));
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ResetToFirstItem
-// Resets highlight to the first AP item
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::ResetToFirstItem()
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::ResetToFirstItem"));
- if ( !iController.IsTouchScreenSupported() )
- {
- if( iActivePalette && iItemArray.Count() > 0 )
- {
- iActivePalette->SetCurrentItem( iItemArray[0].iCmdId );
- }
- }
- PRINT( _L("Camera <= CCamActivePaletteHandler::ResetToFirstItem"));
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ResetToDefaultItem
-// Resets highlight to the default AP item
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::ResetToDefaultItem()
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::ResetToDefaultItem"));
- if ( !iController.IsTouchScreenSupported() )
- {
- CCamAppUi* appUi = static_cast<CCamAppUi*>( CEikonEnv::Static()->AppUi() );
- if( !appUi->IsEmbedded()
-/*#ifndef __WINS__
- || appUi->IsInCallSend()
-#endif*/
- )
- {
- if( iActivePalette && iItemArray.Count() > 1 )
- {
- // In static toolbar, always reset to second item
- // First item selected to adjust the visible items
- iActivePalette->SetCurrentItem( iItemArray[0].iCmdId );
- iActivePalette->SetCurrentItem( iItemArray[1].iCmdId );
- }
- }
- else
- {
- ResetToFirstItem();
- }
- }
- PRINT( _L("Camera <= CCamActivePaletteHandler::ResetToDefaultItem"));
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::UpdateActivePaletteL
-// Force Active palette update
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
- void CCamActivePaletteHandler::UpdateActivePaletteL()
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::UpdateActivePaletteL"))
- if ( !iController.IsTouchScreenSupported() )
- {
- TBool orientation = iController.UiConfigManagerPtr() &&
- iController.UiConfigManagerPtr()->IsUIOrientationOverrideSupported();
- if( iUpdatesDisabled )
- {
- PRINT( _L("Camera <= CCamActivePaletteHandler::UpdateActivePaletteL (updates disabled)"))
- return;
- }
-
- if( !iActivePalette )
- {
- PRINT( _L("Camera <= CCamActivePaletteHandler::UpdateActivePaletteL no palette"))
- return;
- }
-
- HBufC8* package = NULL;
- TInt messageId = -1;
- TInt count = iItemArray.Count();
- for( TInt i = 0; i < count; i++ )
- {
- TCamAPSettingsItem settingItem;
-
- TCamActivePaletteItem& item = iItemArray[i];
-
- settingItem.iSettingItem = item.iItemId;
-
- switch (item.iType)
- {
- case ECamActivePaletteItemTypeCommand:
- {
- // Tooltip or icon will now change for command type item
- break;
- }
- case ECamActivePaletteItemTypePreCapture:
- case ECamActivePaletteItemTypePostCapture:
- {
- if ( item.iItemId >= 0 )
- {
- // attempt to get actual setting value
- // get handle to controller
- settingItem.iSettingVal = iController.IntegerSettingValue( item.iItemId );
-
- if( !orientation ||
- ( orientation &&
- settingItem.iSettingVal != iCurrentValSettingsItem[i].iSettingVal ) )
- {
- TPckgBuf<TCamAPSettingsItem> buf( settingItem );
- TInt iconId = GetBitmapIdFromValueL( settingItem );
-
- if ( iconId != KErrNotFound )
- {
- TCamAPGenericPluginIcon icon( iconId, iconId );
- TPckgC<TCamAPGenericPluginIcon> iconPckg( icon );
- package = iconPckg.AllocLC();
- messageId = EAPGenericPluginChangeIcon;
- }
- }
- }
- break;
- }
- case ECamActivePaletteItemTypePreCaptureNonSetting:
- {
- settingItem.iSettingVal = DetermineNonSettingState( item );
-
- if( !orientation ||
- ( orientation &&
- settingItem.iSettingVal != iCurrentValSettingsItem[i].iSettingVal ) )
- {
- iIconId = GetBitmapIdFromValueL( settingItem );
- PRINT1( _L("Camera <> CCamActivePaletteHandler::UpdateActivePaletteL icon id %d"), iIconId);
- if( iIconId != KErrNotFound )
- {
- SetNonSettingItemTooltipL( item );
- TCamAPGenericPluginParams params (
- TCamAPGenericPluginParams::EGenericCustomResFile,
- *iIconFileName, // bitmap filename
- iIconId, // icon
- iIconId, // mask
- *iToolTipText, // text
- item.iCmdId, // message ID
- 0 ); // Custom param
- TPckg<TCamAPGenericPluginParams> paramsPckg( params );
- package = paramsPckg.AllocLC();
- messageId = EAPGenericPluginChangeParams;
- }
- }
- break;
- }
- default:
- {
- PRINT( _L("Camera <> CCamActivePaletteHandler::UpdateActivePaletteL: Unknown item, PANIC!!!") );
- __ASSERT_DEBUG( EFalse, CamPanic( ECamPanicInvalidActivePaletteItemType ) );
- }
- } // switch
- if ( package )
- {
- // if the value of the AP item has changed update the local settings value cache
- if ( orientation )
- {
- iCurrentValSettingsItem[i].iSettingVal = settingItem.iSettingVal;
- }
-
- // Change item by sending message to the generic plugin
- iActivePalette->SendMessage( item.iCmdId, messageId, *package) ;
- CleanupStack::PopAndDestroy( package );
- package = NULL;
- }
- } // for
-
- if ( iController.UiConfigManagerPtr()->IsXenonFlashSupported() )
- {
- CheckFlashItemVisibilityL();
- }
-
- }
-
- PRINT( _L("Camera <= CCamActivePaletteHandler::UpdateActivePaletteL"))
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::SetView
-// Set current view
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::SetView( CCamViewBase* aView )
- {
- iView = aView;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::SetVisibility
-// Set Active palette visiblity
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::SetVisibility( TBool aVisibility )
- {
- PRINT2(_L("Camera => CCamActivePaletteHandler::SetVisibility from %d to %d"), iVisible, aVisibility)
-
- if ( !iController.IsTouchScreenSupported() )
- {
- // Only animate if we're moving to a different state
- if ( iVisible != aVisibility && iActivePalette )
- {
- iVisible = aVisibility;
- if ( ECamCapturing == iController.CurrentOperation() ||
- (!iStarted &&
- !iController.UiConfigManagerPtr()->IsUIOrientationOverrideSupported() ) ||
- !aVisibility )
- {
- iActivePalette->SetPaletteVisibility(iVisible, EFalse);
- iStarted = ETrue;
- PRINT(_L("AP NO animation"));
- }
- else
- {
- iActivePalette->SetPaletteVisibility(iVisible,ETrue,100);
- PRINT(_L("AP animation"));
- }
-
- PERF_MESSAGE_L2( EPerfMessageActivePaletteAnimationStarting );
- PRINT(_L("AP animation started"));
- }
-
- if ( iController.IsTouchScreenSupported() )
- {
- if ( iActivePalette )
- {
- iActivePalette->SetPaletteVisibility( EFalse, EFalse );
- }
- }
- }
-
- PRINT(_L("Camera <= CCamActivePaletteHandler::SetVisibility"))
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::IsVisible
-// Return Active palette visiblity
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCamActivePaletteHandler::IsVisible() const
- {
- return iVisible;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::SetVisibility
-// Whether AP has requested item
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCamActivePaletteHandler::AccessedViaAP() const
- {
- return iItemAccessedViaAP;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::APOperationComplete
-// Inform AP handler AP launched item has completed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::APOperationComplete()
- {
- iItemAccessedViaAP = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::HandleAPKeyEventL
-// Pass keys events to Active Palette
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void
-CCamActivePaletteHandler::HandleAPKeyEventL( const TKeyEvent& /* aKeyEvent */,
- TEventCode /* aType */ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::CreateActivePaletteL
-// Create the Active Palette
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-void
-CCamActivePaletteHandler::CreateActivePaletteL(const CCoeControl &aContainerWindow,
- MObjectProvider *aMopParent)
- {
- OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, CCAMACTIVEPALETTEHANDLER_CREATEACTIVEPALETTEL, "e_CCamActivePaletteHandler_CreateActivePaletteL 1" );
- PRINT(_L("Camera => CCamActivePaletteHandler::CreateActivePaletteL"))
- PERF_EVENT_START_L2( EPerfEventActivePaletteConstruction );
-
- if ( !iController.IsTouchScreenSupported() )
- {
- if(!iActivePalette)
- {
- // Variate this according to usage of Direct Screen viewfinder
- if ( iController.IsDirectScreenVFSupported() )
- {
- iActivePalette = ActivePalette2Factory::CreateActivePaletteUIL(EAP2DrawModeCheckerboard);
- }
- else
- {
- iActivePalette = ActivePalette2Factory::CreateActivePaletteUIL(KActivePaletteDrawMode);
- }
- iActivePalette->SetObserver(this);
- }
- else
- {
- ClearActivePalette();
- }
- iActivePalette->CoeControl()->SetContainerWindowL( aContainerWindow );
- iActivePalette->CoeControl()->SetMopParent( aMopParent );
- iActivePalette->LocateTo(APScreenLocation( TPoint(280, 30) ));
- iActivePalette->SetPaletteVisibility(EFalse,EFalse);
- iVisible=EFalse;
- }
-
- PERF_EVENT_END_L2( EPerfEventActivePaletteConstruction );
- PRINT(_L("Camera <= CCamActivePaletteHandler::CreateActivePaletteL"))
- OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP1_CCAMACTIVEPALETTEHANDLER_CREATEACTIVEPALETTEL, "e_CCamActivePaletteHandler_CreateActivePaletteL 0" );
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::DestroyActivePalette
-// Deletes the Active Palette
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::DestroyActivePalette()
- {
- if ( !iController.IsTouchScreenSupported() )
- {
- delete iActivePalette;
- iActivePalette = NULL;
- }
- }
-
-//
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::NotifyItemFocused
-// Handle a change of item focus in the active palette
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::NotifyItemFocused(TInt /*aPrevItem*/, TInt /*aFocusedItem*/)
- {
- // We don't care about changes in item focus.
- }
-
-
-//
-//
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::NotifyItemSelected
-// Pass keys events to Active Palette
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::NotifyItemSelected(const TActivePalette2EventData & aEvent)
- {
- PRINT1( _L("Camera => CCamActivePaletteHandler::NotifyItemSelected item (%d)"), aEvent.CurItem() );
-
- if ( !iController.IsTouchScreenSupported() )
- {
- if( iView && iVisible )
- {
- TRAPD(ignore, iView->HandleCommandL( aEvent.CurItem()) );
-
- // Handling a command implies a container switch, so we need to switch the activepalette back
- // to the system Gc.
- iActivePalette->SetGc();
-
- // Error -14 (KErrInUse) must be handled here or it's ignored and there's no error note
- if( ignore == KErrInUse )
- {
- PRINT( _L( "Camera <> CCamActivePaletteHandler::NotifyItemSelected KErrInUse" ) );
-
- // Get the application caption (name)
- RApaLsSession ls;
- TApaAppInfo appInfo;
- TRAPD(err1, ls.Connect() );
- if( err1 != KErrNone)
- {
- ls.Close();
- return;
- }
- TRAPD(err2, ls.GetAppInfo(appInfo, TUid::Uid(KCameraappUID)) );
- if( err2 != KErrNone)
- {
- ls.Close();
- return;
- }
- TApaAppCaption appCaption = appInfo.iCaption;
- ls.Close();
-
- // Get the correct error description
- CTextResolver* iTextResolver = NULL;
-
- TRAPD(err3, iTextResolver = CTextResolver::NewL());
- if( err3 != KErrNone)
- {
- return;
- }
- TPtrC buf;
- buf.Set( iTextResolver->ResolveErrorString( ignore, CTextResolver::ECtxNoCtxNoSeparator ) );
- delete iTextResolver;
- iTextResolver = NULL;
-
- // Compose the full error message
- TBuf<100> fullnote;
- fullnote.Append(appCaption);
- fullnote.Append(':');
- fullnote.Append('\n');
- fullnote.Append(buf);
-
- // Display the error note
- CAknErrorNote* dlg = new CAknErrorNote( ETrue );
- if(dlg==NULL)
- {
- return;
- }
- TRAPD(err4, dlg->ExecuteLD( fullnote ));
- if( err4 != KErrNone)
- {
- return;
- }
- }
- iItemAccessedViaAP = ETrue;
- }
- }
- PRINT( _L("Camera <= CCamActivePaletteHandler::NotifyItemSelected") );
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::NotifyItemComplete
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::NotifyItemComplete(const TActivePalette2EventData& /*aEvent*/,
- const TDesC8& /*aDataDes*/,
- TInt /*aDataInt*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::NotifyMessage
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void
-CCamActivePaletteHandler::NotifyMessage(
- const TActivePalette2EventData& /*aEvent*/,
- TInt /*aMessageID*/,
- const TDesC8& /*aDataDes*/,
- TInt /*aDataInt*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::Redraw
-//
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-void CCamActivePaletteHandler::Redraw(const TRect& aArea)
- {
- if ( iView )
- {
- iView->RedrawAPArea( aArea );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ActivePaletteUpdated
-//
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-void CCamActivePaletteHandler::ActivePaletteUpdated()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::LoadPostCaptureResourcesL
-// Load resource for post-capture item
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::LoadPostCaptureResourcesL( TInt aResourceId )
- {
- if ( !iController.IsTouchScreenSupported() )
- {
- TResourceReader reader;
- iEnv->CreateResourceReaderLC(reader, aResourceId);
-
- // Store tooltip text and icon ID in member variables
- TPtrC ptr = reader.ReadTPtrC();
- delete iToolTipText;
- iToolTipText = NULL;
- iToolTipText = ptr.AllocL();
-
- iIconId = reader.ReadInt16();
-
- CleanupStack::PopAndDestroy(); // reader
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::PreCaptureArrayId
-// Map settings item to CAM_CAPTURE_SETUP_MENU_ITEM_ARRAY type resource id
-// -----------------------------------------------------------------------------
-//
-TInt CCamActivePaletteHandler::PreCaptureArrayId( TInt aSettingItem )
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::PreCaptureArrayId") );
- TBool extLightSensitivitySupported = EFalse;
- TInt resId = KErrNotFound;
- if ( !iController.IsTouchScreenSupported() )
- {
- switch( aSettingItem )
- {
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoScene:
- resId = R_CAM_CAPTURE_SETUP_MENU_VIDEO_SCENE_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoWhiteBalance:
- resId = R_CAM_CAPTURE_SETUP_MENU_VIDEO_WHITE_BALANCE_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoExposure:
- break;
- // -----------------------------------------------------
- // Replaced by ECamSettingItemDynamicVideoLightSensitivity
- // case ECamSettingItemDynamicVideoISO:
- // break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoColourFilter:
- resId = R_CAM_CAPTURE_SETUP_MENU_VIDEO_COLOURFILTER_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoBrightness:
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoContrast:
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoColourSaturation:
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoScene:
- resId = R_CAM_CAPTURE_SETUP_MENU_PHOTO_SCENE_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoWhiteBalance:
- resId = R_CAM_CAPTURE_SETUP_MENU_PHOTO_WHITE_BALANCE_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoExposure:
- resId = iEvCompRes;
- break;
- // -----------------------------------------------------
- // Replaced by ECamSettingItemDynamicPhotoLightSensitivity
- // case ECamSettingItemDynamicPhotoISO:
- // break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoColourFilter:
- resId = R_CAM_CAPTURE_SETUP_MENU_PHOTO_COLOURFILTER_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoFlash:
- resId = R_CAM_CAPTURE_SETUP_MENU_PHOTO_FLASH_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoFlash:
- resId = R_CAM_CAPTURE_SETUP_MENU_VIDEO_FLASH_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoBrightness:
- resId = R_CAM_CAPTURE_SETUP_MENU_PHOTO_BRIGHTNESS_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoContrast:
- resId = R_CAM_CAPTURE_SETUP_MENU_PHOTO_CONTRAST_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoImageSharpness:
- resId = R_CAM_CAPTURE_SETUP_MENU_PHOTO_IMAGESHARPNESS_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoColourSaturation:
- break;
- // -----------------------------------------------------
- case ECamSettingItemFaceTracking:
- resId = R_CAM_ACTIVE_PALETTE_PRECAPTURE_FACETRACKING_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemSequenceMode:
- resId = R_CAM_ACTIVE_PALETTE_PRECAPTURE_SEQUENCE_MODE_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemVideoModeSelect:
- resId = R_CAM_ACTIVE_PALETTE_PRECAPTURE_VIDEO_MODE_SELECT;
- break;
- // -----------------------------------------------------
- case ECamSettingItemImageModeSelect:
- resId = R_CAM_ACTIVE_PALETTE_PRECAPTURE_IMAGE_MODE_SELECT;
- break;
- case ECamSettingItemSwitchCamera:
- resId = R_CAM_ACTIVE_PALETTE_PRECAPTURE_SWITCH_CAMERA;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicSelfTimer:
- resId = R_CAM_ACTIVE_PALETTE_SELF_TIMER_SELECT;
- break;
- // -----------------------------------------------------
- case ECamSettingItemDynamicPhotoLightSensitivity:
- case ECamSettingItemDynamicVideoLightSensitivity:
- extLightSensitivitySupported =
- iController.UiConfigManagerPtr()->IsExtendedLightSensitivitySupported();
- if ( extLightSensitivitySupported )
- {
- resId = R_CAM_ACTIVE_PALETTE_EXTENDED_LIGHT_SENSITIVITY_SELECT;
- }
- else
- {
- resId = R_CAM_ACTIVE_PALETTE_LIGHT_SENSITIVITY_SELECT;
- }
- break;
- // -----------------------------------------------------
- case ECamSettingItemViewfinderGrid:
- resId = R_CAM_ACTIVE_PALETTE_VF_GRID_SET_ARRAY;
- break;
- // -----------------------------------------------------
- case ECamSettingItemGotoPhotos:
- resId = R_CAM_ACTIVE_PALETTE_GOTO_PHOTOS_SET_ARRAY;
- break;
- // -----------------------------------------------------
- default:
- break;
- // -----------------------------------------------------
- } // switch
- }
-
- PRINT1( _L("Camera <= CCamActivePaletteHandler::PreCaptureArrayId, return:%d" ), resId )
- return resId;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::GetBitmapIdFromValueL
-// Find bitmap id for specific settings value
-// -----------------------------------------------------------------------------
-//
-TInt CCamActivePaletteHandler::GetBitmapIdFromValueL( TCamAPSettingsItem& aItem )
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::GetBitmapIdFromValueL") );
-
- if ( !iController.IsTouchScreenSupported() )
- {
- TInt arrayId = PreCaptureArrayId( aItem.iSettingItem );
-
- if ( arrayId == KErrNotFound )
- {
- return KErrNotFound;
- }
-
- TInt bitmapId = KErrNotFound;
-
- PRINT( _L("Camera <> CCamActivePaletteHandler: Looking for tooltip...") );
-
- TResourceReader reader;
- iEnv->CreateResourceReaderLC( reader, arrayId );
-
- // Settings model ID
- reader.ReadInt16();
-
- // Tooltip text
- TPtrC ptr = reader.ReadTPtrC();
-
- delete iToolTipText;
- iToolTipText = NULL;
- iToolTipText = ptr.AllocL();
-
- TInt tmpVal = aItem.iSettingVal;
-
- if ( iController.UiConfigManagerPtr()->IsContrastSupported() )
- {
- // For contrast setting map the value to bitmap value
- if ( aItem.iSettingItem == ECamSettingItemDynamicPhotoContrast ||
- aItem.iSettingItem == ECamSettingItemDynamicVideoContrast )
- {
- if ( tmpVal > 0 )
- {
- tmpVal = ECamContrastPlus;
- }
- else if ( tmpVal < 0 )
- {
- tmpVal = ECamContrastNeg;
- }
- else
- {
- tmpVal = ECamContrastNorm;
- }
- }
- }
-
- if ( iController.UiConfigManagerPtr()->IsBrightnessSupported() )
- {
- // For brightness setting map the value to bitmap value
- if ( aItem.iSettingItem == ECamSettingItemDynamicPhotoBrightness ||
- aItem.iSettingItem == ECamSettingItemDynamicVideoBrightness )
- {
- if ( tmpVal > 0 )
- {
- tmpVal = ECamBrightnessPlus;
- }
- else if ( tmpVal < 0 )
- {
- tmpVal = ECamBrightnessNeg;
- }
- else
- {
- tmpVal = ECamBrightnessNorm;
- }
- }
- }
-
- PRINT( _L("Camera <> CCamActivePaletteHandler: Looking for bitmap...") );
- const TInt count = reader.ReadInt16();
-
- for( TInt i = 0; i < count; i++ )
- {
- if (reader.ReadInt16() == tmpVal )
- {
- bitmapId = reader.ReadInt16();
- break;
- }
-
- // Skip these values if this isn't the one we're interested in.
- reader.ReadInt16(); // Bitmap ID
- reader.ReadTPtrC(); // Icon text
- }
-
- CleanupStack::PopAndDestroy(); // reader
-
- PRINT1( _L("Camera <= CCamActivePaletteHandler::GetBitmapIdFromValueL, return id:%d"), bitmapId );
- return bitmapId;
- }
- else
- {
- return KErrNotFound;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::PostCaptureItemId
-// Find resource ID for post capture item from command ID
-// -----------------------------------------------------------------------------
-//
-TInt CCamActivePaletteHandler::PostCaptureItemId( TInt aCommandId )
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::PostCaptureItemId") );
- TInt resId = KErrNotFound;
-
- if ( !iController.IsTouchScreenSupported() )
- {
- switch( aCommandId )
- {
- case ECamCmdPhotos:
- resId = R_CAM_AP_PHOTOS;
- break;
- case ECamCmdDelete:
- resId = R_CAM_AP_DELETE;
- break;
- case ECamCmdPlay:
- resId = R_CAM_AP_PLAY;
- break;
- case ECamCmdSend:
- resId = R_CAM_AP_SEND;
- break;
- case ECamCmdSendToCallerMultimedia:
- resId = R_CAM_AP_SEND_MULTIMEDIA;
- break;
- case ECamCmdOneClickUpload:
- resId = R_CAM_AP_ONE_CLICK_UPLOAD;
- break;
- case ECamCmdAddToAlbum:
- resId = R_CAM_AP_ADD_TO_ALBUM;
- break;
- case ECamCmdProperties:
- resId = R_CAM_AP_PROPERTIES;
- break;
- default:
- break;
- }
- }
- PRINT( _L("Camera <= CCamActivePaletteHandler::PostCaptureItemId") );
- return resId;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::DetermineNonSettingState
-// Current state of a Non-Setting Item
-// -----------------------------------------------------------------------------
-//
-TInt
-CCamActivePaletteHandler
-::DetermineNonSettingState( const TCamActivePaletteItem& aItem ) const
- {
- __ASSERT_DEBUG( aItem.iType == ECamActivePaletteItemTypePreCaptureNonSetting,
- CamPanic( ECamPanicNonSettingActivePaletteTypeExpected ) );
-
- TInt state = KErrNotFound;
-
- if ( !iController.IsTouchScreenSupported() )
- {
- CCamAppUi* appUi = static_cast<CCamAppUi*>(iEnv->AppUi());
-
-
- switch( aItem.iItemId )
- {
- // -----------------------------------------------------
- case ECamSettingItemSequenceMode:
- {
- TBool burst = appUi->IsBurstEnabled();
- state = CamTimeLapseUtility::IntervalToEnum( iController.TimeLapseInterval(), burst );
- PRINT1( _L("Camera <> CCamActivePaletteHandler::DetermineNonSettingState Sequence Mode %d"), appUi->IsBurstEnabled());
- break;
- }
- // -----------------------------------------------------
- case ECamSettingItemImageModeSelect:
- case ECamSettingItemVideoModeSelect:
- case ECamSettingItemSwitchCamera:
- {
- state = 0;
- break;
- }
- // -----------------------------------------------------
- case ECamSettingItemViewfinderGrid:
- {
- state = iController.IntegerSettingValue( ECamSettingItemViewfinderGrid );
- break;
- }
- // -----------------------------------------------------
- case ECamSettingItemFaceTracking:
- {
- state = iController.IntegerSettingValue( ECamSettingItemFaceTracking );
- break;
- }
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoFlash:
- {
- state = iController.IntegerSettingValue( ECamSettingItemDynamicVideoFlash );
- break;
- }
- // -----------------------------------------------------
- default:
- {
- __ASSERT_DEBUG( EFalse, CamPanic( ECamPanicInvalidActivePaletteItemType ) );
- break;
- }
- // -----------------------------------------------------
- }
- }
-
- return state;
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::SetNonSettingItemTooltipL
-// Change a Non-Setting Item's tooltip
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::SetNonSettingItemTooltipL(const TCamActivePaletteItem& aItem)
- {
- if ( !iController.IsTouchScreenSupported() )
- {
- __ASSERT_DEBUG( aItem.iType == ECamActivePaletteItemTypePreCaptureNonSetting,
- CamPanic( ECamPanicNonSettingActivePaletteTypeExpected ) );
-
- TInt resource = 0;
- switch ( aItem.iItemId )
- {
- // -----------------------------------------------------
- case ECamSettingItemSequenceMode:
- {
- resource = ( iController.TimeLapseSupported() )
- ? R_CAM_ACTIVE_PALETTE_PRECAPTURE_ADVANCED_SEQUENCE_MODE_TOOLTIP_ARRAY
- : R_CAM_ACTIVE_PALETTE_PRECAPTURE_SEQUENCE_MODE_TOOLTIP_ARRAY;
- break;
- }
- // -----------------------------------------------------
- case ECamSettingItemViewfinderGrid:
- {
- resource = R_CAM_ACTIVE_PALETTE_VF_GRID_TOOLTIP_ARRAY;
- break;
- }
- // -----------------------------------------------------
- case ECamSettingItemDynamicVideoFlash:
- {
- resource = R_CAM_ACTIVE_PALETTE_VIDEO_FLASH_TOOLTIP_ARRAY;
- break;
- }
- // -----------------------------------------------------
- case ECamSettingItemFaceTracking:
- {
- resource = R_CAM_ACTIVE_PALETTE_FACETRACKING_TOOLTIP_ARRAY;
- break;
- }
- // -----------------------------------------------------
- default:
- {
- break;
- }
- // -----------------------------------------------------
- } // switch
-
- if ( resource )
- {
- TResourceReader reader;
- iEnv->CreateResourceReaderLC(reader, resource);
-
- // Current Item State
- TInt state = DetermineNonSettingState(aItem);
-
- const TInt count = reader.ReadInt16();
-
- for( TInt i = 0; i < count; i++ )
- {
- if (i == state)
- {
- TPtrC ptr = reader.ReadTPtrC();
- delete iToolTipText;
- iToolTipText = NULL;
- iToolTipText = ptr.AllocL();
- break;
- }
- // Skip these values if this isn't the one we're interested in.
- reader.ReadTPtrC(); // Tooltip text
- }
- CleanupStack::PopAndDestroy(); // reader
- }
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::SetItemVisible
-// Sets an icons visability
-// -----------------------------------------------------------------------------
-//
-TInt CCamActivePaletteHandler::SetItemVisible( const TInt aCommandId, const TBool aIsVisible )
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::SetItemVisible"));
- TInt ret = 0;
- if ( !iController.IsTouchScreenSupported() )
- {
- if ( iActivePalette )
- {
- return iActivePalette->SetItemVisibility( aCommandId, aIsVisible );
- }
- else
- {
- return ret;
- }
- }
- else
- {
- return ret;
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::DisableUpdates
-// Disables / enables activepalette updates.
-// When updates are disabled, UpdateActivePaletteL does nothing.
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::DisableUpdates( TBool aDisableUpdates )
- {
- PRINT1( _L("Camera => CCamActivePaletteHandler::DisableUpdates(%d)" ), aDisableUpdates );
-
- iUpdatesDisabled = aDisableUpdates;
-
- PRINT( _L("Camera <= CCamActivePaletteHandler::DisableUpdates" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::SetOneClickUploadTooltipL
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::SetOneClickUploadTooltipL(
- const TDesC& aToolTip )
- {
- delete iOneClickUploadTooltip;
- iOneClickUploadTooltip = NULL;
- iOneClickUploadTooltip = aToolTip.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ClearActivePalette
-// Deletes all items from the active palette without deleting the active palette
-// object itself, as this would cause problems for the containers that have
-// pointers to
-// -----------------------------------------------------------------------------
-//
-void CCamActivePaletteHandler::ClearActivePalette()
- {
- if ( !iController.IsTouchScreenSupported() )
- {
- RArray<TActivePalette2ItemVisible> itemArray;
- iActivePalette->GetItemList(itemArray);
- for(TInt i=0;i<itemArray.Count();i++)
- {
- iActivePalette->RemoveItem(itemArray[i].ItemId());
- }
- itemArray.Close();
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::ReadToolbarItemsFromResourceL
-// Load toolbar item resource content to argument array
-// -----------------------------------------------------------------------------
-//
-void
-CCamActivePaletteHandler::ReadToolbarItemsFromResourceL( TInt aResId,
- RArray<TCamActivePaletteItem>& aItems )
- {
- PRINT( _L("Camera => CCamActivePaletteHandler::ReadToolbarItemsFromResourceL" ) );
- if ( !iController.IsTouchScreenSupported() )
- {
- // Create resource reader
- TResourceReader apItemReader;
- iEnv->CreateResourceReaderLC( apItemReader, aResId );
-
- // Read number of items
- TInt numItems = apItemReader.ReadInt16();
- PRINT1( _L("Camera <> CCamActivePaletteHandler::ReadToolbarItemsFromResourceL %d items"), numItems );
-
- TInt currentPosition = 1;
- for( TInt i = 0; i < numItems; i++ )
- {
- TCamActivePaletteItem item;
- item.iItemId = apItemReader.ReadInt32();
- item.iCmdId = apItemReader.ReadInt32();
-
- // NOTE:
- // !! Current AP2 implementation ignores the iPosition value
- // and the order is set by installing order !!!
- //
- // There are predefined "slots" for
- // each used item. The order in resource need not to be
- // the same as the order in Active Palette.
- // item.iPosition = apItemReader.ReadInt8();
-
- apItemReader.ReadInt8(); // Read unused position value
- item.iPosition = currentPosition;
- currentPosition++;
-
- item.iIsVisible = apItemReader.ReadInt8();
- item.iType = apItemReader.ReadInt8();
-
- // Append to array of items
- aItems.AppendL( item );
- }
-
- CleanupStack::PopAndDestroy(); // apItemReader
- PRINT( _L("Camera <= CCamActivePaletteHandler::ReadToolbarItemsFromResourceL" ) );
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CCamActivePaletteHandler::APDimensionConvertion()
-// -----------------------------------------------------------------------------
-//
-TPoint CCamActivePaletteHandler::APScreenLocation( TPoint aQvgaPoint )
- {
- TSize ScreenSize( 0, 0 );
- AknLayoutUtils::LayoutMetricsSize( AknLayoutUtils::EScreen, ScreenSize );
- TInt baseheight = 240;
- TInt lower = 0;
- if ( ScreenSize.iWidth < ScreenSize.iHeight )
- {
- lower = ScreenSize.iWidth;
- }
- else
- {
- lower = ScreenSize.iHeight;
- }
- TReal ratio = TReal(lower)/baseheight;
- TInt APHeightQvga = 240 - 2*aQvgaPoint.iY;
- TReal APHeightReal;
- Math::Round( APHeightReal, ratio*APHeightQvga, 0 );
- TInt APHeight = TInt(APHeightReal);
- TInt YValue = (ScreenSize.iHeight/2) - (APHeight/2);
-
- TReal APXValueReal;
- TInt XValue;
-
- // With full screen viewfinder, use this!
- TInt APXLengthQvga = 320 - aQvgaPoint.iX;
- Math::Round( APXValueReal, ratio*APXLengthQvga, 0 );
- TInt APXLength = TInt(APXValueReal);
- XValue = ScreenSize.iWidth - APXLength;
-
- return TPoint( XValue, YValue );
- }
-
-
-// End of File