--- a/camerauis/cameraapp/build/cameraapp.mmp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/build/cameraapp.mmp Wed Mar 31 21:06:44 2010 +0300
@@ -191,6 +191,8 @@
SOURCE CamMemoryMonitor.cpp
SOURCE cambackupcontainer.cpp
SOURCE camsnapshotrotator.cpp
+SOURCE camstartuplogo.cpp
+SOURCE camstartuplogocontroller.cpp
// Camera controller sources
SOURCEPATH ../generic/src/cameracontroller
--- a/camerauis/cameraapp/build/iconlist.txt Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/build/iconlist.txt Wed Mar 31 21:06:44 2010 +0300
@@ -161,4 +161,5 @@
-c8,1 qgn_indi_media_fullscreen_play.svg
-c8,8 qgn_bg_lcam_vid_postcap_play.svg
-c8,8 qgn_bg_lcam_vid_postcap_play_pressed.svg
--c8,1 qgn_indi_mg_tb_edit.svg
\ No newline at end of file
+-c8,1 qgn_indi_mg_tb_edit.svg
+-c8,8 qgn_menu_cams.svg
Binary file camerauis/cameraapp/conf/cameraapp.confml has changed
Binary file camerauis/cameraapp/conf/cameraapp_101FFA86.crml has changed
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp Wed Mar 31 21:06:44 2010 +0300
@@ -57,6 +57,9 @@
SOURCE GSCamDefaultNameSettingItem.cpp
SOURCE GSCamdefaultnamesettingpage.cpp
+SOURCE GSCamCaptureToneSettingItem.cpp
+
+
SOURCEPATH ../../common/src
SOURCE CamVideoQualityLevel.cpp
SOURCE CamStaticSettingsModel.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamCaptureToneSettingItem.h Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* 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: Setting item for capture tone
+*/
+
+
+#ifndef GSCAMCAPTURETONESETTINGITEM_H_
+#define GSCAMCAPTURETONESETTINGITEM_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+
+/**
+* Setting item for capture tone selection
+* @since 5.0
+ */
+class CGSCamCaptureToneSettingItem : public CAknEnumeratedTextPopupSettingItem
+ {
+public:
+ // Constructors and destructor
+ /**
+ * C++ constructor
+ * @since 5.0
+ * @param aIdentifier setting page resource id
+ * @param aValue current name base type
+ */
+ CGSCamCaptureToneSettingItem(TInt aIdentifier,
+ TInt& aValue);
+
+ /**
+ * Destructor
+ */
+ virtual ~CGSCamCaptureToneSettingItem();
+
+protected:// Functions from base classes
+ /**
+ *
+ * Virtual method called by framework to complete the construction.
+ * In this fuction, if the "off" option is disabled in the cenrep,
+ * it is removed from the setting item list (Enumerated List)
+ */
+ void CompleteConstructionL();
+ };
+
+#endif /* CGSCAMCAPTURETONESETTINGITEM_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamCaptureToneSettingItem.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* 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: Setting item for capture tone
+*/
+
+
+// INCLUDE FILES
+#include <centralrepository.h>
+#include "GSCamCaptureToneSettingItem.h"
+#include "camuidconstants.h"
+#include "CamSettings.hrh"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+// ---------------------------------------------------------------------------
+// CGSCamCaptureToneSettingItem::CGSCamCaptureToneSettingItem
+// C++ constructor
+// ---------------------------------------------------------------------------
+//
+CGSCamCaptureToneSettingItem::CGSCamCaptureToneSettingItem(TInt aIdentifier,
+ TInt& aValue) :
+ CAknEnumeratedTextPopupSettingItem(aIdentifier, aValue)
+ {
+
+ }
+
+// ---------------------------------------------------------------------------
+// CGSCamCaptureToneSettingItem::~CGSCamCaptureToneSettingItem
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CGSCamCaptureToneSettingItem::~CGSCamCaptureToneSettingItem()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CGSCamCaptureToneSettingItem::CGSCamCaptureToneSettingItem
+//
+// ---------------------------------------------------------------------------
+//
+void CGSCamCaptureToneSettingItem::CompleteConstructionL()
+ {
+ CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
+
+ // get the KCCorEnableCaptureToneOff key value from cenrep
+ CRepository* repository = NULL;
+ TInt shutterSoundEnabled = 0; //by default enabled
+ TRAPD(ret, repository = CRepository::NewL(KCRUidCamcorderFeatures));
+ if (ret == KErrNone)
+ {
+ const TUint32 KCCorShutterSound = 0x00000007;
+ ret = repository->Get(KCCorShutterSound,
+ shutterSoundEnabled);
+ }
+ delete repository;
+ repository = NULL;
+
+ if ( shutterSoundEnabled == 1 )
+ {
+ // if enabled, delete off from the list
+ // if disabled, off option is shown to the user
+ // under capture tone selection menu
+ CArrayPtr<CAknEnumeratedText>
+ * itemArray =
+ static_cast<CAknEnumeratedTextPopupSettingItem*>(this)->EnumeratedTextArray();
+
+ TInt count = itemArray->Count();
+
+ for(TInt idx = 0; idx < count; idx++)
+ {
+ TInt value = itemArray->At( idx )->EnumerationValue();
+ if(value == ECamSettToneOff)
+ {
+ itemArray->Delete(idx);
+ }
+ }
+ }
+ }
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -27,6 +27,7 @@
#include <AknWaitDialog.h>
#include <CAknMemorySelectionSettingItemMultiDrive.h>
#include <driveinfo.h> // DriveInfo
+#include <AknCommonDialogsDynMem.h>
#include "GSCamcorderPlugin.hrh"
#include "Cam.hrh"
@@ -46,6 +47,7 @@
#include "CamWaitDialog.h"
#include "CamLocationSettingItem.h"
#include "camconfiguration.h"
+#include "GSCamCaptureToneSettingItem.h"
// ========================= MEMBER FUNCTIONS ================================
@@ -201,7 +203,7 @@
case ECamSettingItemPhotoCaptureTone:
{
settingItem = new( ELeave )
- CAknEnumeratedTextPopupSettingItem( aIdentifier, valueId );
+ CGSCamCaptureToneSettingItem( aIdentifier, valueId );
}
break;
@@ -227,18 +229,27 @@
// Convert the setting to a memory enum
iMemVal = static_cast<DriveInfo::TDefaultDrives>
( CamUtility::MapToSettingsListMemory( valueId ) );
- __ASSERT_DEBUG( iMemVal != KErrNotFound,
- CamPanic( ECamPanicUnhandledCreateSettingItem ) );
-
+
// Get the root path of the default mass storage memory.
- TInt driveInt;
- TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
- iDrive = static_cast<TDriveNumber>(driveInt);
-
+ if(iMemVal != KErrNotFound)
+ {
+ TInt driveInt;
+ TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
+ iDrive = static_cast<TDriveNumber>(driveInt);
+ }
+ else
+ {
+ iDrive = static_cast<TDriveNumber>(0); //Doesn't matter
+ }
+ TInt includedMedias = AknCommonDialogsDynMem::EMemoryTypeMMCExternal |
+ AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;
settingItem = new ( ELeave )
CAknMemorySelectionSettingItemMultiDrive(
aIdentifier,
- iDrive );
+ iDrive
+ );
+ static_cast<CAknMemorySelectionSettingItemMultiDrive*>(settingItem)
+ ->SetIncludedMediasL(includedMedias);
}
break;
@@ -329,6 +340,9 @@
{
iMemVal = static_cast<DriveInfo::TDefaultDrives>(CamUtility::GetDriveTypeFromDriveNumber( iDrive ));
settingValue = CamUtility::MapFromSettingsListMemory( iMemVal );
+ settingValue = ( (settingValue == ECamMediaStoragePhone) &&
+ parent->IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage) )?
+ ECamMediaStorageNone:settingValue;
}
else if ( editedItem->Identifier() == ECamSettingItemPhotoQuality )
{
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamQualitySettingContainer.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamQualitySettingContainer.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -567,20 +567,33 @@
{
CFbsBitmap* icon = NULL;
CFbsBitmap* mask = NULL;
- if ( iStorageLocation == ECamMediaStoragePhone )
- {
- icon = iPhoneIcon;
- mask = iPhoneIconMask;
- }
- else if ( iStorageLocation == ECamMediaStorageMassStorage )
+
+ switch( iStorageLocation )
{
- icon = iMassStorageIcon;
- mask = iMassStorageIconMask;
- }
- else
- {
- icon = iMMCIcon;
- mask = iMMCIconMask;
+ case ECamMediaStoragePhone:
+ {
+ icon = iPhoneIcon;
+ mask = iPhoneIconMask;
+ }
+ break;
+ case ECamMediaStorageMassStorage:
+ {
+ icon = iMassStorageIcon;
+ mask = iMassStorageIconMask;
+ }
+ break;
+ case ECamMediaStorageCard:
+ {
+ icon = iMMCIcon;
+ mask = iMMCIconMask;
+ }
+ break;
+ case ECamMediaStorageNone:
+ default:
+ {
+ //TODO: Get icons when none is available
+ }
+ break;
}
iLayoutIcon.DrawImage( aGc, icon, mask );
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -27,6 +27,7 @@
#include <AknWaitDialog.h>
#include <CAknMemorySelectionSettingItemMultiDrive.h>
#include <driveinfo.h> // DriveInfo
+#include <AknCommonDialogsDynMem.h>
#include "GSCamcorderPlugin.hrh"
#include "Cam.hrh"
@@ -227,20 +228,27 @@
{
// Convert the setting to a memory enum
iMemVal = static_cast<DriveInfo::TDefaultDrives>
- ( CamUtility::MapToSettingsListMemory(
- iSettings[lastItem]->iValueId ) );
-
- __ASSERT_DEBUG( iMemVal != KErrNotFound,
- CamPanic( ECamPanicUnhandledCreateSettingItem ) );
-
- // Get the root path of the default mass storage memory.
- TInt driveInt;
- TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
- iDrive = static_cast<TDriveNumber>(driveInt);
-
- settingItem = new ( ELeave )
- CAknMemorySelectionSettingItemMultiDrive( aIdentifier,
- iDrive );
+ ( CamUtility::MapToSettingsListMemory( valueId ) );
+
+ if(iMemVal != KErrNotFound)
+ {
+ TInt driveInt;
+ TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
+ iDrive = static_cast<TDriveNumber>(driveInt);
+ }
+ else
+ {
+ iDrive = static_cast<TDriveNumber>(0); //Doesn't matter
+ }
+ TInt includedMedias = AknCommonDialogsDynMem::EMemoryTypeMMCExternal |
+ AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;
+ settingItem = new ( ELeave )
+ CAknMemorySelectionSettingItemMultiDrive(
+ aIdentifier,
+ iDrive
+ );
+ static_cast<CAknMemorySelectionSettingItemMultiDrive*>(settingItem)
+ ->SetIncludedMediasL(includedMedias);
break;
}
case ECamSettingItemVideoNameBaseType:
@@ -343,6 +351,9 @@
{
iMemVal = static_cast<DriveInfo::TDefaultDrives>(CamUtility::GetDriveTypeFromDriveNumber( iDrive ));
settingValue = CamUtility::MapFromSettingsListMemory( iMemVal );
+ settingValue = ( (settingValue == ECamMediaStoragePhone) &&
+ parent->IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage) )?
+ ECamMediaStorageNone:settingValue;
//__ASSERT_DEBUG( settingValue != KErrNotFound, CamPanic( ECamPanicUnknownSettingItem ) );
}
else if ( editedItem->Identifier() == ECamSettingItemVideoQuality )
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -548,7 +548,9 @@
}
else
{
- settingValue = ECamMediaStoragePhone;
+ settingValue = iSettingsModel->IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
}
}
return settingValue;
--- a/camerauis/cameraapp/generic/common/data/CamSettings.ra Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/data/CamSettings.ra Wed Mar 31 21:06:44 2010 +0300
@@ -159,7 +159,6 @@
};
}
-//ME:START
RESOURCE CBA R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT
{
flags = EEikButtonGroupAddToStack | EEikCbaFlagTransparent;
@@ -182,8 +181,6 @@
}
};
}
-//ME:END
-
//----------------------------------------------------
//
// R_CAM_SOFTKEYS_OPTIONS_BACK__CAPTURE
@@ -2913,6 +2910,11 @@
{
value = ECamSettTone4;
text = qtn_lcam_set_camera_4;
+ },
+ AVKON_ENUMERATED_TEXT
+ {
+ value = ECamSettToneOff;
+ text = qtn_lcam_shuttersound_off;
}
};
}
--- a/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra Wed Mar 31 21:06:44 2010 +0300
@@ -157,8 +157,6 @@
};
}
-
-//ME:START
RESOURCE CBA R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT
{
flags = EEikButtonGroupAddToStack | EEikCbaFlagTransparent;
@@ -181,8 +179,6 @@
}
};
}
-//ME:END
-
//----------------------------------------------------
//
@@ -2923,6 +2919,11 @@
{
value = ECamSettTone4;
text = qtn_lcam_set_camera_4;
+ },
+ AVKON_ENUMERATED_TEXT
+ {
+ value = ECamSettToneOff;
+ text = qtn_lcam_shuttersound_off;
}
};
}
--- a/camerauis/cameraapp/generic/common/inc/CamSettings.hrh Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/inc/CamSettings.hrh Wed Mar 31 21:06:44 2010 +0300
@@ -192,7 +192,8 @@
ECamSettTone1,
ECamSettTone2,
ECamSettTone3,
- ECamSettTone4
+ ECamSettTone4,
+ ECamSettToneOff
};
// File name base type settings
--- a/camerauis/cameraapp/generic/common/inc/CamSettingsInternal.hrh Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/inc/CamSettingsInternal.hrh Wed Mar 31 21:06:44 2010 +0300
@@ -86,6 +86,7 @@
//Photo and video editor support
ECamSettingItemPhotoEditorSupport, // Support for photo editor
ECamSettingItemVideoEditorSupport, // Support for video editor
+ ECamSettingItemRemovePhoneMemoryUsage, // Remove phone memory usage
ECamSettingItemStaticCommonRangeMax, // Range marker for static common settings
// -----------------------------------------------------
@@ -596,6 +597,7 @@
(const TUint16* const)_S16("ItemRecLocation"),
(const TUint16* const)_S16("ItemPhotoEditorSupport"),
(const TUint16* const)_S16("ItemVideoEditorSupport"),
+ (const TUint16* const)_S16("ItemRemovePhoneMemoryUsage"),
(const TUint16* const)_S16("ItemStaticCommonRangeMax"),
// -----------------------------------------------------
(const TUint16* const)_S16("ItemUserSceneRangeMin"),
--- a/camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h Wed Mar 31 21:06:44 2010 +0300
@@ -92,6 +92,9 @@
const TUint32 KCamCrPhotoEditorSupport = 0x5A;
const TUint32 KCamCrVideoEditorSupport = 0x5B;
+//Remove phone memory usage
+const TUint32 KCamCrRemovePhoneMemoryUsage = 0x5C;
+
// =========================================================
// Cameraapp variant settings file
const TUid KCRUidCameraappVariant = {0x10208A43};
--- a/camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -70,9 +70,7 @@
Rect()
);
CCamCaptureSetupListItemDrawer* itemDrawer =
- CCamCaptureSetupListItemDrawer::NewL( *model, iSkinnedBackGround );
- //ME:END
-
+ CCamCaptureSetupListItemDrawer::NewL( *model, iSkinnedBackGround || aLocationSettingListBox );
itemDrawer->SetParentControl( aParent );
// CEikListBox takes ownership before anything can leave.
--- a/camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -54,10 +54,8 @@
// CONSTANTS
static const TInt KRadioButtonSelectedIconIndex = 0;
static const TInt KRadioButtonUnselectedIconIndex = 1;
-//ME:START
const TUint32 KToolbarExtensionBgColor = 0x00000000;
const TInt KToolBarExtensionBgAlpha = 0x7F;
-//ME:END
// ================= MEMBER FUNCTIONS =======================
@@ -67,13 +65,11 @@
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
-//ME:START
CCamCaptureSetupListItemDrawer*
CCamCaptureSetupListItemDrawer::NewL( MCamListboxModel& aListBoxModel, TBool aFullySkinned )
{
CCamCaptureSetupListItemDrawer* self = new( ELeave )
CCamCaptureSetupListItemDrawer( aListBoxModel, aFullySkinned );
-//ME:END
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop( self );
@@ -226,8 +222,6 @@
}
#endif // RD_UI_TRANSITION_EFFECTS_LIST
// Draw unhighlighted rectangle that encapsulates the item text and bitmap.
-
- //ME:START
PRINT1( _L("Camera <> CCamCaptureSetupListItemDrawer::DrawActualItem iFullySkinned=%d"), iFullySkinned );
if( iFullySkinned )
@@ -238,8 +232,6 @@
{
DrawTransparentItemRect( aActualItemRect );
}
- //ME:END
-
#ifdef RD_UI_TRANSITION_EFFECTS_LIST
if ( transApi )
{
@@ -472,7 +464,6 @@
}
-//ME:START
// ---------------------------------------------------------
// CCamCaptureSetupListItemDrawer::DrawItemRect
// Draws a rectangle for an item.
@@ -487,22 +478,13 @@
if ( control )
{
iGc->SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
+ iGc->SetPenSize( TSize( 1, 1 ) );
+ iGc->SetPenStyle( CGraphicsContext::EDottedPen );
iGc->SetBrushColor( TRgb( KToolbarExtensionBgColor, KToolBarExtensionBgAlpha ) );
iGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
iGc->DrawRect( aActualItemRect );
- // Reset the brush after use (otherwise anything drawn
- // after the viewfinder will also show viewfinder frames)
- iGc->SetDrawMode( CGraphicsContext::EDrawModePEN );
- TSize penSize( 1, 1 );
- iGc->SetPenSize( penSize );
- iGc->SetPenStyle( CGraphicsContext::EDottedPen );
- iGc->SetPenColor( KRgbWhite );
- iGc->SetBrushStyle( CGraphicsContext::ENullBrush );
- iGc->DrawRect( aActualItemRect );
}
}
-//ME:END
-
// ---------------------------------------------------------
// CCamCaptureSetupListItemDrawer::DrawItemRect
// Draws a rectangle for an item.
--- a/camerauis/cameraapp/generic/common/src/CamStaticSettingsModel.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamStaticSettingsModel.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -731,6 +731,8 @@
case ECamSettingItemRecLocation: crKey = KCamCrPhotoStoreLocation; break;
case ECamSettingItemPhotoEditorSupport: crKey = KCamCrPhotoEditorSupport; break;
case ECamSettingItemVideoEditorSupport: crKey = KCamCrVideoEditorSupport; break;
+ case ECamSettingItemRemovePhoneMemoryUsage: crKey = KCamCrRemovePhoneMemoryUsage; break;
+
default: CamPanic( ECamPanicUnknownSettingItem );
break;
}
--- a/camerauis/cameraapp/generic/common/src/CamUtility.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamUtility.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -1029,6 +1029,7 @@
// Resource ids for User Scene setup items
case ECamPsiUserSceneResourceIds:
{
+ User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_SET_USER_DEFAULT ) );
User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_SCENEBASE_DATA ) );
if ( configManager->IsFlashModeSupported() )
User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_FLASH_DATA ) );
@@ -1058,9 +1059,7 @@
if ( configManager->IsContrastSupported() )
User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_CONTRAST_DATA ) );
-
- User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_SET_USER_DEFAULT ) );
-
+
User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_RESET_DATA ) );
break;
}
--- a/camerauis/cameraapp/generic/data/nhdcamsettings.rss Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/nhdcamsettings.rss Wed Mar 31 21:06:44 2010 +0300
@@ -1124,7 +1124,7 @@
flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent;
items =
{
- TBAR_CTRL
+ /*TBAR_CTRL
{
type = EAknCtButton;
id = ECamCmdCaptureImage;
@@ -1143,8 +1143,9 @@
}
};
};
- },
- TBAR_CTRL
+ },*/
+
+ TBAR_CTRL
{
type = EAknCtButton;
id = ECamCmdNewVideo;
@@ -1165,25 +1166,45 @@
};
},
TBAR_CTRL
- {
- type = EAknCtButton;
- id = ECamCmdSwitchCamera;
- control = AVKON_BUTTON
- {
- flags = KAknButtonNoFrame;
- states =
- {
- AVKON_BUTTON_STATE
- {
- bmpfile = CAMERAAPP_BITMAP_FILE;
- bmpid = EMbmCameraappQgn_indi_tb_cam4_goto_main;
- bmpmask = EMbmCameraappQgn_indi_tb_cam4_goto_main_mask;
- helptxt = qtn_lcam_tt_camera_main;
- extension = r_cam_ext_qgn_indi_cam4_mode_camera;
- }
- };
- };
- }
+ {
+ type = EAknCtButton;
+ id = ECamCmdPhotos;
+ control = AVKON_BUTTON
+ {
+ flags = KAknButtonNoFrame;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ bmpfile = CAMERAAPP_BITMAP_FILE;
+ bmpid = EMbmCameraappQgn_indi_cam4_goto_gallery;
+ bmpmask = EMbmCameraappQgn_indi_cam4_goto_gallery_mask;
+ helptxt = qtn_lcam_tt_go_to_photos;
+ extension = r_cam_ext_qgn_indi_cam4_goto_photos;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = ECamCmdSwitchCamera;
+ control = AVKON_BUTTON
+ {
+ flags = KAknButtonNoFrame;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ bmpfile = CAMERAAPP_BITMAP_FILE;
+ bmpid = EMbmCameraappQgn_indi_tb_cam4_goto_main;
+ bmpmask = EMbmCameraappQgn_indi_tb_cam4_goto_main_mask;
+ helptxt = qtn_lcam_tt_camera_main;
+ extension = r_cam_ext_qgn_indi_cam4_mode_camera;
+ }
+ };
+ };
+ }
};
}
@@ -1276,7 +1297,7 @@
flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent;
items =
{
- TBAR_CTRL
+ /*TBAR_CTRL
{
type = EAknCtButton;
id = ECamCmdRecord;
@@ -1295,7 +1316,8 @@
}
};
};
- },
+ },*/
+
TBAR_CTRL
{
type = EAknCtButton;
@@ -1316,7 +1338,27 @@
};
};
},
- TBAR_CTRL
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = ECamCmdPhotos;
+ control = AVKON_BUTTON
+ {
+ flags = KAknButtonNoFrame;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ bmpfile = CAMERAAPP_BITMAP_FILE;
+ bmpid = EMbmCameraappQgn_indi_cam4_goto_gallery;
+ bmpmask = EMbmCameraappQgn_indi_cam4_goto_gallery_mask;
+ helptxt = qtn_lcam_tt_go_to_photos;
+ extension = r_cam_ext_qgn_indi_cam4_goto_photos;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
{
type = EAknCtButton;
id = ECamCmdSwitchCamera;
@@ -1335,7 +1377,7 @@
}
};
};
- }
+ }
};
}
@@ -1357,6 +1399,26 @@
TBAR_CTRL
{
type = EAknCtButton;
+ id = ECamCmdNewVideo;
+ control = AVKON_BUTTON
+ {
+ flags = KAknButtonNoFrame;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ bmpfile = CAMERAAPP_BITMAP_FILE;
+ bmpid = EMbmCameraappQgn_indi_cam4_video;
+ bmpmask = EMbmCameraappQgn_indi_cam4_video_mask;
+ helptxt = qtn_lcam_tt_video_mode;
+ extension = r_cam_ext_qgn_indi_cam4_video;
+ }
+ };
+ };
+ },
+ /*TBAR_CTRL
+ {
+ type = EAknCtButton;
id = ECamCmdCaptureImage;
control = AVKON_BUTTON
{
@@ -1373,7 +1435,7 @@
}
};
};
- },
+ },*/
TBAR_CTRL
{
type = EAknCtButton;
@@ -1619,7 +1681,7 @@
}
};
};
- },
+ }/*,
TBAR_CTRL
{
type = EAknCtButton;
@@ -1639,7 +1701,7 @@
}
};
};
- }
+ }*/
};
};
}
@@ -2232,6 +2294,26 @@
TBAR_CTRL
{
type = EAknCtButton;
+ id = ECamCmdNewPhoto;
+ control = AVKON_BUTTON
+ {
+ flags = KAknButtonNoFrame;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ bmpfile = CAMERAAPP_BITMAP_FILE;
+ bmpid = EMbmCameraappQgn_indi_cam4_camera;
+ bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
+ helptxt = qtn_lcam_tt_still_mode;
+ extension = r_cam_ext_qgn_indi_cam4_camera;
+ }
+ };
+ };
+ },
+ /*TBAR_CTRL
+ {
+ type = EAknCtButton;
id = ECamCmdRecord;
control = AVKON_BUTTON
{
@@ -2248,7 +2330,7 @@
}
};
};
- },
+ },*/
TBAR_CTRL
{
type = EAknCtButton;
@@ -2365,7 +2447,7 @@
}
};
};
- },
+ }/*,
TBAR_CTRL
{
type = EAknCtButton;
@@ -2385,7 +2467,7 @@
}
};
};
- }
+ }*/
};
};
}
@@ -2409,6 +2491,26 @@
TBAR_CTRL
{
type = EAknCtButton;
+ id = ECamCmdNewPhoto;
+ control = AVKON_BUTTON
+ {
+ flags = KAknButtonNoFrame;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ bmpfile = CAMERAAPP_BITMAP_FILE;
+ bmpid = EMbmCameraappQgn_indi_cam4_camera;
+ bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
+ helptxt = qtn_lcam_tt_still_mode;
+ extension = r_cam_ext_qgn_indi_cam4_camera;
+ }
+ };
+ };
+ },
+ /*TBAR_CTRL
+ {
+ type = EAknCtButton;
id = ECamCmdRecord;
control = AVKON_BUTTON
{
@@ -2425,7 +2527,7 @@
}
};
};
- },
+ },*/
TBAR_CTRL
{
type = EAknCtButton;
@@ -2438,7 +2540,7 @@
AVKON_BUTTON_STATE
{
//txt = qtn_lcam_tb_scenes;
- helptxt = qtn_lcam_tt_goto_scenemode_settings;
+ helptxt = qtn_lcam_tt_goto_scenemode_settings;
}
};
};
@@ -2523,7 +2625,7 @@
}
};
};
- },
+ }/*,
TBAR_CTRL
{
type = EAknCtButton;
@@ -2543,7 +2645,7 @@
}
};
};
- }
+ }*/
};
};
}
--- a/camerauis/cameraapp/generic/data/resource_inc/CamStandby.ra Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamStandby.ra Wed Mar 31 21:06:44 2010 +0300
@@ -43,7 +43,35 @@
{
buf = qtn_lcam_standby_hardware_failure;
}
-
+
+//----------------------------------------------------
+//
+// r_cam_standby_camera_storage_inaccessible
+// Text string displayed in standby container
+// when all storages are inacessible/not ready
+//
+//----------------------------------------------------
+//
+RESOURCE TBUF r_cam_standby_camera_storage_inaccessible
+ {
+ buf = qtn_lcam_storage_inaccessible_note;
+ }
+
+//----------------------------------------------------
+//
+// r_cam_standby_camera_insert_mmc
+// When a device has no mass memory and memory card is not
+// inserted when opening the camera, the user will get a note
+//
+//----------------------------------------------------
+//
+RESOURCE TBUF r_cam_standby_camera_insert_mmc
+ {
+ buf = qtn_lcam_insert_mmc_note;
+ }
+
+
+
//----------------------------------------------------
//
// r_cam_standby_empty_text
--- a/camerauis/cameraapp/generic/data/resource_inc/CamStillCapture.ra Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamStillCapture.ra Wed Mar 31 21:06:44 2010 +0300
@@ -194,6 +194,29 @@
//----------------------------------------------------
//
+// r_cam_set_as_call_image_interest_editor
+// This resource is used to register an interest in
+// Set as contact call image Application InterWork (AIW)
+// with Photos editor.
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_call_image_interest_editor
+ {
+ items =
+ {
+ AIW_CRITERIA_ITEM
+ {
+ id = KAiwCmdAssign;
+ serviceCmd = KAiwCmdAssign;
+ contentType = "MediaEditor/*";
+ serviceClass = KAiwClassMenu;
+ }
+ };
+ }
+
+//----------------------------------------------------
+//
// r_cam_set_as_call_image_interest
// This resource is used to register an interest in
// Set as contact call image Application InterWork (AIW)
--- a/camerauis/cameraapp/generic/data/resource_inc/CamStillCaptureV2.ra Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamStillCaptureV2.ra Wed Mar 31 21:06:44 2010 +0300
@@ -194,6 +194,29 @@
//----------------------------------------------------
//
+// r_cam_set_as_call_image_interest_editor
+// This resource is used to register an interest in
+// Set as contact call image Application InterWork (AIW)
+// with Photos editor
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_call_image_interest_editor
+ {
+ items =
+ {
+ AIW_CRITERIA_ITEM
+ {
+ id = KAiwCmdAssign;
+ serviceCmd = KAiwCmdAssign;
+ contentType = "MediaEditor/*";
+ serviceClass = KAiwClassMenu;
+ }
+ };
+ }
+
+//----------------------------------------------------
+//
// r_cam_set_as_call_image_interest
// This resource is used to register an interest in
// Set as contact call image Application InterWork (AIW)
--- a/camerauis/cameraapp/generic/data/resource_inc/CamVideoCapture.ra Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamVideoCapture.ra Wed Mar 31 21:06:44 2010 +0300
@@ -341,3 +341,29 @@
}
};
}
+
+//----------------------------------------------------
+//
+// r_cam_set_as_ring_tone_interest_editor
+// This resource is used to register an interest in
+// assinging video to Application InterWork (AIW)
+// services with Photos editor
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_ring_tone_interest_editor
+ {
+ items =
+ {
+ AIW_CRITERIA_ITEM //
+ {
+ id = KAiwCmdAssign;
+ serviceCmd = KAiwCmdAssign;
+ contentType = "MediaEditor/*";
+ serviceClass = KAiwClassMenu;
+ //maxProviders = 1;
+ loadOptions = AIW_OPTIONS_ROM_ONLY;
+ //defaultProvider = 0x10281F18;
+ }
+ };
+ }
--- a/camerauis/cameraapp/generic/data/resource_inc/CamVideoCaptureV2.ra Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamVideoCaptureV2.ra Wed Mar 31 21:06:44 2010 +0300
@@ -341,3 +341,29 @@
}
};
}
+
+//----------------------------------------------------
+//
+// r_cam_set_as_ring_tone_interest_editor
+// This resource is used to register an interest in
+// assinging video to Application InterWork (AIW)
+// services with Photos editor
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_ring_tone_interest_editor
+ {
+ items =
+ {
+ AIW_CRITERIA_ITEM //
+ {
+ id = KAiwCmdAssign;
+ serviceCmd = KAiwCmdAssign;
+ contentType = "MediaEditor/*";
+ serviceClass = KAiwClassMenu;
+ //maxProviders = 1;
+ loadOptions = AIW_OPTIONS_ROM_ONLY;
+ //defaultProvider = 0x10281F18;
+ }
+ };
+ }
--- a/camerauis/cameraapp/generic/inc/CamAppUi.h Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/inc/CamAppUi.h Wed Mar 31 21:06:44 2010 +0300
@@ -68,6 +68,8 @@
class CCamStillPreCaptureView;
class CCamVideoPreCaptureView;
class CCamMemoryMonitor;
+class CCamStartupLogoController;
+
// ===========================================================================
// CLASS DECLARATION
@@ -1014,9 +1016,14 @@
* @return ETrue if memory available for capturing
**/
TBool IsMemoryAvailableForCapturing() const;
-
-
+ /**
+ * Get a pointer to the startup logo controller.
+ * AppUi keeps ownership.
+ * @return Pointer to CCamStartupLogoController or NULL.
+ */
+ CCamStartupLogoController* StartupLogoController();
+
private: // New functions
/**
@@ -1805,6 +1812,8 @@
TInt iPortraitScreenMode;
TBool iMemoryAvailableForCapturing;
+
+ CCamStartupLogoController* iStartupLogoController;
};
// ===========================================================================
--- a/camerauis/cameraapp/generic/inc/CamInfoListBoxContainer.h Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/inc/CamInfoListBoxContainer.h Wed Mar 31 21:06:44 2010 +0300
@@ -75,8 +75,6 @@
TInt aTitleResource,
TBool aSkinnedBackGround = ETrue );
- //ME:END
-
/**
* Destructor.
--- a/camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h Wed Mar 31 21:06:44 2010 +0300
@@ -45,7 +45,7 @@
class CCamIndicator;
class CCamTimeLapseSlider;
class MCamVfGridDrawer;
-
+class CCamStartupLogo;
// ===========================================================================
@@ -731,6 +731,9 @@
CPeriodic* iIndBlinkTimer;
TBool iDrawIndicator;
TInt iToggleCountdown;
+
+ // Startup animation control
+ CCamStartupLogo* iStartupLogo;
// =========================================================================
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/camstartuplogo.h Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2010 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: CCoeControl to show a logo at camera application startup
+*
+*/
+
+#ifndef CAMSTARTUPLOGO_H
+#define CAMSTARTUPLOGO_H
+
+#include <e32std.h>
+#include <coecntrl.h>
+
+#include "camstartuplogocontroller.h"
+
+class CFbsBitmap;
+class CPeriodic;
+
+
+// Class declaration
+/**
+ * CCoeControl to show a logo at camera application startup
+ */
+class CCamStartupLogo : public CCoeControl,
+ public MCamStartupLogoControllerObserver
+{
+public:
+ static CCamStartupLogo* NewL(CCamStartupLogoController& aController,
+ const TRect& aRect);
+ virtual ~CCamStartupLogo();
+
+private:
+ CCamStartupLogo(CCamStartupLogoController& aController,
+ const TRect& aRect);
+ void ConstructL();
+
+ void ShowL();
+ void Hide();
+
+ void Draw(const TRect& aRect) const;
+
+ void StartupLogoControllerStateChanged(TStartupLogoState aNewState);
+
+private: //data
+ CFbsBitmap* iLogo; // own
+ CFbsBitmap* iLogoMask; // own
+
+ TRect iRect;
+
+ TBool iWindowCreated;
+
+ CCamStartupLogoController& iController;
+};
+
+#endif // CAMSTARTUPLOGO_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/camstartuplogocontroller.h Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2010 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: Controller for managing the camera startup logo state
+*
+*/
+
+#ifndef CAMSTARTUPLOGOCONTROLLER_H
+#define CAMSTARTUPLOGOCONTROLLER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+enum TStartupLogoState
+ {
+ EStartupLogoNotVisible,
+ EStartupLogoVisible
+ };
+
+// CLASS DECLARATION
+
+/**
+ * Observer interface for listening to controller state change events
+ *
+ */
+class MCamStartupLogoControllerObserver
+ {
+public:
+ virtual ~MCamStartupLogoControllerObserver() {}
+
+ /**
+ * Startup logo controller state changed.
+ */
+ virtual void StartupLogoControllerStateChanged(TStartupLogoState aNewState) = 0;
+ };
+
+
+
+/**
+ * Controller for managing the camera startup logo state
+ *
+ */
+class CCamStartupLogoController : public CBase
+ {
+
+public:
+ // Constructors and destructor
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCamStartupLogoController();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCamStartupLogoController* NewL(TStartupLogoState aInitialState);
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCamStartupLogoController* NewLC(TStartupLogoState aInitialState);
+
+public:
+ /**
+ * Add an observer. Returns an error code.
+ */
+ TInt AddObserver(MCamStartupLogoControllerObserver* aObserver);
+
+ /**
+ * Removes an observer.
+ */
+ void RemoveObserver(MCamStartupLogoControllerObserver* aObserver);
+
+ /**
+ * Get current state.
+ */
+ TStartupLogoState State() const;
+
+ /**
+ * Show startup logo.
+ */
+ void ShowLogo();
+
+ /**
+ * Hide startup logo.
+ */
+ void HideLogo();
+
+private:
+
+ /**
+ * Constructor for performing 1st stage construction
+ */
+ CCamStartupLogoController(TStartupLogoState aInitialState);
+
+ /**
+ * Symbian default constructor for performing 2nd stage construction
+ */
+ void ConstructL();
+
+ static TInt FailSafeCallback(TAny* ptr);
+
+private:
+ void SetState(TStartupLogoState aNewState);
+
+private: // data
+ TStartupLogoState iState;
+ RPointerArray<MCamStartupLogoControllerObserver> iObservers;
+ CPeriodic* iFailSafeTimer; // own
+ };
+
+#endif // CAMSTARTUPLOGOCONTROLLER_H
--- a/camerauis/cameraapp/generic/src/CamAppController.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamAppController.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -2225,7 +2225,7 @@
&& ECamCompleting != CurrentOperation() )
{
// If we are currently focused, cancel autofocus
- if ( IsViewFinding() && CurrentOperation() != ECamCapturing ) // Cannot do AF operations if VF not on. AF is anyway cancelled on VF start event.
+ if ( IsViewFinding() && CurrentOperation() != ECamCapturing && !InCallOrRinging() ) // Cannot do AF operations if VF not on. AF is anyway cancelled on VF start event.
{
if( ECamFocusing == CurrentOperation() )
{
@@ -3143,9 +3143,9 @@
}
else
{
- PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot off" ) );
+ PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot on" ) );
aSequence.Append( ECamRequestSsRelease );
- aSequence.Append( ECamRequestSsStop );
+ aSequence.Append( ECamRequestSsStart ); // SS is requested and delivered to tn-manager, but not shown on display
}
}
}
@@ -3186,9 +3186,9 @@
}
else
{
- PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot off" ) );
+ PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot on" ) );
aSequence.Append( ECamRequestSsRelease );
- aSequence.Append( ECamRequestSsStop );
+ aSequence.Append( ECamRequestSsStart );
}
}
break;
@@ -3299,11 +3299,16 @@
}
else
{
+ TCamMediaStorage storage = iSettingModel->
+ IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
+
iSettingsModel->SetIntegerSettingValueL( ECamSettingItemPhotoMediaStorage,
- ECamMediaStoragePhone );
+ storage );
iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage,
- ECamMediaStoragePhone );
+ storage );
}
#endif // PRODUCT_SUPPORTS_FORCE_MEDIA_STORAGE_VALUE
@@ -3512,7 +3517,9 @@
}
else
{
- storageLocation = ECamMediaStoragePhone;
+ storageLocation = IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage)?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
}
}
return storageLocation;
@@ -5698,7 +5705,9 @@
else
{
PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
- store = ECamMediaStoragePhone;
+ store = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
}
}
@@ -6942,8 +6951,11 @@
else
{
PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
- iForcedStorageLocation = ECamMediaStoragePhone;
- SetPathnamesToNewStorageL( ECamMediaStoragePhone );
+ TCamMediaStorage storage = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
+ iForcedStorageLocation = storage;
+ SetPathnamesToNewStorageL( storage );
}
}
// Revert back to memory card, if aEnable is EFalse
@@ -8302,6 +8314,14 @@
TInt value;
User::LeaveIfError( cr->Get( KProEngActiveWarningTones, value ) );
CleanupStack::PopAndDestroy( cr );
+
+ //In case the phone variant allows turning camera tones off,
+ // first check if that is the case here.
+ if ( iSettingsModel->IntegerSettingValue( ECamSettingItemPhotoCaptureTone )
+ == ECamSettToneOff )
+ {
+ return ETrue;
+ }
return ( value == 0 );
}
@@ -8896,6 +8916,7 @@
if( iSettingsRestoreNeeded )
{
iSettingsRestoreNeeded = EFalse;
+ TRAP_IGNORE( iCameraController->DirectSettingsChangeL( ECameraSettingFacetracking ) );
TRAP( aStatus, RestoreSettingsToCameraL() );
}
// fixed toolbar is used only with touch devices
@@ -8928,6 +8949,8 @@
}
}
}
+ //Check if profile is silent and/or camera tones are set off
+ IsProfileSilent();
break;
}
@@ -9333,10 +9356,13 @@
}
else
{
+ TCamMediaStorage storage = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
TRAP_IGNORE(
{
iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage,
- ECamMediaStoragePhone );
+ storage );
GenerateNextValidVideoPathL();
});
@@ -9798,7 +9824,11 @@
!iCaptureRequested && appUi && appUi->SelfTimer() &&
!appUi->SelfTimer()->IsActive())
{
- PlaySound( ECamAutoFocusComplete, EFalse );
+ if ( !iSilentProfile || iShutterSndAlwaysOn )
+ {
+ // Play only if camera tones are not set off
+ PlaySound(ECamAutoFocusComplete, EFalse);
+ }
}
SetOperation( ECamFocused );
}
--- a/camerauis/cameraapp/generic/src/CamAppui.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamAppui.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -12,7 +12,7 @@
* Contributors:
*
* Description: App UI class for cameraapp
- *
+*
*/
@@ -114,6 +114,7 @@
#include "camflashstatus.h"
#include "CamMemoryMonitor.h"
+#include "camstartuplogocontroller.h"
@@ -163,6 +164,8 @@
iMemoryMonitor = 0;
}
+ delete iStartupLogoController;
+
iController.SetAppUiAvailable( EFalse );
iResourceLoaders.Close();
@@ -651,6 +654,10 @@
}
iMemoryMonitor->StartMonitoring( iController.UiConfigManagerPtr()->CriticalLevelRamMemoryFocusGained(),
iController.UiConfigManagerPtr()->RequiredRamMemoryFocusGained() );
+
+ // TRAP errors so camera starts up even if startup animation fails
+ TRAP_IGNORE(iStartupLogoController = CCamStartupLogoController::NewL(EStartupLogoVisible));
+
PRINT( _L("Camera <= CCamAppUi::ConstructL") )
OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP3_CCAMAPPUI_CONSTRUCTL, "e_CCamAppUi_ConstructL 0" );
}
@@ -1801,10 +1808,6 @@
iCamSidePane->UpdateLayout();
iTargetViewState = ECamViewStatePreCapture;
- delete iScreenClearer;
- iScreenClearer = NULL;
- iScreenClearer = CAknLocalScreenClearer::NewL(
- IsSecondCameraEnabled() || IsQwerty2ndCamera() );
TrySwitchViewL( ETrue );
iController.SwitchCameraL();
}
@@ -2646,7 +2649,12 @@
if( ECamViewStateStandby != iViewState )
{
DismissMemoryNoteL();
-
+
+ if (iStartupLogoController)
+ {
+ iStartupLogoController->HideLogo();
+ }
+
if( IsInternalView( iViewState ) )
{
@@ -2679,7 +2687,10 @@
}
else
{
- static_cast<CCamViewBase*>( iView )->ExitAllModesL();
+ if( iView)
+ {
+ static_cast<CCamViewBase*>( iView )->ExitAllModesL();
+ }
}
}
@@ -2939,7 +2950,12 @@
}
#endif
}
-
+
+ if (iStartupLogoController)
+ {
+ iStartupLogoController->HideLogo();
+ }
+
if( AppInBackground(EFalse) || ( !CamUtility::IsBatteryPowerOK() &&
!CamUtility::IsBatteryCharging() ) )
{
@@ -3236,7 +3252,6 @@
iController.CheckMemoryToUseL();
}
- TBool returningFromPretendExit = iPretendExit;
iPretendExit = EFalse;
TCamViewSwitch switchNeeded = ECamViewSwitchNone;
@@ -3327,6 +3342,11 @@
}
}
}
+
+ if (iStartupLogoController && iReturningFromPretendExit)
+ {
+ iStartupLogoController->ShowLogo();
+ }
break;
}
// -----------------------------------------------------
@@ -4369,20 +4389,19 @@
iController.IntegerSettingValue( key ) );
}
if(currentLocation != ECamMediaStoragePhone &&
- !IsMemoryFullOrUnavailable(ECamMediaStoragePhone))
- {
- supportedMemTypes |=
- AknCommonDialogsDynMem::EMemoryTypePhone;
- }
- if(currentLocation != ECamMediaStorageCard &&
- !IsMemoryFullOrUnavailable(ECamMediaStorageCard))
- {
- supportedMemTypes |=
- AknCommonDialogsDynMem::EMemoryTypeMMCExternal;
- }
- if(currentLocation != ECamMediaStorageMassStorage &&
- !IsMemoryFullOrUnavailable(ECamMediaStorageMassStorage))
- {
+ !IsMemoryFullOrUnavailable(ECamMediaStoragePhone) &&
+ !iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage ) )
+ {
+ supportedMemTypes |= AknCommonDialogsDynMem::EMemoryTypePhone;
+ }
+ if(currentLocation != ECamMediaStorageCard &&
+ !IsMemoryFullOrUnavailable(ECamMediaStorageCard))
+ {
+ supportedMemTypes |= AknCommonDialogsDynMem::EMemoryTypeMMCExternal;
+ }
+ if(currentLocation != ECamMediaStorageMassStorage &&
+ !IsMemoryFullOrUnavailable(ECamMediaStorageMassStorage))
+ {
supportedMemTypes |=
AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;
}
@@ -5312,6 +5331,11 @@
iViewFinderStopped = ETrue;
}
+ if ( iStartupLogoController )
+ {
+ iStartupLogoController->ShowLogo();
+ }
+
PRINT( _L("Camera <= CCamAppUi::InternalExitL") );
OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP_CCAMAPPUI_INTERNALEXITL, "e_CCamAppUi_InternalExitL 0" );
@@ -8315,7 +8339,10 @@
//
TBool CCamAppUi::AllMemoriesFullOrUnavailable() const
{
- return ( IsMemoryFullOrUnavailable(ECamMediaStoragePhone) &&
+ TBool phoneMemoryUnavailable = iController.IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+ ETrue:
+ IsMemoryFullOrUnavailable(ECamMediaStoragePhone);
+ return ( phoneMemoryUnavailable &&
IsMemoryFullOrUnavailable(ECamMediaStorageCard) &&
IsMemoryFullOrUnavailable(ECamMediaStorageMassStorage) );
}
@@ -8476,6 +8503,11 @@
void CCamAppUi::SetViewFinderStoppedStatus( TBool aViewFinderStopped )
{
iViewFinderStopped = aViewFinderStopped;
+
+ if (iStartupLogoController)
+ {
+ iStartupLogoController->HideLogo();
+ }
}
// -----------------------------------------------------------------------------
@@ -8500,9 +8532,8 @@
// CCamAppUi::CheckMemoryAvailableForCapturing
// -----------------------------------------------------------------------------
//
-void
-CCamAppUi::CheckMemoryAvailableForCapturing()
- {
+void CCamAppUi::CheckMemoryAvailableForCapturing()
+ {
PRINT( _L("Camera => CCamAppUi::CheckMemoryAvailableForCapturing") )
OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, CCAMAPPUI_CHECKMEMORYAVAILABLEFORCAPTURING, "e_CCamAppUi_CheckMemoryAvailableForCapturing 1" );
if ( ( ECamControllerVideo == iController.CurrentMode() ||
@@ -8523,11 +8554,19 @@
// -----------------------------------------------------------------------------
// CCamAppUi::IsMemoryAvailableForCapturing
// -----------------------------------------------------------------------------
-//
-TBool
-CCamAppUi::IsMemoryAvailableForCapturing() const
+//
+TBool CCamAppUi::IsMemoryAvailableForCapturing() const
{
return iMemoryAvailableForCapturing;
}
-
+
+// -----------------------------------------------------------------------------
+// CCamAppUi::StartupLogoController
+// -----------------------------------------------------------------------------
+//
+CCamStartupLogoController* CCamAppUi::StartupLogoController()
+ {
+ return iStartupLogoController;
+ }
+
// End of File
--- a/camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -715,8 +715,18 @@
// initialise AIW services for touch menu
iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU,
R_CAM_MOVE_TO_STILL_IMAGE_SEQUENCE_INTEREST );
- iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU,
- R_CAM_SET_AS_CALL_IMAGE_INTEREST );
+
+ if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) )
+ {
+ iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU,
+ R_CAM_SET_AS_CALL_IMAGE_INTEREST_EDITOR );
+ }
+ else
+ {
+ iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU,
+ R_CAM_SET_AS_CALL_IMAGE_INTEREST );
+ }
+
iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU,
R_CAM_SHARE_ON_OVI_INTEREST );
// SHARE_AIW
--- a/camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -325,7 +325,6 @@
CCamCaptureSetupSlider* self =
new( ELeave ) CCamCaptureSetupSlider( aObserver, aSettingItem, aSteps,
aFullySkinned );
- //ME:END
CleanupStack::PushL( self );
self->ConstructL( aParent );
CleanupStack::Pop( self );
@@ -643,7 +642,7 @@
{
// Set the shaft layout and icon size for Contrast slider
iShaftLayout.LayoutRect( sliderRect,
- AknLayoutScalable_Apps::cset_slider_pane( 5 ) );
+ AknLayoutScalable_Apps::cset_slider_pane( 7 ) );
// set Contrast slider legend layouts
TouchContrastLayoutL( sliderRect );
}
@@ -1001,7 +1000,7 @@
//
void CCamCaptureSetupSlider::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
- if(!Rect().Contains(aPointerEvent.iPosition))
+ if( !Rect().Contains(aPointerEvent.iPosition) && iBitmapThumbCurrent != iBitmapThumbSelected )
{
return;
}
--- a/camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -160,6 +160,7 @@
}
else if ( iInfoListBoxActive )
{
+ iController.CancelPreviewChangesL();
ExitAllModesL();
break;
}
@@ -684,6 +685,7 @@
appUi->SetToolbarVisibility();
+ iForceAvkonCBA = ETrue;
UpdateCbaL();
SetTitlePaneTextL();
appUi->PushDefaultNaviPaneL();
@@ -843,11 +845,11 @@
//
void CCamCaptureSetupViewBase::ExitSceneSettingModeL()
{
- PRINT( _L( "Camera => CCamCaptureSetupViewBase::ExitSceneSettingModeL" ) );
-
+ PRINT( _L( "Camera => CCamCaptureSetupViewBase::ExitSceneSettingModeL" ) );
+ iForceAvkonCBA = EFalse;
if ( !iSceneSettingModeActive )
- {
- AppUi()->RemoveFromStack( iSceneSettingContainer );
+ {
+ AppUi()->RemoveFromStack( iSceneSettingContainer );
if ( iSceneSettingContainer )
{
@@ -919,6 +921,7 @@
// Cleanup the view correctly if a leave occurs
CleanupStack::PushL( TCleanupItem( CleanupExit, this ) );
AppUi()->AddToStackL( *this, iContainer );
+ iController.SetViewfinderWindowHandle( &iContainer->Window() );
PRINT( _L( "Camera => CCamCaptureSetupViewBase::ExitInfoListBoxL removing iInfoListBoxContainer" ) );
AppUi()->RemoveFromStack( iInfoListBoxContainer );
delete iInfoListBoxContainer;
--- a/camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -246,8 +246,8 @@
iFeedback->SetFeedbackArea( iListBox, 0, iListBox->Rect(),
ETouchFeedbackBasic, ETouchEventStylusDown );
}
-
- PRINT(_L("Camera <= CCamInfoListBoxContainer::ConstructL") )
+ iController.SetViewfinderWindowHandle( &Window() );
+ PRINT(_L("Camera <= CCamInfoListBoxContainer::ConstructL") )
}
// ---------------------------------------------------------------------------
@@ -468,11 +468,18 @@
aPointerEvent.iType,
aPointerEvent.iPosition.iX,
aPointerEvent.iPosition.iY );
- iListBox->HandlePointerEventL(aPointerEvent);
+
if( !iController.IsViewFinding() && !iSkinnedBackGround )
{
- ReserveAndStartVF();
+ PRINT ( _L("Camera <> CCamInfoListBoxContainer::HandlePointerEventL start viewfinder") );
+ ReserveAndStartVF();
}
+ else
+ {
+ PRINT ( _L("Camera <> CCamInfoListBoxContainer::HandlePointerEventL handle selected item") );
+ iListBox->HandlePointerEventL(aPointerEvent);
+ }
+
/*TInt oldListItemIndex = -1;
TInt newListItemIndex = -1;
TBool handleItemActivation = EFalse;
@@ -581,6 +588,8 @@
case EEventItemClicked:
case EEventItemSingleClicked:
{
+ TInt settingValue = CurrentSettingItemValue();
+ iController.PreviewSettingChangeL( ECamSettingItemDynamicPhotoLightSensitivity, settingValue );
ShowTooltipL();
}
break;
@@ -607,7 +616,13 @@
iTooltipController->HideInfoPopupNote();
iTooltipController->SetTextL( *iDescArray[iListBox->CurrentItemIndex()] );
- iTooltipController->SetPositionByHighlight( iListBox->HighlightRect() );
+ TRect hl = iListBox->HighlightRect();
+ TPoint tt = hl.Center();
+ if ( AknLayoutUtils::LayoutMirrored() )
+ {
+ tt.iX -= hl.Width();
+ }
+ iTooltipController->SetPositionAndAlignment( tt, EHLeftVBottom );
iTooltipIndex = iListBox->CurrentItemIndex();
}
@@ -704,21 +719,14 @@
}
else
{
- iListboxLayoutRect.LayoutRect( wholeListboxLayoutRect.Rect(),
- AknLayoutScalable_Apps::main_cset_list_pane( 1 ) );
+ iListboxLayoutRect.LayoutRect( iLayoutAreaRect,
+ AknLayoutScalable_Apps::main_cset_listscroll_pane( 2 ) ); //Same as WB
}
-
- if( !iSkinnedBackGround )
- {
- iTitleTextRectLayout.LayoutText( iLayoutAreaRect, AknLayoutScalable_Apps::main_cset_text_pane_t1( 0 ) );
- }
- else
- {
+
iTitleTextRectLayout.LayoutText( iLayoutAreaRect,
AknLayoutScalable_Apps::main_cam_set_pane_t1( 3 ) );
- }
- return wholeListboxLayoutRect.Rect();
+ return iListboxLayoutRect.Rect();
}
// --------------------------------------------------------------------------
--- a/camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -537,7 +537,11 @@
if (ECamMediaStorageMassStorage ==iStorageLocation)
{
- iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:ECamMediaStoragePhone;
+ iStorageLocation = iController.ExistMassStorage()?
+ ECamMediaStorageMassStorage:
+ iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
}
}
@@ -893,21 +897,33 @@
{
CFbsBitmap* icon = NULL;
CFbsBitmap* mask = NULL;
- if ( iStorageLocation == ECamMediaStoragePhone )
- {
- icon = iPhoneIcon;
- mask = iPhoneIconMask;
- }
- else if ( iStorageLocation == ECamMediaStorageMassStorage )
- {
- icon = iMassStorageIcon;
- mask = iMassStorageIconMask;
- }
- else
- {
- icon = iMMCIcon;
- mask = iMMCIconMask;
- }
+ switch( iStorageLocation )
+ {
+ case ECamMediaStoragePhone:
+ {
+ icon = iPhoneIcon;
+ mask = iPhoneIconMask;
+ }
+ break;
+ case ECamMediaStorageMassStorage:
+ {
+ icon = iMassStorageIcon;
+ mask = iMassStorageIconMask;
+ }
+ break;
+ case ECamMediaStorageCard:
+ {
+ icon = iMMCIcon;
+ mask = iMMCIconMask;
+ }
+ break;
+ case ECamMediaStorageNone:
+ default:
+ {
+ //TODO: Get icons when none is available
+ }
+ break;
+ }
// Should use layout
aBmpGc.BitBlt(TPoint(0,0), icon);
aBmpMaskGc.BitBlt(TPoint(0,0), mask);
@@ -923,21 +939,38 @@
{
CFbsBitmap* icon = NULL;
CFbsBitmap* mask = NULL;
- if ( iStorageLocation == ECamMediaStoragePhone )
- {
- icon = iPhoneIcon;
- mask = iPhoneIconMask;
- }
- else if ( iStorageLocation == ECamMediaStorageMassStorage )
+ switch( iStorageLocation )
{
- icon = iMassStorageIcon;
- mask = iMassStorageIconMask;
+ case ECamMediaStoragePhone:
+ {
+ icon = iPhoneIcon;
+ mask = iPhoneIconMask;
+ }
+ break;
+ case ECamMediaStorageMassStorage:
+ {
+ icon = iMassStorageIcon;
+ mask = iMassStorageIconMask;
+ }
+ break;
+ case ECamMediaStorageCard:
+ {
+ icon = iMMCIcon;
+ mask = iMMCIconMask;
+ }
+ break;
+ case ECamMediaStorageNone:
+ default:
+ {
+ //TODO: Get icons when none is available
+ }
+ break;
}
- else
- {
- icon = iMMCIcon;
- mask = iMMCIconMask;
- }
+
+ if( icon == NULL || mask == NULL)
+ {
+ return;
+ }
if ( iMode == ECamControllerVideo )
{
@@ -1250,7 +1283,10 @@
if (ECamMediaStorageMassStorage ==iStorageLocation)
{
- iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:ECamMediaStoragePhone;
+ TCamMediaStorage storage = iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
+ iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:storage;
}
UpdateCounter();
@@ -1312,7 +1348,10 @@
if (ECamMediaStorageMassStorage ==iStorageLocation)
{
- iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:ECamMediaStoragePhone;
+ TCamMediaStorage storage = iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+ ECamMediaStorageNone:
+ ECamMediaStoragePhone;
+ iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:storage;
}
}
BroadcastEvent( ECamObserverEventNaviModelUpdated );
--- a/camerauis/cameraapp/generic/src/CamNaviProgressBarModel.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamNaviProgressBarModel.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -344,21 +344,33 @@
CFbsBitmap* icon = NULL;
CFbsBitmap* mask = NULL;
- if ( iStorageLocation == ECamMediaStoragePhone )
- {
- icon = iPhoneIcon;
- mask = iPhoneIconMask;
- }
- else if ( iStorageLocation == ECamMediaStorageMassStorage )
- {
- icon = iMassStorageIcon;
- mask = iMassStorageIconMask;
- }
- else
- {
- icon = iMMCIcon;
- mask = iMMCIconMask;
- }
+ switch( iStorageLocation )
+ {
+ case ECamMediaStoragePhone:
+ {
+ icon = iPhoneIcon;
+ mask = iPhoneIconMask;
+ }
+ break;
+ case ECamMediaStorageMassStorage:
+ {
+ icon = iMassStorageIcon;
+ mask = iMassStorageIconMask;
+ }
+ break;
+ case ECamMediaStorageCard:
+ {
+ icon = iMMCIcon;
+ mask = iMMCIconMask;
+ }
+ break;
+ case ECamMediaStorageNone:
+ default:
+ {
+ //TODO: Get icons when none is available
+ }
+ break;
+ }
DrawElapsedTimeText( aGc );
DrawRemainingTimeText( aGc, skin );
--- a/camerauis/cameraapp/generic/src/CamPostCaptureContainer.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPostCaptureContainer.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -294,14 +294,21 @@
}
// Draw the current image - snapshot or thumbnail
CWindowGc& gc = SystemGc();
- gc.SetFaded( EFalse );
-
- gc.SetBrushColor( KRgbBlack );
- gc.Clear();
-
const CFbsBitmap* snapshot = iController.SnapshotImage();
TRect containerRect = Rect();
+ TBool lateOperation = ( ECamCapturing == iController.CurrentOperation()
+ || ECamCompleting == iController.CurrentOperation() );
+
+ if ( iView.Id().iUid != ECamViewIdVideoPostCapture &&
+ ( iController.ActiveCamera() != ECamActiveCameraSecondary ||
+ lateOperation ) )
+ {
+ gc.SetFaded( EFalse );
+ gc.SetBrushColor( KRgbBlack );
+ gc.Clear( iProcessingTextLayout.TextRect() );
+ }
+
// If snapshot contains a bitmap
if ( snapshot )
{
@@ -341,30 +348,26 @@
OstTrace0( CAMERAAPP_PERFORMANCE, DUP1_CCAMPOSTCAPTURECONTAINER_DRAW, "e_CAM_APP_SNAPSHOT_DRAW 0" ); //CCORAPP_SNAPSHOT_DRAW_END
}
- TBool lateOperation = ( ECamCapturing == iController.CurrentOperation()
- || ECamCompleting == iController.CurrentOperation() );
-
- if( iProcessingText && //iProcessingBg &&
- iController.ActiveCamera() != ECamActiveCameraSecondary &&
- lateOperation
- )
- {
- PRINT( _L("Camera <> CCamPostCaptureContainer: draw processing text..") );
- // When iProcessingText exists (and we are in correct state), the processing
- // image text needs to be drawn.
- //iProcessingBg->Draw( gc, Rect() );
+ if( iProcessingText && //iProcessingBg &&
+ iController.ActiveCamera() != ECamActiveCameraSecondary &&
+ lateOperation )
+ {
+ PRINT( _L("Camera <> CCamPostCaptureContainer: draw processing text..") );
+ // When iProcessingText exists (and we are in correct state), the processing
+ // image text needs to be drawn.
+ //iProcessingBg->Draw( gc, Rect() );
- gc.SetBrushColor( KRgbWhite );
- gc.SetBrushStyle( CGraphicsContext::ENullBrush );
- iProcessingTextLayout.DrawText( gc, *iProcessingText, ETrue, KRgbBlack );
- }
+ gc.SetBrushColor( KRgbWhite );
+ gc.SetBrushStyle( CGraphicsContext::ENullBrush );
+ iProcessingTextLayout.DrawText( gc, *iProcessingText, ETrue, KRgbBlack );
+ }
if( iBatteryPaneController )
{
if( iPaneInUse == ECamPaneCounter )
- {
- iNaviCounterControl->DrawNaviCtr( gc );
- }
+ {
+ iNaviCounterControl->DrawNaviCtr( gc );
+ }
// Draw the battery pane
iBatteryPaneController->Draw( gc );
}
--- a/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -993,7 +993,8 @@
{
state->SetHelpTextL(
iOneClickUploadUtility->ButtonTooltipL() );
-
+
+ iOneClickUploadUtility->UpdateUploadIcon( toolbar, iController.CurrentMode() );
}
}
button = dynamic_cast<CAknButton*>(toolbar->ControlOrNull( ECamCmdEdit ));
--- a/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -61,6 +61,7 @@
#endif
#include "camconfiguration.h"
#include "CameraUiConfigManager.h"
+#include "camstartuplogo.h"
// CONSTANTS
@@ -107,6 +108,8 @@
delete iZoomTimer;
delete iVfGridDrawer;
+ delete iStartupLogo;
+
if ( iController.UiConfigManagerPtr() &&
iController.UiConfigManagerPtr()->IsAutoFocusSupported() )
{
@@ -294,7 +297,12 @@
iController.SetViewfinderWindowHandle( &Window() );
appUi->SetViewFinderInTransit(EFalse);
iController.StartIdleTimer();
-
+
+ if (appUi->StartupLogoController())
+ {
+ TRAP_IGNORE(iStartupLogo = CCamStartupLogo::NewL(*appUi->StartupLogoController(), aRect));
+ }
+
PRINT( _L("Camera <= CCamPreCaptureContainerBase::BaseConstructL ") );
}
@@ -1164,6 +1172,39 @@
else
{
PRINT_FRQ( _L("Camera <> CCamPreCaptureContainerBase: iBitmapGc == NULL"));
+ //in DSA case draw snapshot already here if available
+ const CFbsBitmap* snapshot = iController.SnapshotImage();
+ if (snapshot)
+ {
+ TSize snapshotSize = snapshot->SizeInPixels();
+ TRect bmCropRect( snapshotSize );
+
+ // Get the required snapshot layout rect
+ TRect vfRect( ViewFinderFrameRect() );
+
+ RWindow window = Window();
+ window.Invalidate( Rect() );
+ window.BeginRedraw( Rect() );
+ gc.BitBlt( vfRect.iTl, snapshot, bmCropRect );
+
+ TBool lateOperation = ( ECamCapturing == iController.CurrentOperation()
+ || ECamCompleting == iController.CurrentOperation() );
+
+ if( iProcessingText &&
+ iController.ActiveCamera() != ECamActiveCameraSecondary &&
+ lateOperation )
+ {
+ gc.SetBrushColor( KRgbWhite );
+ gc.SetBrushStyle( CGraphicsContext::ENullBrush );
+ iProcessingTextLayout.DrawText( gc, *iProcessingText, ETrue, KRgbBlack );
+ }
+
+ if( iBatteryPaneController )
+ {
+ iBatteryPaneController->Draw( gc );
+ }
+ window.EndRedraw();
+ }
}
}
DeactivateGc();
--- a/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -1779,7 +1779,8 @@
PRINT( _L("Camera => CCamPreCaptureViewBase::HandleTouchGestureL") );
// Skipped modes here
- if ( iController.ActiveCamera() == ECamActiveCameraSecondary )
+ if ( ( iController.ActiveCamera() == ECamActiveCameraSecondary ) ||
+ ( ECamNoOperation != iController.CurrentOperation() ) )
{
PRINT( _L("Camera <= CCamPreCaptureViewBase::HandleTouchGestureL") );
return;
@@ -1800,6 +1801,11 @@
// level between top widescreen and vga levels
CCamPreCaptureContainerBase* container = static_cast<CCamPreCaptureContainerBase*>( iContainer );
container->BlinkResolutionIndicatorOnChange( ETrue );
+
+ // Hide the zoom pane in case of pinch
+ CCamAppUi* appUi = static_cast<CCamAppUi*>( iEikonEnv->AppUi() );
+ appUi->ZoomPane()->MakeVisible( EFalse, ETrue );
+
if ( iController.ToggleWideScreenQuality( wide ) )
{
iLastMovement = currMove;
--- a/camerauis/cameraapp/generic/src/CamSettingsModel.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamSettingsModel.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -2396,7 +2396,7 @@
{
PRINT( _L("Camera => CCamSettingsModel::SetUserSceneDefault ") );
TInt settingsCount = iDynamicPhotoIntSettings.Count();
- TInt userVal;
+ TInt userVal = 0;
for ( TInt i = 0; i < settingsCount; ++i )
{
if ( iDynamicPhotoIntSettings[i]->iItemId == ECamSettingItemDynamicPhotoScene )
--- a/camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -340,9 +340,18 @@
// SHARE_AIW
iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID),
R_CAM_AIW_VIEW_INTEREST );
+
+ if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) )
+ {
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID),
+ R_CAM_SET_AS_CALL_IMAGE_INTEREST_EDITOR );
+ }
+ else
+ {
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID),
+ R_CAM_SET_AS_CALL_IMAGE_INTEREST );
+ }
- iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID),
- R_CAM_SET_AS_CALL_IMAGE_INTEREST );
OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP1_CCAMSTILLPOSTCAPTUREVIEW_DOACTIVATEL, "e_CCamStillPostCaptureView_DoActivateL 0" );
}
--- a/camerauis/cameraapp/generic/src/CamStillPreCaptureView.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamStillPreCaptureView.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -309,6 +309,14 @@
PRINT( _L("Camera <> CCamStillPreCaptureView::HandleForegroundEventL: to foreground") );
PRINT1( _L("Camera <> CCamStillPreCaptureView .. Current controller operation [%s]"), KCamCaptureOperationNames[iController.CurrentOperation()] );
PRINT1( _L("Camera <> CCamStillPreCaptureView .. Current controller mode [%s]"), KCamModeNames[iController.CurrentMode()] );
+ if( ECamViewStateStandby == appUi->CurrentViewState() )
+ {
+ CAknToolbar* fixedToolbar = appUi->CurrentFixedToolbar();
+ if( fixedToolbar )
+ {
+ fixedToolbar->SetToolbarVisibility( EFalse );
+ }
+ }
if( iController.SequenceCaptureInProgress() )
@@ -1275,7 +1283,7 @@
UpdateToolbarIconsL();
if( aToolbar )
{
- if ( iEmbedded && appUi->IsSecondCameraEnabled() )
+ if ( iEmbedded /* && appUi->IsSecondCameraEnabled()*/ )
{
aToolbar->SetItemDimmed(ECamCmdNewVideo, ETrue, ETrue);
}
--- a/camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -131,7 +131,7 @@
break;
case ECamCmdCaptureSetupLightSensitivityUser:
{
- SwitchToInfoListBoxL( EInfoListBoxModeISO, ETrue );
+ SwitchToInfoListBoxL( EInfoListBoxModeISO, EFalse );//No skin
}
break;
// If capture setup menu is active and user presses softkey cancel,
@@ -448,7 +448,7 @@
}
else
{
- SetSoftKeysL( R_CAM_SOFTKEYS_SELECT_CANCEL );
+ SetSoftKeysL( R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT );//color etc.
}
}
else if ( iSceneSettingModeActive )
@@ -462,12 +462,9 @@
}
else if ( iInfoListBoxActive )
{
- SetSoftKeysL( R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE );
- if( iForceAvkonCBA )
- {
- EikSoftkeyPostingTransparency::MakeTransparent(
- *ViewCba(), EFalse );
- }
+ SetSoftKeysL( R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT );
+ EikSoftkeyPostingTransparency::MakeTransparent(
+ *ViewCba(), !iForceAvkonCBA );
}
// if the view is user scene setup
else
@@ -517,7 +514,7 @@
StatusPane()->MakeVisible( ETrue );
// Update the command button array.
- iForceAvkonCBA=ETrue;
+ iForceAvkonCBA=EFalse;
UpdateCbaL();
SetTitlePaneTextL();
PRINT( _L("Camera <= CCamUserSceneSetupViewBase::SwitchToUserSceneSetupModeL()") );
@@ -544,7 +541,7 @@
// Remove the view's main container, and add the capture setup
// control associated with the input command to the container stack.
- CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL( aSetupCommand, EFalse );
+ CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL( aSetupCommand, ETrue );
StatusPane()->MakeVisible( EFalse );
PRINT( _L("Camera <= CCamUserSceneSetupViewBase::SwitchToCaptureSetupModeL()") );
}
--- a/camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -308,8 +308,16 @@
{
}
}
- iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ),
- R_CAM_SET_AS_RING_TONE_INTEREST );
+ if ( iController.IntegerSettingValue(ECamSettingItemVideoEditorSupport) )
+ {
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ),
+ R_CAM_SET_AS_RING_TONE_INTEREST_EDITOR );
+ }
+ else
+ {
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ),
+ R_CAM_SET_AS_RING_TONE_INTEREST );
+ }
}
// ---------------------------------------------------------------------------
--- a/camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -288,8 +288,9 @@
// Handle events sending app to foreground and background
// ---------------------------------------------------------
-void CCamVideoPreCaptureContainer::HandleForegroundEventL( TBool /*aForeground*/ )
+void CCamVideoPreCaptureContainer::HandleForegroundEventL( TBool aForeground )
{
+ CCamPreCaptureContainerBase::HandleForegroundEventL( aForeground );
}
--- a/camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -1002,7 +1002,7 @@
{
// Create the scene setting container for video mode.
iSceneSettingContainer = CCamShootingModeContainer::NewL( AppUi()->ApplicationRect(),
- EFalse, //Notskinned background
+ ETrue, //Skinned background
*this,
ECamControllerVideo,
iController,
@@ -1030,7 +1030,7 @@
RemoveCaptureSetupMenuContainers();
// Stop the viewfinder as it isn't required for scene settings
- //StopViewFinder();
+ StopViewFinder();
}
@@ -1189,7 +1189,7 @@
UpdateToolbarIconsL();
if( aToolbar )
{
- if ( iEmbedded && appUi->IsSecondCameraEnabled() )
+ if ( iEmbedded /* && appUi->IsSecondCameraEnabled()*/ )
{
aToolbar->SetItemDimmed(ECamCmdNewPhoto, ETrue, ETrue);
}
--- a/camerauis/cameraapp/generic/src/audioplayer/camaudioplayerwrapper.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/audioplayer/camaudioplayerwrapper.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -37,7 +37,7 @@
// ===========================================================================
// Constants
-
+const TReal32 KCamSoundVol = 0.75f;
// Migrated directly from old sound player.
#ifndef __WINSCW__
static const TUint KAudioPriority = KAudioPriorityCameraTone;
@@ -136,6 +136,7 @@
iPlayRequested = EFalse;
iState = CCamAudioPlayerWrapper::EPlaying;
iCallback = aCallback;
+ iPlayer->SetVolume( static_cast<TInt>( iPlayer->MaxVolume()* KCamSoundVol ) );
iPlayer->Play();
break;
--- a/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -4027,7 +4027,6 @@
{
SetFlags( iInfo.iState, ECamPowerOn|ECamReserved );
- TRAP_IGNORE( SetFaceTrackingL() );
#if defined( CAMERAAPP_CAE_FOR_VIDEO ) && !defined( CAMERAAPP_CAE_FIX )
// We need to tell to CCaeEngine that the CCamera has been reserved
// and powered on "behind its back".
@@ -4931,9 +4930,17 @@
notify = EFalse;
proceedSequence = ETrue;
PRINT1( _L( "Camera <> CCamCameraController::HandleCallbackEvent - %d reserve try again left" ), iReserveTryAgainCount );
-
}
- else
+ else if(KErrBadName == aStatus &&
+ iSequenceIndex >= 0 &&
+ Request2Event( iSequenceArray[iSequenceIndex] ) == aEventId)
+ {
+ aStatus = KErrNone;
+ notify = ETrue;
+ proceedSequence = ETrue;
+ //EndSequence( aStatus );
+ }
+ else
{
notify = EFalse;
--- a/camerauis/cameraapp/generic/src/camoneclickuploadutility.cpp Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/camoneclickuploadutility.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -32,7 +32,7 @@
#include "Cam.hrh"
#include <cameraapp.mbg>
-#include "camutility.h"
+#include "CamUtility.h"
const TUid KShareOnlineCrUid = { 0x2002CC1F };
const TUint32 KShareCrApplicationVersion = 0x01010020;
@@ -391,6 +391,8 @@
{
delete iIconImage;
delete iIconMask;
+ iIconImage = NULL;
+ iIconMask = NULL;
iIconImage = new (ELeave) CFbsBitmap;
iIconImage->Duplicate( aBitmap->Handle() );
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/src/camstartuplogo.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,215 @@
+/*
+* Copyright (c) 2010 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: CCoeControl to show a logo at camera application startup
+*
+*/
+
+#include <fbs.h>
+#include <e32math.h>
+#include <e32debug.h>
+#include <akniconutils.h>
+#include <cameraapp.mbg>
+#include "camlogging.h"
+#include "camstartuplogo.h"
+
+_LIT(KCamBitmapFile, "z:\\resource\\apps\\cameraapp.mif");
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogo* CCamStartupLogo::NewL(CCamStartupLogoController& aController,
+ const TRect& aRect)
+ {
+ PRINT(_L("Camera => CCamStartupLogo::NewL"))
+ CCamStartupLogo* self = new (ELeave) CCamStartupLogo(aController, aRect);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+
+ PRINT(_L("Camera <= CCamStartupLogo::NewL"))
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// C++ constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogo::CCamStartupLogo(CCamStartupLogoController& aController,
+ const TRect& aRect)
+ : iRect(aRect), iController(aController)
+ {
+ // No implementation needed
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogo::~CCamStartupLogo()
+ {
+ iController.RemoveObserver(this);
+
+ delete iLogo;
+ delete iLogoMask;
+ }
+
+// ---------------------------------------------------------------------------
+// 2nd phase constructor
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::ConstructL()
+ {
+ PRINT(_L("Camera => CCamStartupLogo::ConstructL"))
+
+ iController.AddObserver(this);
+
+ if (iController.State() == EStartupLogoVisible)
+ {
+ ShowL();
+ }
+
+ PRINT(_L("Camera <= CCamStartupLogo::ConstructL"))
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::StartupLogoControllerStateChanged
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::StartupLogoControllerStateChanged(
+ TStartupLogoState aNewState)
+ {
+ PRINT(_L("Camera => CCamStartupLogo::StartupLogoControllerStateChanged"))
+
+ if (aNewState == EStartupLogoNotVisible)
+ {
+ Hide();
+ }
+ else if (aNewState == EStartupLogoVisible)
+ {
+ TRAP_IGNORE(ShowL());
+ }
+ else
+ {
+ PRINT(_L("Camera <> StartupLogoControllerStateChanged - unknown state"))
+ }
+
+ PRINT(_L("Camera <= CCamStartupLogo::StartupLogoControllerStateChanged"))
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::ShowL
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::ShowL()
+ {
+ PRINT(_L("Camera => CCamStartupLogo::ShowL"))
+
+ if (!iLogo || !iLogoMask)
+ {
+ delete iLogo;
+ iLogo = NULL;
+ delete iLogoMask;
+ iLogoMask = NULL;
+
+ TTime t0;
+ t0.UniversalTime();
+
+ AknIconUtils::CreateIconL(iLogo,
+ iLogoMask,
+ KCamBitmapFile,
+ EMbmCameraappQgn_menu_cams,
+ EMbmCameraappQgn_menu_cams_mask);
+
+ TSize logoSize(iRect.Size().iWidth/2, iRect.Size().iHeight/2);
+ AknIconUtils::SetSize(iLogo, logoSize);
+
+ TTime t1;
+ t1.UniversalTime();
+
+ PRINT1(_L("Camera <> Startup icon load took %d us"), I64LOW(t1.MicroSecondsFrom(t0).Int64()))
+ }
+
+ if (!iWindowCreated)
+ {
+ CreateWindowL();
+ iWindowCreated = ETrue;
+ }
+
+ if (!IsActivated())
+ {
+ ActivateL();
+ }
+
+ SetExtentToWholeScreen();
+
+ MakeVisible(ETrue);
+ RDrawableWindow* window = DrawableWindow();
+ if (window)
+ {
+ window->SetOrdinalPosition(0);
+ }
+
+ PRINT(_L("Camera <= CCamStartupLogo::ShowL"))
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::Hide
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::Hide()
+ {
+ PRINT(_L("Camera => CCamStartupLogo::Hide"))
+
+ MakeVisible(EFalse);
+
+ if (iWindowCreated)
+ {
+ CloseWindow();
+ iWindowCreated = EFalse;
+ }
+
+ delete iLogo;
+ iLogo = NULL;
+ delete iLogoMask;
+ iLogoMask = NULL;
+
+ PRINT(_L("Camera <= CCamStartupLogo::Hide"))
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::Draw
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::Draw(const TRect& /*aRect*/) const
+ {
+ PRINT(_L("Camera <> CCamStartupLogo::Draw"))
+
+ CWindowGc& gc = SystemGc();
+
+ gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+ gc.SetBrushColor(TRgb::Color16MA(0xFF000000)); // opaque black
+ gc.SetPenStyle(CGraphicsContext::ENullPen);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+ gc.DrawRect(Rect());
+
+ if (iLogo && iLogoMask)
+ {
+ TSize logoSize(iLogo->SizeInPixels());
+ TPoint logoTl(iRect.Center().iX - logoSize.iWidth / 2,
+ iRect.Center().iY - logoSize.iHeight / 2);
+ gc.BitBltMasked(logoTl, iLogo, TRect(logoSize), iLogoMask, EFalse);
+ }
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/src/camstartuplogocontroller.cpp Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2010 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: Controller for managing the camera startup logo state
+*
+*/
+
+#include "camstartuplogocontroller.h"
+#include "camlogging.h"
+
+// Maximum time the logo can be shown
+const TInt KCamFailSafeTimeout = 5000000; // 5 seconds
+
+// ---------------------------------------------------------------------------
+// C++ constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController::CCamStartupLogoController(TStartupLogoState aInitialState)
+ : iState(aInitialState)
+ {
+ // No implementation required
+ PRINT( _L("Camera <> CCamStartupLogoController::CCamStartupLogoController") );
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController::~CCamStartupLogoController()
+ {
+ PRINT( _L("Camera <> CCamStartupLogoController::~CCamStartupLogoController") );
+ delete iFailSafeTimer;
+ }
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController* CCamStartupLogoController::NewLC(TStartupLogoState aInitialState)
+ {
+ CCamStartupLogoController* self =
+ new (ELeave) CCamStartupLogoController(aInitialState);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController* CCamStartupLogoController::NewL(
+ TStartupLogoState aInitialState)
+ {
+ CCamStartupLogoController* self = CCamStartupLogoController::NewLC(aInitialState);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// 2nd phase constructor
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::ConstructL()
+ {
+ iFailSafeTimer = CPeriodic::NewL(0);
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::AddObserver
+// ---------------------------------------------------------------------------
+//
+TInt CCamStartupLogoController::AddObserver(
+ MCamStartupLogoControllerObserver* aObserver)
+ {
+ return iObservers.Append(aObserver);
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::RemoveObserver
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::RemoveObserver(
+ MCamStartupLogoControllerObserver* aObserver)
+ {
+ TInt index = iObservers.Find(aObserver);
+ if (index >= 0)
+ {
+ iObservers.Remove(index);
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::State
+// ---------------------------------------------------------------------------
+//
+TStartupLogoState CCamStartupLogoController::State() const
+ {
+ return iState;
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::ShowLogo
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::ShowLogo()
+ {
+ PRINT(_L("Camera <> CCamStartupLogoController::ShowLogo"));
+
+ if (iFailSafeTimer)
+ {
+ iFailSafeTimer->Cancel();
+ iFailSafeTimer->Start(TTimeIntervalMicroSeconds32(KCamFailSafeTimeout),
+ TTimeIntervalMicroSeconds32(KCamFailSafeTimeout),
+ TCallBack(FailSafeCallback, this));
+ }
+
+ SetState(EStartupLogoVisible);
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::HideLogo
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::HideLogo()
+ {
+ PRINT(_L("Camera <> CCamStartupLogoController::HideLogo"));
+
+ // Hide immediately
+ SetState(EStartupLogoNotVisible);
+ if (iFailSafeTimer)
+ {
+ iFailSafeTimer->Cancel();
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::SetState
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::SetState(TStartupLogoState aNewState)
+ {
+ PRINT1(_L("Camera => CCamStartupLogoController::SetState %d"), aNewState);
+
+ if (iState != aNewState)
+ {
+ iState = aNewState;
+ for (TInt i=0; i<iObservers.Count(); i++)
+ {
+ iObservers[i]->StartupLogoControllerStateChanged(aNewState);
+ }
+ }
+ PRINT1(_L("Camera <= CCamStartupLogoController::SetState %d"), aNewState);
+ }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::FailSafeCallback
+// ---------------------------------------------------------------------------
+//
+TInt CCamStartupLogoController::FailSafeCallback(TAny* ptr)
+ {
+ PRINT(_L("Camera <> CCamStartupLogoController::FailSafeCallback"));
+
+ CCamStartupLogoController* self = static_cast<CCamStartupLogoController*>(ptr);
+ if (self)
+ {
+ self->HideLogo();
+ if (self->iFailSafeTimer)
+ {
+ self->iFailSafeTimer->Cancel();
+ }
+ }
+ return 0;
+ }
Binary file camerauis/cameraapp/help/data/xhtml.zip has changed
--- a/camerauis/cameraapp/help/inc/lcam.hlp.hrh Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/help/inc/lcam.hlp.hrh Wed Mar 31 21:06:44 2010 +0300
@@ -23,8 +23,8 @@
#define __LCAM_HLP_HRH__
_LIT(KLCAM_HLP_VIEWFINDER_PHOTO, "LCAM_HLP_VIEWFINDER_PHOTO"); //
-_LIT( KLCAM_HLP_STANDBY_STATE, "LCAM_HLP_STANDYBY_STATE" ); //Camera standby view
-_LIT( KLCAM_HLP_ADVANCED_SEQUENCE, "LCAM_HLP_ADVANCED_SEQUENCE" ); // Advanced sequence mode setting page. - obsolete
+_LIT(KLCAM_HLP_STANDBY_STATE, "LCAM_HLP_STANDYBY_STATE"); //Camera standby view
+_LIT(KLCAM_HLP_ADVANCED_SEQUENCE, "LCAM_HLP_ADVANCED_SEQUENCE"); // Advanced sequence mode setting page. - obsolete
_LIT(KLCAM_HLP_CUST_TOOLBAR, "LCAM_HLP_CUST_TOOLBAR"); //
_LIT(KLCAM_HLP_LIGHT_SENSITIVITY, "LCAM_HLP_LIGHT_SENSITIVITY"); //
_LIT(KLCAM_HLP_SETTINGS_PHOUSER, "LCAM_HLP_SETTINGS_PHOUSER"); //
@@ -35,10 +35,11 @@
_LIT(KLCAM_HLP_SCENES_VIDEO, "LCAM_HLP_SCENES_VIDEO"); //
_LIT(KLCAM_HLP_SETTINGS_VIDEO, "LCAM_HLP_SETTINGS_VIDEO"); //
_LIT(KLCAM_HLP_VIEWFINDER_VIDEO_EM, "LCAM_HLP_VIEWFINDER_VIDEO_EM"); //
-_LIT(KLCAM_HLP_STANDYBY_EM, "LCAM_HLP_STANDYBY_EM"); //
+_LIT(KLCAM_HLP_STANDBY_EM, "LCAM_HLP_STANDBY_EM"); //
_LIT(KLCAM_HLP_POST_VIDEO, "LCAM_HLP_POST_VIDEO"); //
_LIT(KLCAM_HLP_VIEWFINDER_PHOTO_EM, "LCAM_HLP_VIEWFINDER_PHOTO_EM"); //
_LIT(KLCAM_HLP_POST_PHOTO, "LCAM_HLP_POST_PHOTO"); //
_LIT(KLCAM_HLP_POST_SEQ, "LCAM_HLP_POST_SEQ"); //
+_LIT(KLCAM_HLP_STANDYBY_EM, "LCAM_HLP_STANDYBY_EM"); //
#endif
\ No newline at end of file
--- a/camerauis/cameraapp/loc/cam.loc Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/loc/cam.loc Wed Mar 31 21:06:44 2010 +0300
@@ -4246,5 +4246,11 @@
//
#define qtn_lcam_shuttersound_off "Off"
+//d: This popup note is displayed when both the mass storage
+//d: and memory card become inaccessible. For instance when
+//d: USB is connected in mass torage mode
+//l: popup_note_window
+#define qtn_lcam_storage_inaccessible_note "All storage inaccessible at the moment. Please try again later"
+
// end of file
--- a/camerauis/cameraapp/rom/cameraapp.iby Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/rom/cameraapp.iby Wed Mar 31 21:06:44 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -58,8 +58,5 @@
// Stub sis file
data=ZSYSTEM\install\cameraapp_stub.sis System\Install\cameraapp_stub.sis
-// Backup registration
-data = ZPRIVATE\2001B29B\backup_registration.xml private\2001B29B\backup_registration.xml
-
#endif // CAMERAAPP_IBY
--- a/package_definition.xml Mon Mar 15 12:39:00 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="camera" name="Camera Apps">
- <collection id="camerauis" name="Camera UIs">
- <component id="activepalette" filter="s60" name="Active Palette">
- <unit bldFile="camerauis/activepalette/group"/>
- </component>
- <component id="cameraapp" filter="s60" name="Camera Application">
- <!-- can only have one unit. Need to use #includes, merge the bld.infs or split into two components-->
- <unit bldFile="camerauis/cameraapp/group"/>
- <unit bldFile="camerauis/cameraapp/help/group"/>
- <!-- should theese be #included from the above? -->
- <!-- <unit bldFile="camerauis/cameraapp/generic/camerauiconfigmanager/group"/> -->
- <!-- <unit bldFile="camerauis/cameraapp/generic/gscamcorderplugin/group"/> -->
- </component>
- </collection>
- <collection id="camera_info" name="Camera Apps Info">
- <component id="camera_plat" filter="s60" name="Camera Apps Platform Interfaces" class="api">
- <unit bldFile="camera_plat/group"/>
- <!-- should these tests be #included from the above? -->
- <!-- <unit bldFile="camera_plat/active_palette_2_api/tsrc/group"/> -->
- <!-- <unit bldFile="camera_plat/camcorder_ui_constants_api/tsrc/group"/> -->
- </component>
- </collection>
- </package>
-</SystemDefinition>