--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamPhotoSettingsList.h Thu Jan 07 16:18:56 2010 +0200
@@ -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 <bldvariant.hrh> // for feature definitions
+#include <aknsettingitemlist.h> // CAknSettingItemList
+#include <CAknMemorySelectionDialog.h>
+#include <driveinfo.h>
+#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<TIntSetting> iSettings;
+ TInt iQualityValue;
+ RArray<TInt> 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<KMaxNameBaseLength> 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