diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamPhotoSettingsList.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamPhotoSettingsList.h Wed Sep 01 12:30:54 2010 +0100 @@ -0,0 +1,129 @@ +/* +* 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: Photo settings list class +* +*/ + + + +#ifndef GSCAMPHOTOSETTINGSLIST_H +#define GSCAMPHOTOSETTINGSLIST_H + +// INCLUDES +#include // for feature definitions +#include // CAknSettingItemList +#include +#include +#include "CamStaticSettingsModel.h" +#include "GSCamcorderPlugin.hrh" + + +// FORWARD DECLARATIONS +class CGSCamSettingsModel; +class CGSCamcorderPlugin; + +class CCamWaitDialog; + +/** +* Image settings list class +*/ +class CGSCamPhotoSettingsList : public CAknSettingItemList + + { + public: // Constructors and destructor + /** + * C++ constructor. + * @since 2.1 + * @param aController reference to CCcorController + */ + CGSCamPhotoSettingsList( CCamStaticSettingsModel& aModel ); + + /** + * Symbian 2nd phase constructor + * @since 2.1 + */ + void ConstructL( TBool aLaunchedFromGS, + TBool aSecondaryCameraSettings ); + + /** + * Destructor. + */ + virtual ~CGSCamPhotoSettingsList(); + + + public: // Functions of base classes + /** + * From CAknSettingItemList + * Launch the setting page for the current item by calling + * EditItemL on it. + */ + void EditItemL( TInt aIndex, TBool aCalledFromMenu ); + + /** + * From CCoeControl set the size and position of its component controls. + */ + void SizeChanged(); + + + private: // Functions from base classes + /** + * From CAknSettingItemList Handles creating setting items + * @param aIdentifier Identifier of the setting item to create + */ + CAknSettingItem* CreateSettingItemL( TInt aIdentifier ); + + /** + * Returns the current value of a setting for this list. + * @since 2.8 + * @param aItemId The id of the setting in question + * @return the current value. + */ + TInt ValueOfSetting( TInt aItemId ) const; + + /** + * Returns the array index of a setting for this list. + * @since 2.8 + * @param aItemId The id of the setting in question + * @return the array index. + */ + TInt IndexOfSetting( TInt aItemId ) const; + + + private: // Data + + // Store values for the different settings. + RPointerArray iSettings; + TInt iQualityValue; + RArray iSupportedQualityLevels; + TBool iLaunchedFromGS; + TBool iSecondaryCameraSettings; + + // Used to store memory value. Required by the CAknMemorySelectionSettingItemMultiDrive. + DriveInfo::TDefaultDrives iMemVal; + TDriveNumber iDrive; + + CCamStaticSettingsModel& iModel; + // The default name base. + TBuf iDefaultNameBase; + + CCamWaitDialog* iWaitDialog; + // Index of the setting item which is active + TInt iIndex; + // Flag to check if the Wait note is active + TBool iWaitNoteActive; + }; + +#endif + +// End of File