--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraxui/cxui/inc/cxuisettingsinfo.h Fri Apr 16 14:51:30 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+#ifndef CXUISETTINGSINFO_H
+#define CXUISETTINGSINFO_H
+
+#include <QObject>
+#include <QMap>
+#include <QPair>
+#include <QList>
+#include <QString>
+#include <QStringList>
+#include "cxeerror.h"
+#include "cxuisettingradiobuttonlist.h"
+
+
+class CxeEngine;
+class CxuiSettingXmlReader;
+
+namespace CxUiSettings
+{
+ // Setting mappings
+ static const char *IMAGE_SETTING_MAPPING_FILE = ":/xml/image_setting.xml";
+ static const char *VIDEO_SETTING_MAPPING_FILE = ":/xml/video_setting.xml";
+
+ struct SettingItem
+ {
+ QString mItem;
+ QVariant mValue;
+ QString mIcon;
+ };
+
+ /*!
+ * Class that holds all the data required for radiobutton list
+ */
+ class RadioButtonListParams
+ {
+ public:
+ RadioButtonListParams& operator=(const RadioButtonListParams& other);
+
+ public:
+ QString mHeading;
+ QString mSettingId;
+ QString mHeadingIcon;
+ QList<SettingItem> mSettingPairList;
+ bool mPreview;
+ CxuiSettingRadioButtonList::ListBoxType mListboxType;
+ };
+
+
+ /*!
+ * Class that holds all the data required for slider
+ */
+ class SliderParams
+ {
+ public:
+ SliderParams& operator=(const SliderParams& other);
+
+ public:
+ QString mHeading;
+ QString mSettingId;
+ QString mHeadingIcon;
+ QStringList mSettingStrings;
+ QPair<int, int> mRange;
+ qreal mStep;
+ };
+}
+
+/**
+ * Model Class that handles all HbDialog settings content widget info
+ */
+class CxuiSettingsInfo : public QObject
+{
+ Q_OBJECT
+public:
+ CxuiSettingsInfo(CxeEngine *engine);
+ ~CxuiSettingsInfo();
+ bool getSettingsContent(const QString &key, CxUiSettings::RadioButtonListParams &p);
+ bool getSettingsContent(const QString &key, CxUiSettings::SliderParams &p);
+
+private:
+ void getImageQualitySettings(CxUiSettings::RadioButtonListParams &settings);
+ void getVideoQualitySettings(CxUiSettings::RadioButtonListParams &settings);
+ void handleQualitySettings(const QString &key, CxUiSettings::RadioButtonListParams &settings);
+
+private slots:
+ void initForCurrentMode(CxeError::Id status);
+
+private: // data members
+ CxeEngine *mEngine;
+ CxuiSettingXmlReader *mXmlReader;
+};
+
+
+#endif // CXUISETTINGSINFO_H