diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamCaptureToneSettingItem.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamCaptureToneSettingItem.cpp Wed Sep 01 12:30:54 2010 +0100 @@ -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 +#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 + * itemArray = + static_cast(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); + } + } + } + }