--- a/controlpanelplugins/themeplugin/src/cpthemechanger.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemechanger.cpp Mon May 03 12:32:06 2010 +0300
@@ -97,6 +97,12 @@
return d->currentTheme();
}
+int CpThemeChanger::indexOf(const ThemeInfo& theme) const
+{
+ Q_D(const CpThemeChanger);
+ return d->indexOf(theme);
+}
+
/*!
Change a theme. Returns true on success, false otherwise.
*/
--- a/controlpanelplugins/themeplugin/src/cpthemechanger.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemechanger.h Mon May 03 12:32:06 2010 +0300
@@ -41,15 +41,26 @@
{
QString name;
HbIcon icon;
+ HbIcon portraitPreviewIcon;
+ HbIcon landscapePreviewIcon;
bool operator < (const struct ThemeInfo &other) const {
return name.localeAwareCompare(other.name) < 0;
- }
+ }
+ bool operator == (const struct ThemeInfo &other) const {
+ return name.localeAwareCompare(other.name) == 0;
+ }
};
-
+
+ enum ThemeListUserRole {
+ PortraitPreviewRole = Qt::UserRole,
+ LandscapePreviewRole
+ };
+
const QList<ThemeInfo> themes() const;
QAbstractItemModel& model();
const ThemeInfo& currentTheme() const;
+ int indexOf(const ThemeInfo& theme) const;
bool changeTheme(const QString& newtheme);
--- a/controlpanelplugins/themeplugin/src/cpthemechanger_p.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemechanger_p.cpp Mon May 03 12:32:06 2010 +0300
@@ -20,7 +20,8 @@
#include <QStringList>
#include <QSettings>
#include <QFileSystemWatcher>
-#include <HbIcon.h>
+#include <QSizeF>
+#include <hbicon.h>
#include <hbinstance.h>
#include "cpthemeclient_p.h"
#include "cpthemecommon_p.h"
@@ -36,8 +37,7 @@
static const char* KThemePathKey = "HB_THEMES_DIR";
#endif
- static const char* KDefaultTheme = "hbdefault";
- static const char* KSettingsGroup = "hborbit";
+ static const QString KDefaultTheme = "hbdefault";
static const char* KSettingsCategory = "currenttheme";
static const bool KDefaultPreviewAvailable = true;
}
@@ -105,6 +105,11 @@
return mCurrentTheme.name.isEmpty() ? KDefaultTheme : mCurrentTheme.name;
}
+int CpThemeChangerPrivate::indexOf(const CpThemeChanger::ThemeInfo& theme) const
+{
+ return themeList.indexOf(theme);
+}
+
void CpThemeChangerPrivate::updateThemeList(const QString& newThemeName)
{
if(!themeList.isEmpty()) {
@@ -166,17 +171,49 @@
//if no preview graphics path specified,look for the background graphic.
//first look in /scalable folder. if not there, look in pixmap folder.
- if(QFileInfo(fullPathToIcon + "/scalable/qtg_graf_screen_bg_prt.svg").exists()){
+
+ //Set thumbnail
+ if(QFileInfo(fullPathToIcon + "/scalable/qtg_graf_theme_preview_thumbnail.svg").exists()){
+ nameIconPair.icon = HbIcon(fullPathToIcon + "/scalable/qtg_graf_theme_preview_thumbnail.svg");
+ }else if(QFileInfo(fullPathToIcon + "/scalable/qtg_graf_screen_bg_prt.svg").exists()){
nameIconPair.icon = HbIcon(fullPathToIcon + "/scalable/qtg_graf_screen_bg_prt.svg");
+ qreal width = nameIconPair.icon.width();
+ nameIconPair.icon.setHeight(width);
} else if(QFileInfo(fullPathToIcon + "/pixmap/qtg_graf_screen_bg_prt.png").exists()){
nameIconPair.icon = HbIcon(fullPathToIcon + "/pixmap/qtg_graf_screen_bg_prt.png");
+ qreal width = nameIconPair.icon.width();
+ nameIconPair.icon.setHeight(width);
} else{
nameIconPair.icon = HbIcon(":/image/themePreview.svg");
}
} else {
nameIconPair.icon = HbIcon(fullPathToIcon);
}
+
+ //set portrait preview
+ if(QFileInfo(fullPathToIcon + "/scalable/qtg_graf_theme_preview_prt.svg").exists()){
+ nameIconPair.portraitPreviewIcon = HbIcon(fullPathToIcon + "/scalable/qtg_graf_theme_preview_prt.svg");
+ }else if(QFileInfo(fullPathToIcon + "/scalable/qtg_graf_screen_bg_prt.svg").exists()){
+ nameIconPair.portraitPreviewIcon = HbIcon(fullPathToIcon + "/scalable/qtg_graf_screen_bg_prt.svg");
+ } else if(QFileInfo(fullPathToIcon + "/pixmap/qtg_graf_screen_bg_prt.png").exists()){
+ nameIconPair.portraitPreviewIcon = HbIcon(fullPathToIcon + "/pixmap/qtg_graf_screen_bg_prt.png");
+ } else{
+ nameIconPair.portraitPreviewIcon = HbIcon(":/image/themePreview.svg");
+ }
+
+ //set landscape preview
+ if(QFileInfo(fullPathToIcon + "/scalable/qtg_graf_theme_preview_lsc.svg").exists()){
+ nameIconPair.landscapePreviewIcon = HbIcon(fullPathToIcon + "/scalable/qtg_graf_theme_preview_lsc.svg");
+ }else if(QFileInfo(fullPathToIcon + "/scalable/qtg_graf_screen_bg_lsc.svg").exists()){
+ nameIconPair.landscapePreviewIcon = HbIcon(fullPathToIcon + "/scalable/qtg_graf_screen_bg_lsc.svg");
+ } else if(QFileInfo(fullPathToIcon + "/pixmap/qtg_graf_screen_bg_lsc.png").exists()){
+ nameIconPair.landscapePreviewIcon = HbIcon(fullPathToIcon + "/pixmap/qtg_graf_screen_bg_lsc.png");
+ } else{
+ nameIconPair.landscapePreviewIcon = HbIcon(":/image/themePreview.svg");
+ }
+
nameIconPair.name = name;
+
themeList.append(nameIconPair);
if (name == mCurrentTheme.name) {
@@ -209,8 +246,6 @@
mCurrentTheme = def;
}
- // Sort the themes list
- qSort(themeList.begin(), themeList.end());
}
const QList<CpThemeChanger::ThemeInfo>& CpThemeChangerPrivate::themes() const
@@ -316,6 +351,11 @@
case Qt::SizeHintRole:
retVal = mThemeChangerPrivate->themeList.at(index.row()).icon.size();
break;
+ case CpThemeChanger::PortraitPreviewRole:
+ retVal = mThemeChangerPrivate->themeList.at(index.row()).portraitPreviewIcon;
+ break;
+ case CpThemeChanger::LandscapePreviewRole:
+ retVal = mThemeChangerPrivate->themeList.at(index.row()).landscapePreviewIcon;
default:
// do nothing
--- a/controlpanelplugins/themeplugin/src/cpthemechanger_p.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemechanger_p.h Mon May 03 12:32:06 2010 +0300
@@ -42,6 +42,7 @@
Q_OBJECT
public:
+
HbThemeListModel(CpThemeChangerPrivate* dd, QObject *parent = 0);
virtual ~HbThemeListModel();
@@ -73,6 +74,7 @@
const QStringList directories() const;
const CpThemeChanger::ThemeInfo& currentTheme() const;
+ int indexOf(const CpThemeChanger::ThemeInfo& theme) const;
const QString& currentThemeName() const;
bool changeTheme(const QString& newtheme);
--- a/controlpanelplugins/themeplugin/src/cpthemecontrol.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemecontrol.cpp Mon May 03 12:32:06 2010 +0300
@@ -33,6 +33,7 @@
#include <QStandardItemModel>
#include <QStandardItem>
#include <QTranslator>
+#include <QSortFilterProxyModel>
#include <hbmainwindow.h>
#include <hbinstance.h>
@@ -63,7 +64,8 @@
CpThemeControl::CpThemeControl(): mThemeListView(0),
mThemePreview(0),
mThemeChanger(0),
- mListModel(0)
+ mListModel(0),
+ mSortModel(0)
{
mThemeChanger = new CpThemeChanger();
@@ -103,9 +105,19 @@
mThemeListView = new CpThemeListView();
mListModel = &mThemeChanger->model();
+
+ mSortModel = new QSortFilterProxyModel(this);
+ mSortModel->setDynamicSortFilter(true);
+ mSortModel->setSortCaseSensitivity(Qt::CaseInsensitive);
+ mSortModel->sort(0);
+ mSortModel->setSourceModel(mListModel);
// Set the model for theme list.
- mThemeListView->setModel(mListModel);
+ mThemeListView->setModel(mSortModel);
+ mThemeListView->themeList()->setSelectionMode(HbAbstractItemView::SingleSelection);
+
+ setActiveThemeIndex();
+
//connect to signal for selecting a list item.
connect(mThemeListView,SIGNAL(newThemeSelected(const QModelIndex&)),
@@ -154,8 +166,36 @@
return;
}
- CpThemeChanger::ThemeInfo themeInfo = mThemeChanger->themes().at(index.row());
-
+
+ CpThemeChanger::ThemeInfo themeInfo;
+ QVariant data;
+
+ //reset the current index to active theme, so that the selection remains on current
+ //theme even though another list item is selected.
+ setActiveThemeIndex();
+
+ //get the theme name.
+ data = index.data(Qt::DisplayRole);
+ if(data.isValid()) {
+ themeInfo.name = data.toString();
+ }
+ //get theme icon.
+ data = index.data(Qt::DecorationRole);
+ if(data.isValid()) {
+ themeInfo.icon = data.value<HbIcon>();
+ }
+
+ data = index.data(CpThemeChanger::PortraitPreviewRole);
+ if(data.isValid()) {
+ themeInfo.portraitPreviewIcon = data.value<HbIcon>();
+ }
+
+ data = index.data(CpThemeChanger::LandscapePreviewRole);
+ if(data.isValid()) {
+ themeInfo.landscapePreviewIcon = data.value<HbIcon>();
+ }
+
+
//Set up the theme preview and set it to
//the current view of main window.
HbMainWindow* mWindow = ::mainWindow();
@@ -211,7 +251,10 @@
mainWindow->removeView(mThemePreview);
mThemePreview->deleteLater();
mThemePreview = 0;
-
+
+ //reset the current index to active theme, so that the selection remains on current
+ //theme even though another list item is selected.
+ setActiveThemeIndex();
mainWindow->setCurrentView(mThemeListView);
}
@@ -236,6 +279,22 @@
mThemeListView->closeView();
}
+/*!
+ * Private function that sets the current index of theme list view to indicate
+ * the active theme.
+ */
+void CpThemeControl::setActiveThemeIndex()
+{
+ //Get the index of current theme.
+ QModelIndex sourceIndex = mListModel->index(mThemeChanger->indexOf(mThemeChanger->currentTheme()),0);
+ //Map it to the sort model index.
+ QModelIndex sortedIndex = mSortModel->mapFromSource(sourceIndex);
+ //set current index.
+ mThemeListView->themeList()->setCurrentIndex(sortedIndex, QItemSelectionModel::SelectCurrent);
+}
+
+
+
--- a/controlpanelplugins/themeplugin/src/cpthemecontrol.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemecontrol.h Mon May 03 12:32:06 2010 +0300
@@ -27,7 +27,7 @@
QT_BEGIN_NAMESPACE
class QModelIndex;
class QString;
-class QStandardItemModel;
+class QSortFilterProxyModel;
QT_END_NAMESPACE
class CpThemeListView;
@@ -59,12 +59,14 @@
private:
void createThemeList();
void triggerThemeListClose();
+ void setActiveThemeIndex();
private:
CpThemeListView* mThemeListView;
CpThemePreview* mThemePreview;
CpThemeChanger* mThemeChanger;
QAbstractItemModel* mListModel;
+ QSortFilterProxyModel* mSortModel;
};
#endif //CPTHEMECONTROL_H
--- a/controlpanelplugins/themeplugin/src/cpthemelistview.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemelistview.cpp Mon May 03 12:32:06 2010 +0300
@@ -20,7 +20,7 @@
#include <QGraphicsLinearLayout>
#include <QModelIndex>
-#include <hbview>
+#include <hbview.h>
#include <hblabel.h>
#include <hblistview.h>
--- a/controlpanelplugins/themeplugin/src/cpthemepluginentryitemdata.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemepluginentryitemdata.cpp Mon May 03 12:32:06 2010 +0300
@@ -15,8 +15,8 @@
*
*/
-#include <hbdataform>
-#include <hbiconitem>
+#include <hbdataform.h>
+#include <hbiconitem.h>
#include <cpbasesettingview.h>
#include "cpthemecontrol.h"
--- a/controlpanelplugins/themeplugin/src/cpthemepreview.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemepreview.cpp Mon May 03 12:32:06 2010 +0300
@@ -19,12 +19,13 @@
#include <QGraphicsPixmapItem>
#include <QGraphicsLinearLayout>
-#include <hbaction>
-#include <hbtoolbar>
+#include <hbaction.h>
+#include <hbtoolbar.h>
#include <hbicon.h>
#include <hbaction.h>
#include <hblabel.h>
#include <hbiconitem.h>
+#include <hbmainwindow.h>
#include "cpthemepreview.h"
@@ -54,9 +55,12 @@
QString themeHeading = tr("Preview: ") + mTheme.name;
HbLabel* label = new HbLabel(themeHeading, this);
label->setFontSpec(HbFontSpec(HbFontSpec::Primary));
-
+
+ label->setPreferredHeight(5.0);
layout->addItem(label);
+ layout->setAlignment(layout->itemAt(0), Qt::AlignTop);
+
//Create the toolbar and "Select" and "Cancel" actions.
HbToolBar* mToolBar = new HbToolBar(this);
@@ -74,9 +78,17 @@
QObject::connect( cancelAction, SIGNAL(triggered()),
this, SIGNAL(aboutToClose()));
+ HbIconItem* layoutItem;
//layout->addItem(&HbIconItem(mTheme.icon, this ));
- HbIconItem* layoutItem = new HbIconItem(mTheme.icon, this);
+ if(mainWindow()->orientation() == Qt::Horizontal) {
+ layoutItem = new HbIconItem(mTheme.landscapePreviewIcon, this);
+ }
+ else {
+ layoutItem = new HbIconItem(mTheme.portraitPreviewIcon, this);
+ }
layout->addItem(layoutItem);
+ layout->setAlignment(layout->itemAt(0), Qt::AlignTop);
+
setToolBar(mToolBar);
setLayout(layout);
--- a/controlpanelui/cpcfg_win.pl Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/cpcfg_win.pl Mon May 03 12:32:06 2010 +0300
@@ -11,10 +11,7 @@
#
# Contributors:
#
-# Description:
-#
-
-# description: copy all cpcfg files to destination directory when building control panel in window envionment
+# Description: Copy all cpcfg files to destination directory when building control panel in window envionment
# usage: go to control panel source directory,
# run cpcfg_win.pl if you want to build control panel in debug mode or cpcfg_win -R in release mode.
--- a/controlpanelui/rom/controlpanelui.iby Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/rom/controlpanelui.iby Mon May 03 12:32:06 2010 +0300
@@ -32,22 +32,19 @@
file=ABI_DIR\BUILD_DIR\seccodeui.dll SHARED_LIB_DIR\seccodeui.dll
file=ABI_DIR\BUILD_DIR\cpprofilewrapper.dll SHARED_LIB_DIR\cpprofilewrapper.dll
-file=ABI_DIR\BUILD_DIR\cpapplicationsettingsplugin.dll SHARED_LIB_DIR\cpapplicationsettingsplugin.dll
file=ABI_DIR\BUILD_DIR\cppersonalizationplugin.dll SHARED_LIB_DIR\cppersonalizationplugin.dll
file=ABI_DIR\BUILD_DIR\cpcommunicationplugin.dll SHARED_LIB_DIR\cpcommunicationplugin.dll
file=ABI_DIR\BUILD_DIR\cpdeviceplugin.dll SHARED_LIB_DIR\cpdeviceplugin.dll
-file=ABI_DIR\BUILD_DIR\cpplaceholderplugin.dll SHARED_LIB_DIR\cpplaceholderplugin.dll
file=ABI_DIR\BUILD_DIR\cpprivacyplugin.dll SHARED_LIB_DIR\cpprivacyplugin.dll
-file=ABI_DIR\BUILD_DIR\cpplaceholdernoiconplugin.dll SHARED_LIB_DIR\cpplaceholdernoiconplugin.dll
-file=ABI_DIR\BUILD_DIR\cpdisplayplugin.dll SHARED_LIB_DIR\cpdisplayplugin.dll
file=ABI_DIR\BUILD_DIR\cplookfeelplugin.dll SHARED_LIB_DIR\cplookfeelplugin.dll
file=ABI_DIR\BUILD_DIR\cpkeytouchfdbkplugin.dll SHARED_LIB_DIR\cpkeytouchfdbkplugin.dll
-file=ABI_DIR\BUILD_DIR\cpaccountsplugin.dll SHARED_LIB_DIR\cpaccountsplugin.dll
file=ABI_DIR\BUILD_DIR\cppincodeplugin.dll SHARED_LIB_DIR\cppincodeplugin.dll
file=ABI_DIR\BUILD_DIR\cpdevicelockplugin.dll SHARED_LIB_DIR\cpdevicelockplugin.dll
-
+file=ABI_DIR\BUILD_DIR\cpprofileactivator.dll SHARED_LIB_DIR\cpprofileactivator.dll
+file=ABI_DIR\BUILD_DIR\cpvolumeplugin.dll SHARED_LIB_DIR\cpvolumeplugin.dll
+file=ABI_DIR\BUILD_DIR\cpringtoneplugin.dll SHARED_LIB_DIR\cpringtoneplugin.dll
+
data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\mainview.cpcfg resource\qt\plugins\controlpanel\config\mainview.cpcfg
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cpapplicationsettingsplugin.cpcfg resource\qt\plugins\controlpanel\config\cpapplicationsettingsplugin.cpcfg
data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cppersonalizationplugin.cpcfg resource\qt\plugins\controlpanel\config\cppersonalizationplugin.cpcfg
data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cpcommunicationplugin.cpcfg resource\qt\plugins\controlpanel\config\cpcommunicationplugin.cpcfg
data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cpdeviceplugin.cpcfg resource\qt\plugins\controlpanel\config\cpdeviceplugin.cpcfg
@@ -56,17 +53,16 @@
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cppersonalizationplugin.qtplugin resource\qt\plugins\controlpanel\cppersonalizationplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpapplicationsettingsplugin.qtplugin resource\qt\plugins\controlpanel\cpapplicationsettingsplugin.qtplugin
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpcommunicationplugin.qtplugin resource\qt\plugins\controlpanel\cpcommunicationplugin.qtplugin
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpdeviceplugin.qtplugin resource\qt\plugins\controlpanel\cpdeviceplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpplaceholderplugin.qtplugin resource\qt\plugins\controlpanel\cpplaceholderplugin.qtplugin
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpprivacyplugin.qtplugin resource\qt\plugins\controlpanel\cpprivacyplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpplaceholdernoiconplugin.qtplugin resource\qt\plugins\controlpanel\cpplaceholdernoiconplugin.qtplugin
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cplookfeelplugin.qtplugin resource\qt\plugins\controlpanel\cplookfeelplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpdisplayplugin.qtplugin resource\qt\plugins\controlpanel\cpdisplayplugin.qtplugin
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpkeytouchfdbkplugin.qtplugin resource\qt\plugins\controlpanel\cpkeytouchfdbkplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpaccountsplugin.qtplugin resource\qt\plugins\controlpanel\cpaccountsplugin.qtplugin
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cppincodeplugin.qtplugin resource\qt\plugins\controlpanel\cppincodeplugin.qtplugin
data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpdevicelockplugin.qtplugin resource\qt\plugins\controlpanel\cpdevicelockplugin.qtplugin
+data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpprofileactivator.qtplugin resource\qt\plugins\controlpanel\cpprofileactivator.qtplugin
+data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpvolumeplugin.qtplugin resource\qt\plugins\controlpanel\cpvolumeplugin.qtplugin
+data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpringtoneplugin.qtplugin resource\qt\plugins\controlpanel\cpringtoneplugin.qtplugin
+
#endif
--- a/controlpanelui/src/bwins/cpprofilewrapperu.def Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/bwins/cpprofilewrapperu.def Mon May 03 12:32:06 2010 +0300
@@ -1,32 +1,57 @@
EXPORTS
- ?ringVolume@CpProfileModel@@QAEHXZ @ 1 NONAME ; int CpProfileModel::ringVolume(void)
- ??1CpProfileModel@@QAE@XZ @ 2 NONAME ; CpProfileModel::~CpProfileModel(void)
- ?profileName@CpProfileModel@@QAE?AVQString@@H@Z @ 3 NONAME ; class QString CpProfileModel::profileName(int)
- ?setScreenVibra@CpProfileModel@@QAEXH@Z @ 4 NONAME ; void CpProfileModel::setScreenVibra(int)
- ?setScreenVolume@CpProfileModel@@QAEXH@Z @ 5 NONAME ; void CpProfileModel::setScreenVolume(int)
- ?screenVolume@CpProfileModel@@QAEHXZ @ 6 NONAME ; int CpProfileModel::screenVolume(void)
- ?setRingTone@CpProfileModel@@QAEHABVQString@@@Z @ 7 NONAME ; int CpProfileModel::setRingTone(class QString const &)
- ?keyVolume@CpProfileModel@@QAEHXZ @ 8 NONAME ; int CpProfileModel::keyVolume(void)
- ?setVibraStatus@CpProfileModel@@QAEX_N@Z @ 9 NONAME ; void CpProfileModel::setVibraStatus(bool)
- ?calendarTone@CpProfileModel@@QAE?AVQString@@XZ @ 10 NONAME ; class QString CpProfileModel::calendarTone(void)
- ?vibraStatus@CpProfileModel@@QAE_NXZ @ 11 NONAME ; bool CpProfileModel::vibraStatus(void)
- ?setKeyVolume@CpProfileModel@@QAEXH@Z @ 12 NONAME ; void CpProfileModel::setKeyVolume(int)
- ?activateSilent@CpProfileModel@@QAEXXZ @ 13 NONAME ; void CpProfileModel::activateSilent(void)
- ?ringTone@CpProfileModel@@QAE?AVQString@@XZ @ 14 NONAME ; class QString CpProfileModel::ringTone(void)
- ?activeProfileId@CpProfileModel@@QAEHXZ @ 15 NONAME ; int CpProfileModel::activeProfileId(void)
- ?emailTone@CpProfileModel@@QAE?AVQString@@XZ @ 16 NONAME ; class QString CpProfileModel::emailTone(void)
- ?activateBeep@CpProfileModel@@QAEXXZ @ 17 NONAME ; void CpProfileModel::activateBeep(void)
- ?setEmailTone@CpProfileModel@@QAEHABVQString@@@Z @ 18 NONAME ; int CpProfileModel::setEmailTone(class QString const &)
- ?setRingVolume@CpProfileModel@@QAEXH@Z @ 19 NONAME ; void CpProfileModel::setRingVolume(int)
- ?messageTone@CpProfileModel@@QAE?AVQString@@XZ @ 20 NONAME ; class QString CpProfileModel::messageTone(void)
- ?initiationFlag@CpProfileModel@@QAEHXZ @ 21 NONAME ; int CpProfileModel::initiationFlag(void)
- ?isBeep@CpProfileModel@@QAE_NXZ @ 22 NONAME ; bool CpProfileModel::isBeep(void)
- ?activateProfile@CpProfileModel@@QAEHH@Z @ 23 NONAME ; int CpProfileModel::activateProfile(int)
- ?setAlarmTone@CpProfileModel@@QAEXABVQString@@@Z @ 24 NONAME ; void CpProfileModel::setAlarmTone(class QString const &)
- ??0CpProfileModel@@QAE@XZ @ 25 NONAME ; CpProfileModel::CpProfileModel(void)
- ?screenVibra@CpProfileModel@@QAEHXZ @ 26 NONAME ; int CpProfileModel::screenVibra(void)
- ?alarmTone@CpProfileModel@@QAE?AVQString@@XZ @ 27 NONAME ; class QString CpProfileModel::alarmTone(void)
- ?setMessageTone@CpProfileModel@@QAEHABVQString@@@Z @ 28 NONAME ; int CpProfileModel::setMessageTone(class QString const &)
- ?isSilent@CpProfileModel@@QAE_NXZ @ 29 NONAME ; bool CpProfileModel::isSilent(void)
- ?setCalendarTone@CpProfileModel@@QAEXABVQString@@@Z @ 30 NONAME ; void CpProfileModel::setCalendarTone(class QString const &)
+ ?setKeyTouchScreenVibra@CpProfileModel@@QAEXHH@Z @ 1 NONAME ; void CpProfileModel::setKeyTouchScreenVibra(int, int)
+ ?tr@CpProfileModel@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString CpProfileModel::tr(char const *, char const *, int)
+ ?setReminderVibra@CpProfileModel@@QAEXH_N@Z @ 3 NONAME ; void CpProfileModel::setReminderVibra(int, bool)
+ ?masterVibra@CpProfileModel@@QBE_NXZ @ 4 NONAME ; bool CpProfileModel::masterVibra(void) const
+ ?ringTone@CpProfileModel@@QBE?AVQString@@XZ @ 5 NONAME ; class QString CpProfileModel::ringTone(void) const
+ ?qt_metacast@CpProfileModel@@UAEPAXPBD@Z @ 6 NONAME ; void * CpProfileModel::qt_metacast(char const *)
+ ?setRingTone@CpProfileModel@@QAEXABVQString@@@Z @ 7 NONAME ; void CpProfileModel::setRingTone(class QString const &)
+ ?setReminderTone@CpProfileModel@@QAEXHABVQString@@@Z @ 8 NONAME ; void CpProfileModel::setReminderTone(int, class QString const &)
+ ?activeProfileId@CpProfileModel@@QAEHXZ @ 9 NONAME ; int CpProfileModel::activeProfileId(void)
+ ?trUtf8@CpProfileModel@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString CpProfileModel::trUtf8(char const *, char const *)
+ ?profileSettings@CpProfileModel@@QAEHHAAVCpProfileSettings@@@Z @ 11 NONAME ; int CpProfileModel::profileSettings(int, class CpProfileSettings &)
+ ?reminderVibra@CpProfileModel@@QBE_NH@Z @ 12 NONAME ; bool CpProfileModel::reminderVibra(int) const
+ ?setEmailTone@CpProfileModel@@QAEXHABVQString@@@Z @ 13 NONAME ; void CpProfileModel::setEmailTone(int, class QString const &)
+ ?ringAlertVibra@CpProfileModel@@QBE_NH@Z @ 14 NONAME ; bool CpProfileModel::ringAlertVibra(int) const
+ ?emailTone@CpProfileModel@@QBE?AVQString@@H@Z @ 15 NONAME ; class QString CpProfileModel::emailTone(int) const
+ ?masterVolume@CpProfileModel@@QBEHXZ @ 16 NONAME ; int CpProfileModel::masterVolume(void) const
+ ?notificationTone@CpProfileModel@@QBE_NH@Z @ 17 NONAME ; bool CpProfileModel::notificationTone(int) const
+ ?tr@CpProfileModel@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString CpProfileModel::tr(char const *, char const *)
+ ?getStaticMetaObject@CpProfileModel@@SAABUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const & CpProfileModel::getStaticMetaObject(void)
+ ?keyTouchScreenTone@CpProfileModel@@QBEHH@Z @ 20 NONAME ; int CpProfileModel::keyTouchScreenTone(int) const
+ ?setRingTone@CpProfileModel@@QAEXHABVQString@@@Z @ 21 NONAME ; void CpProfileModel::setRingTone(int, class QString const &)
+ ?reminderTone@CpProfileModel@@QBE?AVQString@@H@Z @ 22 NONAME ; class QString CpProfileModel::reminderTone(int) const
+ ?profileName@CpProfileModel@@QBE?AVQString@@H@Z @ 23 NONAME ; class QString CpProfileModel::profileName(int) const
+ ?setKeyTouchScreenTone@CpProfileModel@@QAEXHH@Z @ 24 NONAME ; void CpProfileModel::setKeyTouchScreenTone(int, int)
+ ?setMasterVolume@CpProfileModel@@QAEXH@Z @ 25 NONAME ; void CpProfileModel::setMasterVolume(int)
+ ?staticMetaObject@CpProfileModel@@2UQMetaObject@@B @ 26 NONAME ; struct QMetaObject const CpProfileModel::staticMetaObject
+ ?profileNames@CpProfileModel@@QBE?AVQStringList@@XZ @ 27 NONAME ; class QStringList CpProfileModel::profileNames(void) const
+ ?activateProfile@CpProfileModel@@QAEHH@Z @ 28 NONAME ; int CpProfileModel::activateProfile(int)
+ ?setNotificationVibra@CpProfileModel@@QAEXH_N@Z @ 29 NONAME ; void CpProfileModel::setNotificationVibra(int, bool)
+ ?setNotificationTone@CpProfileModel@@QAEXH_N@Z @ 30 NONAME ; void CpProfileModel::setNotificationTone(int, bool)
+ ?isOffLineMode@CpProfileModel@@QBE_NXZ @ 31 NONAME ; bool CpProfileModel::isOffLineMode(void) const
+ ?metaObject@CpProfileModel@@UBEPBUQMetaObject@@XZ @ 32 NONAME ; struct QMetaObject const * CpProfileModel::metaObject(void) const
+ ?setRingAlertVibra@CpProfileModel@@QAEXH_N@Z @ 33 NONAME ; void CpProfileModel::setRingAlertVibra(int, bool)
+ ??0CpProfileModel@@QAE@PAVQObject@@@Z @ 34 NONAME ; CpProfileModel::CpProfileModel(class QObject *)
+ ?emailVibra@CpProfileModel@@QBE_NH@Z @ 35 NONAME ; bool CpProfileModel::emailVibra(int) const
+ ?setProfileSettings@CpProfileModel@@QAEHHAAVCpProfileSettings@@@Z @ 36 NONAME ; int CpProfileModel::setProfileSettings(int, class CpProfileSettings &)
+ ?setEmailVibra@CpProfileModel@@QAEXH_N@Z @ 37 NONAME ; void CpProfileModel::setEmailVibra(int, bool)
+ ?setOffLineMode@CpProfileModel@@QAEX_N@Z @ 38 NONAME ; void CpProfileModel::setOffLineMode(bool)
+ ??1CpProfileModel@@UAE@XZ @ 39 NONAME ; CpProfileModel::~CpProfileModel(void)
+ ?isSilenceMode@CpProfileModel@@QBE_NXZ @ 40 NONAME ; bool CpProfileModel::isSilenceMode(void) const
+ ?notificationVibra@CpProfileModel@@QBE_NH@Z @ 41 NONAME ; bool CpProfileModel::notificationVibra(int) const
+ ?qt_metacall@CpProfileModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 42 NONAME ; int CpProfileModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?messageTone@CpProfileModel@@QBE?AVQString@@H@Z @ 43 NONAME ; class QString CpProfileModel::messageTone(int) const
+ ?d_func@CpProfileModel@@ABEPBVCpProfileModelPrivate@@XZ @ 44 NONAME ; class CpProfileModelPrivate const * CpProfileModel::d_func(void) const
+ ?setSilenceMode@CpProfileModel@@QAEX_N@Z @ 45 NONAME ; void CpProfileModel::setSilenceMode(bool)
+ ?setMessageVibra@CpProfileModel@@QAEXH_N@Z @ 46 NONAME ; void CpProfileModel::setMessageVibra(int, bool)
+ ?keyTouchScreenVibra@CpProfileModel@@QBEHH@Z @ 47 NONAME ; int CpProfileModel::keyTouchScreenVibra(int) const
+ ?d_func@CpProfileModel@@AAEPAVCpProfileModelPrivate@@XZ @ 48 NONAME ; class CpProfileModelPrivate * CpProfileModel::d_func(void)
+ ?messageVibra@CpProfileModel@@QBE_NH@Z @ 49 NONAME ; bool CpProfileModel::messageVibra(int) const
+ ?initiationFlag@CpProfileModel@@QAEHXZ @ 50 NONAME ; int CpProfileModel::initiationFlag(void)
+ ??_ECpProfileModel@@UAE@I@Z @ 51 NONAME ; CpProfileModel::~CpProfileModel(unsigned int)
+ ?ringTone@CpProfileModel@@QBE?AVQString@@H@Z @ 52 NONAME ; class QString CpProfileModel::ringTone(int) const
+ ?trUtf8@CpProfileModel@@SA?AVQString@@PBD0H@Z @ 53 NONAME ; class QString CpProfileModel::trUtf8(char const *, char const *, int)
+ ?setMessageTone@CpProfileModel@@QAEXHABVQString@@@Z @ 54 NONAME ; void CpProfileModel::setMessageTone(int, class QString const &)
+ ?setMasterVibra@CpProfileModel@@QAEX_N@Z @ 55 NONAME ; void CpProfileModel::setMasterVibra(bool)
--- a/controlpanelui/src/cpapplication/data/mainview.cpcfg Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpapplication/data/mainview.cpcfg Mon May 03 12:32:06 2010 +0300
@@ -1,6 +1,8 @@
<childplugins>
-
+ <plugin displayname = "Volume " id = "0X20028737" dll = "cpvolumeplugin.dll">
+ <desc></desc>
+ </plugin>
<plugin displayname = "Personalization" id = "0X20025FE5" dll = "cppersonalizationplugin.dll">
<desc></desc>
</plugin>
--- a/controlpanelui/src/cpapplication/src/main.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpapplication/src/main.cpp Mon May 03 12:32:06 2010 +0300
@@ -17,8 +17,12 @@
#include <hbapplication.h>
#include <hbmainwindow.h>
+#include <hbstyleloader.h>
#include <QTranslator>
+#include <QLatin1String>
+#include <QDir>
#include <cplogger.h>
+#include <cpbasepath.h>
#include "cpmainview.h"
int main(int argc, char **argv)
@@ -43,18 +47,18 @@
{
qApp->installTranslator(&translator);
}
+
+ HbStyleLoader::registerFilePath(CP_RESOURCE_PATH + QDir::separator() + WIDGETML_SUB_PATH);
HbMainWindow mainWindow;
CpMainView *mainView = new CpMainView();
-#ifdef WIN32
- mainWindow.setOrientation(Qt::Vertical);
-#endif
+
QObject::connect(mainView,SIGNAL(aboutToClose()),&app, SLOT(quit()));
mainWindow.addView(mainView);
mainWindow.show();
int ret = app.exec();
-
+
CPFW_LOG("Exiting ControlPanel.exe.");
Logger::closeAll();
@@ -62,4 +66,4 @@
return ret;
}
-//
+// End of File
--- a/controlpanelui/src/cpcategorymodel/cpcategorymodel.pri Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpcategorymodel/cpcategorymodel.pri Mon May 03 12:32:06 2010 +0300
@@ -14,8 +14,7 @@
# Description: cpframework source files
#
-HEADERS += $$PWD/src/cpbasepath.h \
- $$PWD/src/cpplaceholderitemdata.h \
+HEADERS += $$PWD/src/cpplaceholderitemdata.h \
$$PWD/src/cppluginconfigreader.h \
$$PWD/src/cputility.h
--- a/controlpanelui/src/cpcategorymodel/src/cpbasepath.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* 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 CPBASEPATH_H
-#define CPBASEPATH_H
-
-#ifdef Q_OS_SYMBIAN
- #define CP_PLUGIN_PATH QString("/resource/qt/plugins/controlpanel")
- #define CP_PLUGIN_CONFIG_PATH QString("/resource/qt/plugins/controlpanel/config")
-#else
- #ifdef _DEBUG
- #define CP_PLUGIN_PATH QString("/ControlPanel/debug/bin")
- #define CP_PLUGIN_CONFIG_PATH QString("/ControlPanel/debug/bin/config")
- #else
- #define CP_PLUGIN_PATH QString("/ControlPanel/release/bin")
- #define CP_PLUGIN_CONFIG_PATH QString("/ControlPanel/release/bin/config")
- #endif
-#endif
-
-#endif /* CPBASEPATH_H */
--- a/controlpanelui/src/cpcategorymodel/src/cpplaceholderitemdata.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpcategorymodel/src/cpplaceholderitemdata.cpp Mon May 03 12:32:06 2010 +0300
@@ -40,7 +40,6 @@
stream << "Load plugin:"
<< description()
<< " faild."
- << "this is only a placeholder."
<< "Please check:\n"
<< "1. if the dll name is correct in configuration file.\n"
<< "2 if the dll has been generated.\n"
--- a/controlpanelui/src/cpcategorymodel/src/cputility.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpcategorymodel/src/cputility.cpp Mon May 03 12:32:06 2010 +0300
@@ -18,7 +18,7 @@
#include <QString>
#include <QDir>
#include <QFileInfo>
-#include "cpbasepath.h"
+#include <cpbasepath.h>
#include <cppluginloader.h>
#include <cpplugininterface.h>
#include <cppluginplatinterface.h>
@@ -28,6 +28,34 @@
#include "cppluginconfigreader.h"
#include "cpplaceholderitemdata.h"
+
+static bool setEntryItemContentIfEmpty(CpSettingFormItemData *itemData,
+ const CpPluginConfig &pluginConfig)
+{
+ CpSettingFormEntryItemData *entryItemData = qobject_cast< CpSettingFormEntryItemData* > (itemData);
+ if (!entryItemData) {
+ return false;
+ }
+
+ if (entryItemData->text().isEmpty()) {
+ entryItemData->setText(pluginConfig.mDisplayName);
+ }
+ if (entryItemData->description().isEmpty()) {
+ entryItemData->setDescription(pluginConfig.mDescription);
+ }
+ if (entryItemData->iconName().isEmpty()) {
+ entryItemData->setIconName(
+ CP_RESOURCE_PATH
+ + QDir::separator()
+ + ICON_SUB_PATH
+ + QDir::separator()
+ + QLatin1String("qgn_prop_set_default_sub.svg") );
+ }
+
+ return true;
+}
+
+
void CpUtility::buildConfigPluginItems(HbDataFormModelItem *parent,
const QString &configFile,
CpItemDataHelper &itemDataHelper)
@@ -58,7 +86,7 @@
QList<CpSettingFormItemData*> itemDataList;
//firstly, handle CpPluginInterface
- if (CpPluginInterface *plugin = CpPluginLoader().loadCpPlugin(pluginConfig.mPluginFile)) {
+ if (CpPluginInterface *plugin = CpPluginLoader().loadCpPluginInterface(pluginConfig.mPluginFile)) {
CPFW_LOG("Load root component CpPluginInterface succeed.");
itemDataList = plugin->createSettingFormItemData(itemDataHelper);
}
@@ -76,7 +104,7 @@
CPFW_LOG(QLatin1String("Load plugin:") + pluginConfig.mPluginFile + QLatin1String(" failed."));
#ifdef _DEBUG
CPFW_LOG(QLatin1String("***Add a placeholder."));
- parent->appendChild(new CpPlaceHolderItemData(itemDataHelper,pluginConfig));
+ itemDataList.append(new CpPlaceHolderItemData(itemDataHelper,pluginConfig));
#endif
}
@@ -91,17 +119,8 @@
categoryItemData->initialize(itemDataHelper);
}
- //set the description from config if it is empty.
- if (CpSettingFormEntryItemData *cpEntryItemData
- = qobject_cast<CpSettingFormEntryItemData*>(itemData)) {
- if (cpEntryItemData->text().isEmpty()) {
- cpEntryItemData->setText(pluginConfig.mDisplayName);
- }
- if (cpEntryItemData->description().isEmpty()) {
- cpEntryItemData->setDescription(pluginConfig.mDescription);
- }
- }
-
+ //set the text and description from config if it is empty.
+ setEntryItemContentIfEmpty(itemData,pluginConfig);
}
} //end foreach
}
--- a/controlpanelui/src/cpplugins/accountsplugin/accountsplugin.pri Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# 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: controlpanel project - common qmake settings
-#
-
-HEADERS += src/cpaccountsgroup.h \
- src/cpaccountsplugin.h
-SOURCES += src/cpaccountsgroup.cpp \
- src/cpaccountsplugin.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/accountsplugin/accountsplugin.pro Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# 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:
-#
-
-TEMPLATE = lib
-TARGET = cpaccountsplugin
-
-CONFIG += hb plugin
-
-
-include ( ../cpplugincommon.pri )
-include ( accountsplugin.pri )
-
-symbian {
- TARGET.UID3 = 0x2feed8de
-}
--- a/controlpanelui/src/cpplugins/accountsplugin/src/cpaccountsgroup.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * 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:
- *
- */
-#include "cpaccountsgroup.h"
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-
-CpAccountsGroup::CpAccountsGroup(CpItemDataHelper &itemDataHelper) :
- CpSettingFormItemData(HbDataFormModelItem::GroupItem,QString("Accounts"))
-{
- Q_UNUSED(itemDataHelper);
- // Initializing the data form item of accounts group here
- // You can use CpItemDataHelper for adding connection or adding new proto type
- // For more detail information, please refer to controlpanel's wiki
-}
-CpAccountsGroup::~CpAccountsGroup()
-{
- // release resource when necessary
-}
--- a/controlpanelui/src/cpplugins/accountsplugin/src/cpaccountsgroup.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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 CPACCOUNTSGROUP_H
-#define CPACCOUNTSGROUP_H
-
-#include <cpsettingformitemdata.h>
-
-class CpSettingFormItemData;
-class CpItemDataHelper;
-
-class CpAccountsGroup : public CpSettingFormItemData
-{
- Q_OBJECT
-public:
- explicit CpAccountsGroup(CpItemDataHelper &itemDataHelper);
- ~CpAccountsGroup();
-};
-
-#endif // CPACCOUNTSGROUP_H
--- a/controlpanelui/src/cpplugins/accountsplugin/src/cpaccountsplugin.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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:
- *
- */
-#include "cpaccountsplugin.h"
-#include "cpaccountsgroup.h"
-
-CpAccountsPlugin::CpAccountsPlugin()
-{
-}
-
-CpAccountsPlugin::~CpAccountsPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpAccountsPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- return QList<CpSettingFormItemData*>() << new CpAccountsGroup(itemDataHelper);
-}
-
-Q_EXPORT_PLUGIN2(cpaccountsplugin, CpAccountsPlugin);
--- a/controlpanelui/src/cpplugins/accountsplugin/src/cpaccountsplugin.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * 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 CPACCOUNTSPLUGIN_H
-#define CPACCOUNTSPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpAccountsPlugin : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpAccountsPlugin();
- ~CpAccountsPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-#endif // CPACCOUNTSPLUGIN_H
--- a/controlpanelui/src/cpplugins/applicationsettingsplugin/applicationsettingsplugin.pri Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-
-#
-# 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: cpapplicationsettingsplugin source files
-#
-
-# Input
-HEADERS += src/cpapplicationsettingsplugin.h \
- src/cpapplicationsettingsitemdata.h
-SOURCES += src/cpapplicationsettingsplugin.cpp \
- src/cpapplicationsettingsitemdata.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/applicationsettingsplugin/applicationsettingsplugin.pro Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# 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:
-#
-
-
-TEMPLATE = lib
-TARGET = cpapplicationsettingsplugin
-
-CONFIG += hb plugin
-
-include ( ../cpplugincommon.pri )
-include ( applicationsettingsplugin.pri )
-
-symbian {
- TARGET.UID3 = 0x20025FDC
-}
-
-symbian {
- deploy.path = C:
- headers.sources = data/cpapplicationsettingsplugin.cpcfg
- headers.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += exportheaders
-
- # This is for new exporting system coming in garden
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-}
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/applicationsettingsplugin/data/cpapplicationsettingsplugin.cpcfg Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-
-<childplugins>
- <plugin displayname = "Messaging" id = "0x2001FE74" dll = "msgsettingsplugin.dll">
- <desc>Message settings</desc>
- </plugin>
- <plugin displayname = "Calendar" id = "0x2002B338" dll = "calensettingsplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = Mail" id = "0x2002BCF6" dll = "nmailcpplugin.dll">
- <desc></desc>
- </plugin>
-
- <plugin displayname = "Application 1" id = "0X20025FE8" dll = "cpplaceholderplugin.dll">
- <desc></desc>
- </plugin>
-
- <plugin displayname = "3rd party application settings" id = "0xEef7e3ec" dll = "cp3rdpartyappsettingsplugin.dll">
- <desc></desc>
- </plugin>
-
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/applicationsettingsplugin/src/cpapplicationsettingsitemdata.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * 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:
- *
- */
-#include "cpapplicationsettingsitemdata.h"
-#include <QString>
-#include <QtAlgorithms>
-//#include <cppluginloader.h>
-#include <cpplugininterface.h>
-#include <cpsettingformentryitemdata.h>
-
-CpApplicationSettingsItemData::CpApplicationSettingsItemData()
-: CpCategorySettingFormItemData(HbDataFormModelItem::GroupItem,
- tr("Application Settings"),
- QString("cpapplicationsettingsplugin.cpcfg"))
-{
-}
-
-CpApplicationSettingsItemData::~CpApplicationSettingsItemData()
-{
-}
-
-/*
-struct ItemDataNameLessThan
-{
- bool operator() (CpSettingFormItemData *left,CpSettingFormItemData *right) const {
- QString leftName;
- if (CpSettingFormEntryItemData *leftEntry = qobject_cast<CpSettingFormEntryItemData*>(left)) {
- leftName = leftEntry->text();
- }
- else {
- leftName = left->label();
- }
-
- QString rightName;
- if (CpSettingFormEntryItemData *rightEntry = qobject_cast<CpSettingFormEntryItemData*>(right)) {
- rightName = rightEntry->text();
- }
- else {
- rightName = right->label();
- }
-
- return leftName.compare(rightName,Qt::CaseInsensitive) < 0;
- }
-};
-*/
-
-void CpApplicationSettingsItemData::afterLoadingConfigPlugins(CpItemDataHelper &/*itemDataHelper*/)
-{
- /*
- QList<CpSettingFormItemData*> allItemData;
-
- QList<CpPluginInterface*> appplugins = CpPluginLoader::loadApplicationCpPlugins();
- foreach (CpPluginInterface *plugin, appplugins) {
- allItemData += plugin->createSettingFormItemData(itemDataHelper);
- }
-
- //sort by name
- qSort(allItemData.begin(),allItemData.end(),ItemDataNameLessThan());
-
- foreach(CpSettingFormItemData *itemData,allItemData) {
- appendChild(itemData);
- }
- */
-}
-
-// End of File
--- a/controlpanelui/src/cpplugins/applicationsettingsplugin/src/cpapplicationsettingsitemdata.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * 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 CPAPPLICATIONSETTINGSITEMDATA_H
-#define CPAPPLICATIONSETTINGSITEMDATA_H
-
-#include <cpcategorysettingformitemdata.h>
-
-class CpApplicationSettingsItemData : public CpCategorySettingFormItemData
-{
- Q_OBJECT
-public:
- CpApplicationSettingsItemData();
- virtual ~CpApplicationSettingsItemData();
-private:
- virtual void afterLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
-};
-
-#endif //CPAPPLICATIONSETTINGSITEMDATA_H
-
-//End of File
--- a/controlpanelui/src/cpplugins/applicationsettingsplugin/src/cpapplicationsettingsplugin.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * 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:
- *
- */
-
-#include "cpapplicationsettingsplugin.h"
-#include "cpapplicationsettingsitemdata.h"
-
-CpApplicationSettingsPlugin::CpApplicationSettingsPlugin()
-{
-}
-
-CpApplicationSettingsPlugin::~CpApplicationSettingsPlugin()
-{
-}
-
-
-QList<CpSettingFormItemData*> CpApplicationSettingsPlugin::createSettingFormItemData(CpItemDataHelper &/*itemDataHelper*/) const
-{
- return QList<CpSettingFormItemData*>() << new CpApplicationSettingsItemData();
-}
-
-Q_EXPORT_PLUGIN2(cpapplicationsettingsplugin, CpApplicationSettingsPlugin);
--- a/controlpanelui/src/cpplugins/applicationsettingsplugin/src/cpapplicationsettingsplugin.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * 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 CPAPPLICATIONSETTINGSPLUGIN_H
-#define CPAPPLICATIONSETTINGSPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpApplicationSettingsPlugin
- : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpApplicationSettingsPlugin();
- virtual ~CpApplicationSettingsPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif /* CPAPPLICATIONSETTINGSPLUGIN_H */
--- a/controlpanelui/src/cpplugins/communicationplugin/data/cpcommunicationplugin.cpcfg Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/communicationplugin/data/cpcommunicationplugin.cpcfg Mon May 03 12:32:06 2010 +0300
@@ -7,7 +7,7 @@
<plugin displayname = "WLAN" id = "0x2002BCE0" dll = "cpwlanentryplugin.dll">
<desc>WLAN status</desc>
</plugin>
- <plugin displayname = "Bluetooth" id = "0X20025FE8" dll = "cpplaceholderplugin.dll">
+ <plugin displayname = "Bluetooth" id = "0x2002434E" dll = "btcpplugin.dll">
<desc>Status text</desc>
</plugin>
<plugin displayname = "Telephony" id = "0X20029F23" dll = "cptelephonyplugin.dll">
--- a/controlpanelui/src/cpplugins/cpplugins.pro Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/cpplugins.pro Mon May 03 12:32:06 2010 +0300
@@ -20,9 +20,12 @@
privacyplugin \
personalizationplugin \
lookfeelplugin \
- keytouchfdbkplugin \
- pincodeplugin \
- devicelockplugin
+ pincodeplugin \
+ devicelockplugin \
+ profileactivatorplugin \
+ volumeplugin \
+ ringtoneplugin
+ #keytouchfdbkplugin \
#displayplugin \
#applicationsettingsplugin \
#accountsplugin
--- a/controlpanelui/src/cpplugins/displayplugin/displayplugin.pri Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-#
-# 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: display plugin source files
-#
-
-# Input
-HEADERS += src/cpdisplayplugin.h \
- src/cpdisplayview.h \
- src/cpdisplaymodel.h
-
-SOURCES += src/cpdisplayplugin.cpp \
- src/cpdisplayview.cpp \
- src/cpdisplaymodel.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/displayplugin/displayplugin.pro Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#
-# 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:
-#
-
-TEMPLATE = lib
-TARGET = cpdisplayplugin
-
-CONFIG += hb plugin
-
-
-include ( ../cpplugincommon.pri )
-include ( displayplugin.pri )
-
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
- $$MOC_DIR
- HEADERS += src/cpdisplaymodel_p.h
- SOURCES += src/cpdisplaymodel_p.cpp
-
- LIBS += -lcentralrepository \
- -lfeatmgr
- TARGET.UID3 = 0X20028735
- TARGET.CAPABILITY = All -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplaymodel.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
- * 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:
- *
- */
-
-
-#include "cpdisplaymodel.h"
-
-#ifdef Q_OS_SYMBIAN
-#include "cpdisplaymodel_p.h"
-#endif
-
-#include <qglobal.h>
-
-CpDisplayModel::CpDisplayModel()
-{
-#ifdef Q_OS_SYMBIAN
- ptr = new CpDisplayModelPrivate();
-#endif
-}
-
-CpDisplayModel::~CpDisplayModel()
-{
-#ifdef Q_OS_SYMBIAN
- delete ptr;
- ptr = 0;
-#endif
-}
-
-bool CpDisplayModel::isKeyguardSupported()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->isKeyguardSupported();
-#else
- return 0;
-#endif
-}
-
-int CpDisplayModel::keyguard()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->keyguard();
-#else
- return 0;
-#endif
-}
-
-void CpDisplayModel::setKeyguard(int value)
-{
-#ifdef Q_OS_SYMBIAN
- ptr->setKeyguard(value);
-#else
- Q_UNUSED(value);
-#endif
-}
-
-bool CpDisplayModel::isBacklightSupported()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->isBacklightSupported();
-#else
- return false;
-#endif
-}
-
-int CpDisplayModel::backlight()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->backlight();
-#else
- return 0;
-#endif
-}
-
-void CpDisplayModel::setBacklight(int value)
-{
-#ifdef Q_OS_SYMBIAN
- ptr->setBacklight(value);
-#else
- Q_UNUSED(value);
-#endif
-}
-
-bool CpDisplayModel::isBrightnessSupported()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->isBrightnessSupported();
-#else
- return false;
-#endif
-}
-
-int CpDisplayModel::brightness()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->brightness();
-#else
- return 0;
-#endif
-}
-
-void CpDisplayModel::setBrightness(int value)
-{
-#ifdef Q_OS_SYMBIAN
- ptr->setBrightness(value);
-#else
- Q_UNUSED(value);
-#endif
-}
-
-// End of the file
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplaymodel.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * 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 CPDISPLAYMODEL_H
-#define CPDISPLAYMODEL_H
-
-class CpDisplayModelPrivate;
-
-class CpDisplayModel
- {
-public:
- CpDisplayModel();
- ~CpDisplayModel();
-
-public:
- bool isKeyguardSupported();
- int keyguard();
- void setKeyguard(int value);
- bool isBacklightSupported();
- int backlight();
- void setBacklight(int value);
- bool isBrightnessSupported();
- int brightness();
- void setBrightness(int value);
-
-private:
- CpDisplayModelPrivate* ptr;
- };
-
-#endif
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplaymodel_p.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * 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:
- *
- */
-
-#include "cpdisplaymodel_p.h"
-#include <qglobal.h>
-#include <e32base.h>
-#include <hal.h>
-#include <centralrepository.h>
-#include <settingsinternalcrkeys.h> // KCRUidSecuritySettings
-#include <hwrmlightdomaincrkeys.h> // KCRUidLightSettings
-#include <featmgr.h>
-
-CpDisplayModelPrivate::CpDisplayModelPrivate()
-{
- mLightCenRep = CRepository::NewL( KCRUidLightSettings );
- mSecurityCenRep = CRepository::NewL( KCRUidSecuritySettings );
-}
-
-CpDisplayModelPrivate::~CpDisplayModelPrivate()
-{
- delete mLightCenRep;
- mLightCenRep = 0;
-
- delete mSecurityCenRep;
- mSecurityCenRep = 0;
-}
-
-bool CpDisplayModelPrivate::isKeyguardSupported()
-{
- return true;
-}
-
-int CpDisplayModelPrivate::keyguard()
-{
- int period = 0;
-
- if ( mSecurityCenRep->
- Get( KSettingsAutomaticKeyguardTime, period ) != KErrNone ){
- period = 60;
- mSecurityCenRep->Set( KSettingsAutomaticKeyguardTime, period );
- }
-
- return period/5;
-}
-
-void CpDisplayModelPrivate::setKeyguard(int value)
-{
- value *= 5;
- mSecurityCenRep->Set( KSettingsAutomaticKeyguardTime, value );
-}
-
-bool CpDisplayModelPrivate::isBacklightSupported()
-{
- return true;
-}
-
-int CpDisplayModelPrivate::backlight()
-{
- int time = 0;
- mLightCenRep->Get( KDisplayLightsTimeout, time );
- return time/5;
-}
-
-void CpDisplayModelPrivate::setBacklight(int value)
-{
- value *=5;
- mLightCenRep->Set( KDisplayLightsTimeout, value );
-}
-
-bool CpDisplayModelPrivate::isBrightnessSupported()
-{
- if ( FeatureManager::FeatureSupported( KFeatureIdBrightnessControl ) ){
- return true;
- } else {
- return false;
- }
-}
-
-int CpDisplayModelPrivate::brightness()
-{
- int time = 0;
- mLightCenRep->Get( KLightIntensity, time );
- return time;
-}
-
-void CpDisplayModelPrivate::setBrightness(int value)
-{
- mLightCenRep->Set( KLightIntensity, value );
-}
-
-// End of the file
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplaymodel_p.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * 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 CPDISPLAYMODEL_P_H
-#define CPDISPLAYMODEL_P_H
-
-class CRepository;
-
-class CpDisplayModelPrivate
- {
-public:
- CpDisplayModelPrivate();
- ~CpDisplayModelPrivate();
-
-public:
- int keyguard();
- bool isKeyguardSupported();
- void setKeyguard(int value);
- bool isBacklightSupported();
- int backlight();
- void setBacklight(int value);
- bool isBrightnessSupported();
- int brightness();
- void setBrightness(int value);
-
-private:
- CRepository* mLightCenRep;
- CRepository* mSecurityCenRep;
- };
-
-#endif
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplayplugin.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * 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:
- *
- */
-#include "cpdisplayplugin.h"
-#include "cpdisplayview.h"
-#include <cpsettingformentryitemdataimpl.h>
-
-CpDisplayPlugin::CpDisplayPlugin()
-{
-}
-
-CpDisplayPlugin::~CpDisplayPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpDisplayPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- CpSettingFormItemData* itemData = 0;
- CpDisplayView* view = new CpDisplayView();
- if ( view->isHidden() ){ // If there is no any items in the view, the view should be hidden.
- itemData = 0;
- } else {
- itemData = new CpSettingFormEntryItemDataImpl<CpDisplayView>(
- itemDataHelper,
- tr("Display "),
- "");
- }
- delete view;
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cpdisplayplugin, CpDisplayPlugin);
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplayplugin.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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 CPDISPLAYPLUGIN_H
-#define CPDISPLAYPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpDisplayPlugin : public QObject, public CpPluginInterface
-{
-Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpDisplayPlugin();
- virtual ~CpDisplayPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPDISPLAYPLUGIN_H
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplayview.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
- * 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:
- *
- */
-
-#include "cpdisplayview.h"
-#include "cpdisplaymodel.h"
-#include <hbdataform.h>
-#include <qstringlist>
-#include <QDebug>
-#include <hbdataformmodel.h>
-#include <cpsettingformitemdata.h>
-#include <hbmessagebox.h>
-
-
-CpDisplayView::CpDisplayView(QGraphicsItem *parent) :
- CpBaseSettingView(0,parent),
- mScreenRadioButton(0),
- mDisplayRadioButton(0),
- mBrightSliderItem(0),
- mModel(0)
-{
- HbDataForm *form = settingForm();
- if (form) {
- form->setHeading(tr("Display"));
- mModel = new CpDisplayModel();
- HbDataFormModel *model = new HbDataFormModel;
-
- bool screen = false;
- bool backlight = false;
- bool brightness = false;
- if ( mModel->isKeyguardSupported() ) {
- makeScreenItem(model);
- screen = true;
- }
-
- if ( mModel->isBacklightSupported() ) {
- makeBacklightItem(model);
- backlight = true;
- }
-
- if ( mModel->isBrightnessSupported() ) {
- makeBrightnessItem(model);
- brightness = true;
- }
-
- if ( screen || backlight || brightness ){
- mIsHidden = false;
- } else {
- mIsHidden = true;
- }
-
- settingForm()->setModel(model);
- }
-}
-
-bool CpDisplayView::isHidden()
-{
- return mIsHidden;
-}
-
-void CpDisplayView::makeScreenItem(HbDataFormModel* model)
-{
- mScreenRadioButton = new CpSettingFormItemData(HbDataFormModelItem::RadioButtonListItem,
- QString("Keys & screen locked after"));
- settingForm()->addConnection(mScreenRadioButton,SIGNAL(itemSelected(int)),this,SLOT(ScreenValueChanged(int)));
- model->appendDataFormItem(mScreenRadioButton, model->invisibleRootItem());
-
- QStringList sList;
- sList<< "0 seconds"<< "5 seconds"<< "10 seconds"<< "15 seconds"<< "20 seconds"<< "25 seconds";
- mScreenRadioButton->setContentWidgetData( QString("items"), sList );
- mScreenRadioButton->setContentWidgetData( QString("selected"), mModel->keyguard() );
-}
-
-void CpDisplayView::makeBacklightItem(HbDataFormModel* model)
-{
- mDisplayRadioButton = new CpSettingFormItemData(HbDataFormModelItem::RadioButtonListItem,
- QString("Display dimmed after"));
- settingForm()->addConnection(mDisplayRadioButton,SIGNAL(itemSelected(int)),this,SLOT(DisplayValueChanged(int)));
- model->appendDataFormItem(mDisplayRadioButton, model->invisibleRootItem());
-
- QStringList sList;
- sList<< "0 seconds"<< "5 seconds"<< "10 seconds"<< "15 seconds"<< "20 seconds"<< "25 seconds";
- mDisplayRadioButton->setContentWidgetData( QString("items"), sList );
- mDisplayRadioButton->setContentWidgetData( QString("selected"), mModel->backlight() );
-}
-
-void CpDisplayView::makeBrightnessItem(HbDataFormModel* model)
-{
- mBrightSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem,
- QString("Brightness"));
- settingForm()->addConnection(mBrightSliderItem,SIGNAL(valueChanged(int)),this,SLOT(BrightValueChanged(int)));
- model->appendDataFormItem(mBrightSliderItem, model->invisibleRootItem());
-
- mBrightSliderItem->setContentWidgetData( QString("value"), mModel->brightness() );
- mBrightSliderItem->setContentWidgetData( QString("minimum"), 0 );
- mBrightSliderItem->setContentWidgetData( QString("maximum"), 100 );
-}
-
-CpDisplayView::~CpDisplayView()
-{
- delete mModel;
- mModel = 0;
-}
-
-void CpDisplayView::ScreenValueChanged(int value)
-{
- mModel->setKeyguard(value);
-}
-
-void CpDisplayView::DisplayValueChanged(int value)
-{
- mModel->setBacklight(value);
-}
-
-void CpDisplayView::BrightValueChanged(int value)
-{
- mModel->setBrightness(value);
-}
-
-
--- a/controlpanelui/src/cpplugins/displayplugin/src/cpdisplayview.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * 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 CPDISPLAYVIEW_H
-#define CPDISPLAYVIEW_H
-
-#include <cpbasesettingview.h>
-
-class HbDataFormModelItem;
-class HbDataFormModel;
-class CpSettingFormItemData;
-class CpDisplayModel;
-
-class CpDisplayView : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit CpDisplayView(QGraphicsItem *parent = 0);
- virtual ~CpDisplayView();
-
-private:
- void makeScreenItem(HbDataFormModel* model);
- void makeBacklightItem(HbDataFormModel* model);
- void makeBrightnessItem(HbDataFormModel* model);
-
-public:
- bool isHidden();
-
-private slots:
- //need handling your member's value change
- void ScreenValueChanged(int value);
- void DisplayValueChanged(int value);
- void BrightValueChanged(int value);
-
-private:
- CpSettingFormItemData *mScreenRadioButton;
- CpSettingFormItemData *mDisplayRadioButton;
- CpSettingFormItemData *mBrightSliderItem;
- CpDisplayModel* mModel;
- bool mIsHidden;
-
-};
-#endif// CPDISPLAYVIEW_H
--- a/controlpanelui/src/cpplugins/personalizationplugin/data/cppersonalizationplugin.cpcfg Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/personalizationplugin/data/cppersonalizationplugin.cpcfg Mon May 03 12:32:06 2010 +0300
@@ -1,2 +1,9 @@
<childplugins>
+ <plugin displayname = "Ring tone" id = "0X20028738" dll = "cpringtoneplugin.dll">
+ <desc></desc>
+ </plugin>
+ <plugin displayname = "Profile" id = "0X20028739" dll = "cpprofileactivator.dll">
+ <desc></desc>
+ </plugin>
+
</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/personalizationplugin/personalizationplugin.pri Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/personalizationplugin/personalizationplugin.pri Mon May 03 12:32:06 2010 +0300
@@ -18,17 +18,15 @@
HEADERS += src/cppersonalizationplugin.h \
src/cppersonalizationgroupitemdata.h \
src/cpmastervolumeslider.h \
- src/cppersonalizationcustomviewitem.h \
- src/cpmastervolumevaluecontroller.h \
- src/cpprofilesgroupitemdata.h \
- src/cpprofilesettingform.h \
- src/cppersonalizationentryitemdata.h
+ src/cpprofilesettingform.h \
+ src/cppersonalizationentryitemdata.h \
+ src/cppersonalizationadvanceview.h \
+ src/cpprofilenameeditdialog.h \
SOURCES += src/cppersonalizationplugin.cpp \
src/cppersonalizationgroupitemdata.cpp \
src/cpmastervolumeslider.cpp \
- src/cppersonalizationcustomviewitem.cpp \
- src/cpmastervolumevaluecontroller.cpp \
- src/cpprofilesgroupitemdata.cpp \
- src/cpprofilesettingform.cpp \
- src/cppersonalizationentryitemdata.cpp
+ src/cpprofilesettingform.cpp \
+ src/cppersonalizationentryitemdata.cpp \
+ src/cppersonalizationadvanceview.cpp \
+ src/cpprofilenameeditdialog.cpp \
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpmastervolumevaluecontroller.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-
-/*
- * 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:
- *
- */
-
-#include "cpmastervolumevaluecontroller.h"
-#include <cpitemdatahelper.h>
-#include <hbdataformmodelitem.h>
-
-#ifdef Q_OS_SYMBIAN
- #include <cpprofilemodel.h>
-#endif
-
-CpMasterVolumeValueController::CpMasterVolumeValueController(CpProfileModel *profileModel,
- HbDataFormModelItem *masterVolumeItem,
- CpItemDataHelper &itemDataHelper,
- HbDataFormModelItem *profileItem)
- : mProfileModel(profileModel),
- mMasterVolumeItem(masterVolumeItem),
- mProfileItem(profileItem)
-{
- //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(beepActivated()),this,SLOT(onBeepActivated()));
- itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(silentActivated()),this,SLOT(onSilentActivated()));
- itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(normalValueChanged(int)),this,SLOT(onNormalValueChanged(int)));
- updateMasterVolumeValue();
-}
-
-CpMasterVolumeValueController::~CpMasterVolumeValueController()
-{
-
-}
-
-/*void CpMasterVolumeValueController::onBeepActivated()
-{
-#ifdef Q_OS_SYMBIAN
- mProfileModel->activateBeep();
-#endif
-}*/
-
-void CpMasterVolumeValueController::onSilentActivated()
-{
-#ifdef Q_OS_SYMBIAN
- //mProfileModel->activateSilent();
- int err = mProfileModel->activateProfile(EProfileWrapperSilentId);
- if (err == KErrNone) {
- //update the radio buttonlist of profile
- mProfileItem->setContentWidgetData("selected",2);
- //mMasterVolumeItem->setContentWidgetData("value",0);
- //mMasterVolumeItem->setContentWidgetData("enabled",false);
- updateMasterVolumeValue();
- }
-#endif
-}
-
-void CpMasterVolumeValueController::onNormalValueChanged(int value)
-{
-#ifdef Q_OS_SYMBIAN
- mProfileModel->setRingVolume(value);
-#endif
-}
-
-void CpMasterVolumeValueController::updateMasterVolumeValue()
-{
-#ifdef Q_OS_SYMBIAN
- /*if (mProfileModel->isBeep()) {
- mMasterVolumeItem->setContentWidgetData(QString("value"),QVariant(1));
- }
- else*/
- if (mProfileModel->isSilent()) {
- mMasterVolumeItem->setContentWidgetData(QString("value"),QVariant(0));
-
- mMasterVolumeItem->setEnabled(false);
- }
- else {
- mMasterVolumeItem->setContentWidgetData(QString("value"),QVariant(mProfileModel->ringVolume()));
- }
-#endif
-}
-
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpmastervolumevaluecontroller.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * 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 CPMASTERVOLUMEVALUECONTROLLER_H
-#define CPMASTERVOLUMEVALUECONTROLLER_H
-
-#include <QObject>
-
-class CpProfileModel;
-class HbDataFormModelItem;
-class CpItemDataHelper;
-
-class CpMasterVolumeValueController : public QObject
-{
- Q_OBJECT
-public:
- CpMasterVolumeValueController(CpProfileModel *profileModel,
- HbDataFormModelItem *masterVolumeItem,
- CpItemDataHelper &itemDataHelper,
- HbDataFormModelItem *profileItem);
- virtual ~CpMasterVolumeValueController();
-private slots:
- //void onBeepActivated();
- void onSilentActivated();
- void onNormalValueChanged(int value);
-private:
- void updateMasterVolumeValue();
-private:
- CpProfileModel *mProfileModel;
- HbDataFormModelItem *mMasterVolumeItem;
- HbDataFormModelItem *mProfileItem;
-};
-
-#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,61 @@
+/*
+ * 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:
+ *
+ */
+#include "cppersonalizationadvanceview.h"
+#include <cpcategorysettingformitemdata.h>
+#include <cpitemdatahelper.h>
+/*#include <hbdataformmodel.h>
+#include <hbdataform.h>
+#include <hblineedit.h>
+#include <hbdataformmodelitem.h>
+*/
+#include "cpprofilesettingform.h"
+#include "cpprofilenameeditdialog.h"
+
+#include <hbaction.h>
+#include <hbmenu.h>
+CpPersonalizationAdvanceView::CpPersonalizationAdvanceView(QGraphicsItem *parent /*=0*/):
+ CpBaseSettingView(0,parent)
+{
+ // 1.init the dataform for advance settings here
+ // 2.please modify the cpprofilesettingform.h/ cpp according to current ui spec
+ // 3.NOTICE! you can get controlpanel's text map from the controlpanel ui wiki, use current text id for strings
+ // 4.use cppersonalizationentryitemdata class to create ringtone, message tone...
+ // 5.ignore cpmastervolumeslider class, please use default slideritem to create keyandscreen slider, new property added in slider, if any question, please contact me.
+ // 6. don't forget the cfg file in data folder, you can try to add the profile activator plugin and ringtone plugin here
+ setSettingForm( new CpProfileSettingForm() );
+ initMenu();
+}
+CpPersonalizationAdvanceView::~CpPersonalizationAdvanceView()
+{
+
+}
+
+void CpPersonalizationAdvanceView::initMenu()
+{
+ HbAction *editNameAction = new HbAction( this );
+ editNameAction->setObjectName( "editNameAction" );
+ editNameAction->setText( hbTrId( "txt_cp_list_edit_name" ) );
+
+ menu()->addAction( editNameAction );
+ connect( editNameAction, SIGNAL( triggered() ), this, SLOT( on_editNameAction_triggered() ));
+}
+
+void CpPersonalizationAdvanceView::on_editNameAction_triggered()
+{
+ QString string = QString( "general" );
+ bool ret = CpProfileNameEditDialog::launchProfileNameEditDialog( string );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,37 @@
+/*
+ * 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 CPPERSONALIZATIONADVANCEVIEW_H
+#define CPPERSONALIZATIONADVANCEVIEW_H
+
+#include <cpbasesettingview.h>
+class CpItemDataHelper;
+
+class CpPersonalizationAdvanceView: public CpBaseSettingView
+{
+ Q_OBJECT
+public:
+ explicit CpPersonalizationAdvanceView(QGraphicsItem *parent = 0);
+ ~CpPersonalizationAdvanceView();
+
+private slots:
+ void on_editNameAction_triggered();
+
+private:
+ void initMenu();
+};
+#endif
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationcustomviewitem.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
- * 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:
- *
- */
-
-#include "cppersonalizationcustomviewitem.h"
-#include "cpmastervolumeslider.h"
-#include <hbdataformmodelitem.h>
-#include <hbdataformmodel.h>
-#include <hbabstractitemview.h>
-#include <QMetaProperty>
-
-CpPersonalizationCustomViewItem::CpPersonalizationCustomViewItem(QGraphicsItem *parent )
- : HbDataFormViewItem(parent)
-{
-}
-CpPersonalizationCustomViewItem::~CpPersonalizationCustomViewItem()
-{
-}
-HbAbstractViewItem* CpPersonalizationCustomViewItem::createItem()
-{
- return new CpPersonalizationCustomViewItem(*this);
-}
-bool CpPersonalizationCustomViewItem::canSetModelIndex(const QModelIndex &index) const
-{
- int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
- if (type == MasterVolumeSliderItem) {
- return true;
- }
- else {
- return false;
- }
-}
-
-HbWidget *CpPersonalizationCustomViewItem::createCustomWidget()
-{
- int type = modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt();
- if (type == MasterVolumeSliderItem) {
- CpMasterVolumeSlider *masterVolumeSlider = new CpMasterVolumeSlider();
- connect(masterVolumeSlider, SIGNAL(valueChanged(int)), this, SLOT(store()));
- mWidget = masterVolumeSlider;
- return masterVolumeSlider;
- }
- else {
- return 0;
- }
-}
-
-void CpPersonalizationCustomViewItem::load()
-{
- HbDataFormViewItem::load();
- if (mWidget) {
- HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType == MasterVolumeSliderItem) {
-
- QModelIndex itemIndex = modelIndex();
- HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
- HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
- model->itemFromIndex(itemIndex));
-
- const QMetaObject *metaObj = mWidget->metaObject();
- int count = metaObj->propertyCount();
- for (int i = 0; i < count; i++) {
- QMetaProperty metaProperty = metaObj->property(i);
- if (metaProperty.isValid() && metaProperty.isWritable()) {
- metaProperty.write(mWidget,modelItem->contentWidgetData(metaProperty.name()));
- }
-
- }
- }
- }
-}
-
-void CpPersonalizationCustomViewItem::store()
-{
- HbDataFormViewItem::store();
- if (mWidget) {
- HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType == MasterVolumeSliderItem) {
-
- QModelIndex itemIndex = modelIndex();
- HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
- HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
- model->itemFromIndex(itemIndex));
- if (CpMasterVolumeSlider *slider = qobject_cast<CpMasterVolumeSlider *>(mWidget)) {
- modelItem->setContentWidgetData("value",slider->value());
- }
-
- }
- }
-}
-
-void CpPersonalizationCustomViewItem::onValueChanged(int value)
-{
- HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType == MasterVolumeSliderItem) {
-
- QModelIndex itemIndex = modelIndex();
- HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
- HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
- model->itemFromIndex(itemIndex));
- modelItem->setContentWidgetData("value",value);
- }
-}
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationcustomviewitem.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * 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 CP_PERSONALIZATION_CUSTOMVIEWITEM_H
-#define CP_PERSONALIZATION_CUSTOMVIEWITEM_H
-
-#include <hbdataformviewitem.h>
-#include <hbdataformmodelitem.h>
-
-class HbWidget;
-
-const int MasterVolumeSliderItem = HbDataFormModelItem::CustomItemBase+21;
-
-class CpPersonalizationCustomViewItem: public HbDataFormViewItem
-{
- Q_OBJECT
-public:
- explicit CpPersonalizationCustomViewItem(QGraphicsItem *parent = 0);
- ~CpPersonalizationCustomViewItem();
- virtual HbAbstractViewItem* createItem();
- virtual bool canSetModelIndex(const QModelIndex &index) const;
-public slots:
- virtual void load();
- virtual void store();
-private slots:
- void onValueChanged(int value);
-protected:
- virtual HbWidget* createCustomWidget();
-private:
- HbWidget *mWidget;
-};
-#endif
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationgroupitemdata.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationgroupitemdata.cpp Mon May 03 12:32:06 2010 +0300
@@ -15,115 +15,46 @@
*
*/
#include "cppersonalizationgroupitemdata.h"
+#include <cplogger.h>
#include <hbdataformmodelitem.h>
#include <cpsettingformentryitemdataimpl.h>
#include <cpbasesettingview.h>
#include <cpitemdatahelper.h>
#include <hbmessagebox.h>
-#include "cppersonalizationcustomviewitem.h"
-#include "cpmastervolumevaluecontroller.h"
#include <cpprofilemodel.h>
+#include "cppersonalizationadvanceview.h"
+#include "cppersonalizationentryitemdata.h"
CpPersonalizationGroupItemData::CpPersonalizationGroupItemData(HbDataFormModelItem::DataItemType type,
const QString &label,
const QString &configFile,
const HbDataFormModelItem *parent):
- CpCategorySettingFormItemData(type, label, configFile, parent),
- mMasterVolume(0),
- mMasterVibra(0),
- mRingTone(0),
- mMessageTone(0),
- mEmailTone(0),
- mReminderTone(0),
- mClockTone(0),
- mSayCallerName(0),
- mProfileModel(0),
- mMasterVolumeValueController(0)
+ CpCategorySettingFormItemData(type, label, configFile, parent)
+
{
- mProfileModel = new CpProfileModel();
+ CPFW_LOG("CpPersonalizationGroupItemData::CpPersonalizationGroupItemData(), START");
+ CPFW_LOG("CpPersonalizationGroupItemData::CpPersonalizationGroupItemData(), END");
}
CpPersonalizationGroupItemData::~CpPersonalizationGroupItemData()
{
- delete mProfileModel;
- delete mMasterVolumeValueController;
}
void CpPersonalizationGroupItemData::beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper)
{
- /*
- itemDataHelper.addItemPrototype(new CpPersonalizationCustomViewItem);
- mMasterVolume = new HbDataFormModelItem(static_cast<HbDataFormModelItem::DataItemType>(MasterVolumeSliderItem));
- mMasterVolumeValueController = new CpMasterVolumeValueController(mProfileModel,mMasterVolume,itemDataHelper);
-
- //mMasterVolume->setContentWidgetData("maxmum",10);
- //mMasterVolume->setContentWidgetData("minmum",1);
- //itemDataHelper.addConnection(mMasterVolume,SIGNAL(valueChanged (int)),this,SLOT(masterVolumeValueChanged(int)) );
- this->appendChild(mMasterVolume);
- mMasterVibra = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem,
- QString());
- mMasterVibra->setContentWidgetData("text",QObject::tr("Vibrating alerts"));
- itemDataHelper.addConnection(mMasterVibra,SIGNAL(stateChanged(int)),this,SLOT(onVibraValueChange(int)));
-
-
- if (mProfileModel->vibraStatus()) {
- mMasterVibra->setContentWidgetData("checkState", Qt::Checked);
- }
- else {
- mMasterVibra->setContentWidgetData("checkState", Qt::Unchecked);
- }
-
- this->appendChild(mMasterVibra);
-
- */
-
+ // keep this interface for development in the futrue
+ CPFW_LOG("CpPersonalizationGroupItemData::beforeLoadingConfigPlugins(), START");
- mRingTone = new CpSettingFormEntryItemDataImpl<CpBaseSettingView>(itemDataHelper,
- tr("Ring tone"),
- tr("Nokia tone"));
- this->appendChild(mRingTone);
-
- /*mSayCallerName = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem, QString());
- mSayCallerName->setContentWidgetData("text", tr("Say caller's name"));
- this->appendChild(mSayCallerName);*/
-
-
- mMessageTone = new CpSettingFormEntryItemDataImpl<CpBaseSettingView>(itemDataHelper,
- tr("Message tone"),
- tr("Nokia message tone"));
- this->appendChild(mMessageTone);
- mEmailTone = new CpSettingFormEntryItemDataImpl<CpBaseSettingView>(itemDataHelper,
- tr("E-mail tone"),
- tr("Nokia e-mail tone"));
- this->appendChild(mEmailTone);
- mReminderTone = new CpSettingFormEntryItemDataImpl<CpBaseSettingView>(itemDataHelper,
- tr("Reminder tone"),
- tr("Nokia calendar tone"));
- this->appendChild(mReminderTone);
- mClockTone = new CpSettingFormEntryItemDataImpl<CpBaseSettingView>(itemDataHelper,
- tr("Clock tone"),
- tr("Nokia clock tone"));
- this->appendChild(mClockTone);
-
-
+ CPFW_LOG("CpPersonalizationGroupItemData::beforeLoadingConfigPlugins(), END");
+}
+void CpPersonalizationGroupItemData::afterLoadingConfigPlugins(CpItemDataHelper &itemDataHelper)
+{
+ CPFW_LOG("CpPersonalizationGroupItemData::afterLoadingConfigPlugins(), START");
+ CpSettingFormEntryItemData *advanceSettingItem =
+ new CpSettingFormEntryItemDataImpl<CpPersonalizationAdvanceView>(itemDataHelper, hbTrId("txt_cp_button_advanced_settings"));
+ appendChild(advanceSettingItem);
+ CPFW_LOG("CpPersonalizationGroupItemData::afterLoadingConfigPlugins(), END");
}
-void CpPersonalizationGroupItemData::masterVolumeValueChanged(int value)
-{
- Q_UNUSED(value);
- HbMessageBox::information(QString("volume changed to:%1").arg(value));
-}
-void CpPersonalizationGroupItemData::onVibraValueChange(int isVibra)
-{
- //Q_UNUSED(isVibra);
- if (isVibra) {
- mProfileModel->setVibraStatus(true);
- }
- else {
- mProfileModel->setVibraStatus(false);
- }
-}
-
-
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationgroupitemdata.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationgroupitemdata.h Mon May 03 12:32:06 2010 +0300
@@ -35,22 +35,12 @@
const HbDataFormModelItem *parent = 0);
~CpPersonalizationGroupItemData();
-private slots:
- void masterVolumeValueChanged(int value);
- void onVibraValueChange(int isVibra);
+//private slots:
+ //void masterVolumeValueChanged(int value);
+// void onVibraValueChange(int isVibra);
private:
virtual void beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
-private:
- HbDataFormModelItem *mMasterVolume;
- HbDataFormModelItem *mMasterVibra;
- CpSettingFormEntryItemData *mRingTone;
- CpSettingFormEntryItemData *mMessageTone;
- CpSettingFormEntryItemData *mEmailTone;
- CpSettingFormEntryItemData *mReminderTone;
- CpSettingFormEntryItemData *mClockTone;
- HbDataFormModelItem *mSayCallerName;
- CpProfileModel *mProfileModel;
- CpMasterVolumeValueController *mMasterVolumeValueController;
+ virtual void afterLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
};
#endif /* CPPERSONALIZATIONGROUPITEMDATA_H */
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationplugin.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationplugin.cpp Mon May 03 12:32:06 2010 +0300
@@ -17,7 +17,6 @@
#include "cppersonalizationplugin.h"
#include "cppersonalizationgroupitemdata.h"
-#include "cpprofilesgroupitemdata.h"
#include <cpcategorysettingformitemdata.h>
#include <cpitemdatahelper.h>
@@ -31,16 +30,14 @@
QList<CpSettingFormItemData*> CpPersonalizationPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
{
- CpProfilesGroupItemData *profileItemData =
- new CpProfilesGroupItemData(itemDataHelper);
-
+
CpPersonalizationGroupItemData *personalItemData =
new CpPersonalizationGroupItemData(
HbDataFormModelItem::GroupItem,
- tr("Tones"),
+ tr("Personalization"),
QString("cppersonalizationplugin.cpcfg") );
- return QList<CpSettingFormItemData*>() << profileItemData << personalItemData;
+ return QList<CpSettingFormItemData*>() << personalItemData;
}
Q_EXPORT_PLUGIN2(cppersonalizationplugin, CpPersonalizationPlugin);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilenameeditdialog.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,92 @@
+/*
+ * 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:
+ *
+ */
+
+#include "cpprofilenameeditdialog.h"
+
+#include <hblineedit.h>
+#include <hblabel.h>
+#include <hbaction.h>
+
+#include <QGraphicsLinearLayout>
+
+CpProfileNameEditDialog::CpProfileNameEditDialog( QGraphicsItem *parent )
+ :HbDialog( parent )
+{
+ init();
+}
+
+CpProfileNameEditDialog::~CpProfileNameEditDialog()
+{
+}
+
+void CpProfileNameEditDialog::init()
+{
+ setDismissPolicy( HbPopup::NoDismiss );
+ setHeadingWidget( new HbLabel( hbTrId( "txt_cp_title_edit_name" ), this ));
+
+ QGraphicsLinearLayout *vLayout = new QGraphicsLinearLayout();
+ vLayout->setOrientation( Qt::Vertical );
+ HbWidget *contentWidget = new HbWidget( this );
+ mTextEdit = new HbLineEdit( this );
+ mTextEdit->setFontSpec( HbFontSpec( HbFontSpec::Primary ) );
+ vLayout->addItem( mTextEdit );
+ contentWidget->setLayout( vLayout );
+ setContentWidget( contentWidget );
+
+ connect( mTextEdit, SIGNAL( contentsChanged() ), this, SLOT( checkPrimaryAction() ) );
+
+ setPrimaryAction( new HbAction( hbTrId( "txt_common_button_ok" ), this ));
+ setSecondaryAction( new HbAction( hbTrId( "txt_common_button_cancel" ), this ) );
+
+ setTimeout( NoTimeout );
+}
+
+void CpProfileNameEditDialog::setLineEditText( const QString &text )
+{
+ mTextEdit->setText( text );
+ mTextEdit->setSelection( 0, text.length() );
+}
+
+QString CpProfileNameEditDialog::getLineEditText()
+{
+ QString text = mTextEdit->text();
+ return text;
+}
+
+bool CpProfileNameEditDialog::launchProfileNameEditDialog( QString &profileName )
+{
+ CpProfileNameEditDialog * profileEditNameDialog = new CpProfileNameEditDialog();
+ profileEditNameDialog->setLineEditText( profileName );
+ profileEditNameDialog->checkPrimaryAction();
+
+ if( profileEditNameDialog->exec() == profileEditNameDialog->secondaryAction() ){
+ return false;
+ }
+ else{
+ profileName = profileEditNameDialog->getLineEditText();
+ return true;
+ }
+}
+
+void CpProfileNameEditDialog::checkPrimaryAction()
+{
+ if( !mTextEdit->text().isEmpty() ){
+ primaryAction()->setEnabled( true );
+ } else {
+ primaryAction()->setEnabled( false );
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilenameeditdialog.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * 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 CPPROFILENAMEEDITDIALOG_H
+#define CPPROFILENAMEEDITDIALOG_H
+
+#include <hbdialog.h>
+
+class HbWidget;
+class HbLineEdit;
+
+class CpProfileNameEditDialog : public HbDialog
+{
+ Q_OBJECT
+
+public:
+ CpProfileNameEditDialog( QGraphicsItem *parent = 0 );
+ virtual ~CpProfileNameEditDialog();
+
+ static bool launchProfileNameEditDialog( QString &profileName );
+
+private slots:
+ void checkPrimaryAction();
+
+private:
+ void init();
+ void setLineEditText( const QString &text );
+ QString getLineEditText();
+
+private:
+ HbWidget *mContentWidget;
+ HbLineEdit *mTextEdit;
+};
+
+#endif /* CPPROFILENAMEEDITDIALOG_H */
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesettingform.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesettingform.cpp Mon May 03 12:32:06 2010 +0300
@@ -16,159 +16,341 @@
*/
#include "cpprofilesettingform.h"
+#include "cppersonalizationentryitemdata.h"
#include <QStringList>
#include <hbdataformmodel.h>
-#include "cppersonalizationcustomviewitem.h"
+#include <hbabstractviewitem.h>
+#include <cpitemdatahelper.h>
+#include <cpprofilemodel.h>
+
+#include <QFileInfo>
+#include <QFileIconProvider>
+#include <QAbstractItemModel>
+#include <QModelIndex>
+#include <QMap>
CpProfileSettingForm::CpProfileSettingForm()
-: mModel(0)
+ : mModel(0), mItemDataHelper(new CpItemDataHelper( this )),
+ mProfileModel(new CpProfileModel()), mFileIconProvider(new QFileIconProvider),
+ mGeneralPage(0),mMeetingPage(0),mCurrentPage( 0 )
{
- this->setHeading(tr("Profiles"));
- this->setDescription(tr("With profiles you can quickly change audio settings of your device"));
-
- QList<HbAbstractViewItem *> protoTypeList = itemPrototypes();
- protoTypeList.append(new CpPersonalizationCustomViewItem);
- setItemPrototypes(protoTypeList);
-
+ this->setHeading(hbTrId("txt_cp_button_advanced_settings"));
+ this->setDescription(hbTrId("txt_cp_info_select_tones_that_play_when_you_select"));
+
initModel();
}
CpProfileSettingForm::~CpProfileSettingForm()
{
delete mModel;
+ delete mProfileModel;
+ delete mFileIconProvider;
}
void CpProfileSettingForm::initModel()
{
mModel = new HbDataFormModel();
- QStringList profileList;
- profileList << "General" << "Meeting" << "Silent"; //should be got from engine.
- foreach (const QString &profile,profileList) {
- HbDataFormModelItem *profilePage = mModel->appendDataFormPage(profile);
- //hard code: profile name should be got from profile engine
- if (profile != "Silent") {
- initVolumeGroup(profilePage);
- }
- initVibraGroup(profilePage);
- //initRingToneGroup(profilePage);
- //initMessageToneGroup(profilePage);
- //initAlertToneGroup(profilePage);
- //initKeyAndScreenToneGroup(profilePage);
+ QString generalString( mProfileModel->profileName( EProfileWrapperGeneralId ) );
+ if( generalString.isEmpty() ) {
+ qDebug( "warning: general profile name is empty");
+ generalString = hbTrId("txt_cp_list_general");
+ }
+ QString meetingString( mProfileModel->profileName( EProfileWrapperMeetingId ) );
+ if( meetingString.isEmpty() ) {
+ qDebug( "warning: meeting profile name is empty");
+ meetingString = hbTrId("txt_cp_list_meeting");
}
+
+ mGeneralPage = mModel->appendDataFormPage( generalString );
+ initGeneralTonesGroup();
+ //initGeneralVibraGroup();
+
+ mMeetingPage = mModel->appendDataFormPage( meetingString );
+ initMeetingTonesGroup();
+ //initMeetingVibraGroup();
+
setModel(mModel);
}
-void CpProfileSettingForm::initVolumeGroup(HbDataFormModelItem *parent)
+void CpProfileSettingForm::initGeneralTonesGroup()
{
- HbDataFormModelItem *volumeGroup = mModel->appendDataFormGroup(
- tr("Volume"),parent);
- // mModel->appendDataFormItem(static_cast<HbDataFormModelItem::DataItemType>(MasterVolumeSliderItem),QString("Master volume"),volumeGroup);
- HbDataFormModelItem *informationTone = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),volumeGroup);
- informationTone->setContentWidgetData("text", tr("information tones"));
- mModel->appendDataFormItem(static_cast<HbDataFormModelItem::DataItemType>(MasterVolumeSliderItem),QString("Key and touch screen tones"),volumeGroup);
+ CpProfileSettings profileSettings;
+ mProfileModel->profileSettings( EProfileWrapperGeneralId, profileSettings );
+
+ /*HbDataFormModelItem *tonesGroup = mModel->appendDataFormGroup(
+ hbTrId("txt_cp_subhead_tones"),mGeneralPage);*/
+ QFileInfo ringToneFileInfo( profileSettings.mRingTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_ringtone"), ringToneFileInfo.fileName(), mFileIconProvider->icon( ringToneFileInfo ) ), mGeneralPage);
+
+ QFileInfo messageToneFileInfo( profileSettings.mMessageTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_message_tone"), messageToneFileInfo.fileName(), mFileIconProvider->icon( messageToneFileInfo ) ), mGeneralPage);
+
+ QFileInfo emailToneFileInfo( profileSettings.mEmailTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_email_tone"), emailToneFileInfo.fileName(), mFileIconProvider->icon( emailToneFileInfo ) ), mGeneralPage);
+
+ QFileInfo reminderToneFileInfo( profileSettings.mReminderTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_reminder_tone"), reminderToneFileInfo.fileName(), mFileIconProvider->icon( reminderToneFileInfo ) ), mGeneralPage);
+
+ HbDataFormModelItem *notificationTones = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),mGeneralPage);
+ notificationTones->setContentWidgetData("text", hbTrId("txt_cp_list_notification_tones"));
+ notificationTones->setContentWidgetData( "checkState", profileSettings.mNotificationTone?2:0 );
+
+ mGeneralKeysAndScreenToneSlider =
+ mModel->appendDataFormItem(HbDataFormModelItem::SliderItem ,QString(hbTrId("txt_cp_setlabel_key_and_touchscreen_tones")),mGeneralPage);
+ /*
+ QMap< QString, QVariant > elements;
+ elements.insert(QString("IncreaseElement") , QVariant(":/icon/hb_vol_slider_increment.svg"));
+ elements.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg") );
+ elements.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg") );
+ mGeneralKeysAndScreenToneSlider->setContentWidgetData( QString( "elementIcons" ), elements );
+ */
+ //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
+ mGeneralKeysAndScreenToneSlider->setContentWidgetData( QString( "minimum" ), 0 );
+ mGeneralKeysAndScreenToneSlider->setContentWidgetData( QString( "maximum" ), 5 );
+ mGeneralKeysAndScreenToneSlider->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenTone );
+
+
+ mGeneralSreenVibra = mModel->appendDataFormItem( HbDataFormModelItem::SliderItem, QString( hbTrId( "txt_cp_setlabel_touch_screen_vibra" ) ), mGeneralPage );
+ //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
+ mGeneralSreenVibra->setContentWidgetData( QString( "minimum" ), 0 );
+ mGeneralSreenVibra->setContentWidgetData( QString( "maximum" ), 5 );
+ mGeneralSreenVibra->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenVibra );
+
+ addConnection( notificationTones, SIGNAL( stateChanged( int )), this, SLOT( on_general_notificationTones_stateChanged( int )));
+ addConnection( mGeneralKeysAndScreenToneSlider, SIGNAL( valueChanged( int )), this, SLOT( on_general_keysAndScreenToneSlider_ValueChanged( int )));
+ addConnection( mGeneralSreenVibra, SIGNAL( valueChanged( int )), this, SLOT( on_general_screenVibra_ValueChanged( int )));
}
-void CpProfileSettingForm::initVibraGroup(HbDataFormModelItem *parent)
+
+/*void CpProfileSettingForm::initGeneralVibraGroup()
{
+ CpProfileSettings profileSettings;
+ mProfileModel->profileSettings( EProfileWrapperGeneralId, profileSettings );
+
HbDataFormModelItem *vibraGroup = mModel->appendDataFormGroup(
- tr("Vibra"),parent);
- HbDataFormModelItem *ringVibar = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),vibraGroup);
- ringVibar->setContentWidgetData("text", tr("Ring alert vibra"));
+ hbTrId( "txt_cp_subhead_vibra" ), mGeneralPage );
+ HbDataFormModelItem *ringVibar = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ ringVibar->setContentWidgetData( "text", hbTrId( "txt_cp_list_ring_alet" ) );
+ ringVibar->setContentWidgetData( "checkState", profileSettings.mRingAlertVibra?2:0 );
+
+ HbDataFormModelItem *messageVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ messageVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_received_message" ) );
+ messageVibra->setContentWidgetData( "checkState", profileSettings.mMessageVibra?2:0 );
+
+ HbDataFormModelItem *emailVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ emailVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_received_email" ) );
+ emailVibra->setContentWidgetData( "checkState", profileSettings.mEmailVibra?2:0 );
- HbDataFormModelItem *messageVibra = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),vibraGroup);
- messageVibra->setContentWidgetData("text", tr("New message alert vibra"));
+ HbDataFormModelItem *reminderVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ reminderVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_reminder_alert" ));
+ reminderVibra->setContentWidgetData( "checkState", profileSettings.mReminderAlertVibra?2:0 );
+
+ HbDataFormModelItem *notificationVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ notificationVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_notification" ) );
+ notificationVibra->setContentWidgetData( "checkState", profileSettings.mNotificationVibra?2:0 );
+
+ mGeneralSreenVibra = mModel->appendDataFormItem( HbDataFormModelItem::SliderItem, QString( hbTrId( "txt_cp_setlabel_touch_screen_vibra" ) ), vibraGroup );
+ //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
+ mGeneralSreenVibra->setContentWidgetData( QString( "minimum" ), 0 );
+ mGeneralSreenVibra->setContentWidgetData( QString( "maximum" ), 5 );
+ mGeneralSreenVibra->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenVibra );
+
+ addConnection( ringVibar, SIGNAL( stateChanged( int )), this, SLOT( on_general_ringVibar_stateChanged( int )));
+ addConnection( messageVibra, SIGNAL( stateChanged( int )), this, SLOT( on_general_messageVibra_stateChanged( int )));
+ addConnection( emailVibra, SIGNAL( stateChanged( int )), this, SLOT( on_general_emailVibra_stateChanged( int )));
+ addConnection( reminderVibra, SIGNAL( stateChanged( int )), this, SLOT( on_general_reminderVibra_stateChanged( int )));
+ addConnection( notificationVibra, SIGNAL( stateChanged( int )), this, SLOT( on_general_notificationVibra_stateChanged( int )));
+
+ addConnection( mGeneralSreenVibra, SIGNAL( valueChanged( int )), this, SLOT( on_general_screenVibra_ValueChanged( int )));
+}*/
- HbDataFormModelItem *emailVibra = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),vibraGroup);
- emailVibra->setContentWidgetData("text", tr("New e-mail alert vibra"));
+////////////////////////////////////////////////////////////
+void CpProfileSettingForm::initMeetingTonesGroup()
+{
+ CpProfileSettings profileSettings;
+ mProfileModel->profileSettings( EProfileWrapperMeetingId, profileSettings );
+
+ /* HbDataFormModelItem *tonesGroup = mModel->appendDataFormGroup(
+ hbTrId("txt_cp_subhead_tones"),mMeetingPage);*/
+ QFileInfo ringToneFileInfo( profileSettings.mRingTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_ringtone"), ringToneFileInfo.fileName(), mFileIconProvider->icon( ringToneFileInfo ) ), mMeetingPage);
+
+ QFileInfo messageToneFileInfo( profileSettings.mMessageTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_message_tone"), messageToneFileInfo.fileName(), mFileIconProvider->icon( messageToneFileInfo ) ), mMeetingPage);
+
+ QFileInfo emailToneFileInfo( profileSettings.mEmailTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_email_tone"), emailToneFileInfo.fileName(), mFileIconProvider->icon( emailToneFileInfo ) ), mMeetingPage);
+
+ QFileInfo reminderToneFileInfo( profileSettings.mReminderTone );
+ mModel->appendDataFormItem( new CpPersonalizationEntryItemData( *mItemDataHelper,
+ hbTrId("txt_cp_dblist_reminder_tone"), reminderToneFileInfo.fileName(), mFileIconProvider->icon( reminderToneFileInfo ) ), mMeetingPage);
+
+ HbDataFormModelItem *notificationTones = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),mMeetingPage);
+ notificationTones->setContentWidgetData("text", hbTrId("txt_cp_list_notification_tones"));
+ notificationTones->setContentWidgetData( "checkState", profileSettings.mNotificationTone?2:0 );
+
+ mMeetingKeysAndScreenToneSlider =
+ mModel->appendDataFormItem(HbDataFormModelItem::SliderItem ,QString(hbTrId("txt_cp_setlabel_key_and_touchscreen_tones")),mMeetingPage);
+ /*
+ QMap< QString, QVariant > elements;
+ elements.insert(QString("IncreaseElement") , QVariant(":/icon/hb_vol_slider_increment.svg"));
+ elements.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg") );
+ elements.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg") );
+ mMeetingkeysAndScreenSlider->setContentWidgetData( QString( "elementIcons" ), elements );
+ */
+ //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
+ mMeetingKeysAndScreenToneSlider->setContentWidgetData( QString( "minimum" ), 0 );
+ mMeetingKeysAndScreenToneSlider->setContentWidgetData( QString( "maximum" ), 5 );
+ mMeetingKeysAndScreenToneSlider->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenTone );
+
+ mMeetingSreenVibra = mModel->appendDataFormItem( HbDataFormModelItem::SliderItem, QString( hbTrId( "txt_cp_setlabel_touch_screen_vibra" ) ), mMeetingPage );
+ //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
+ mMeetingSreenVibra->setContentWidgetData( QString( "minimum" ), 0 );
+ mMeetingSreenVibra->setContentWidgetData( QString( "maximum" ), 5 );
+ mMeetingSreenVibra->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenVibra );
+
+ addConnection( notificationTones, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_notificationTones_stateChanged( int )));
+ addConnection( mMeetingKeysAndScreenToneSlider, SIGNAL( valueChanged( int )), this, SLOT( on_meeting_keysAndScreenSlider_ValueChanged( int )));
+ addConnection( mMeetingSreenVibra, SIGNAL( valueChanged( int )), this, SLOT( on_meeting_screenVibra_ValueChanged( int )));
+}
- HbDataFormModelItem *reminderVibra = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),vibraGroup);
- reminderVibra->setContentWidgetData("text", tr("Reminder alarm vibra"));
+/*void CpProfileSettingForm::initMeetingVibraGroup()
+{
+ CpProfileSettings profileSettings;
+ mProfileModel->profileSettings( EProfileWrapperMeetingId, profileSettings );
+
+ HbDataFormModelItem *vibraGroup = mModel->appendDataFormGroup(
+ hbTrId( "txt_cp_subhead_vibra" ), mMeetingPage );
+ HbDataFormModelItem *ringVibar = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ ringVibar->setContentWidgetData( "text", hbTrId( "txt_cp_list_ring_alet" ) );
+ ringVibar->setContentWidgetData( "checkState", profileSettings.mRingAlertVibra?2:0 );
- HbDataFormModelItem *clockVibra = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),vibraGroup);
- clockVibra->setContentWidgetData("text", tr("Clock alarm vibra"));
+ HbDataFormModelItem *messageVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ messageVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_received_message" ) );
+ messageVibra->setContentWidgetData( "checkState", profileSettings.mMessageVibra?2:0 );
+
+ HbDataFormModelItem *emailVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ emailVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_received_email" ) );
+ emailVibra->setContentWidgetData( "checkState", profileSettings.mEmailVibra?2:0 );
+
+ HbDataFormModelItem *reminderVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ reminderVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_reminder_alert" ));
+ reminderVibra->setContentWidgetData( "checkState", profileSettings.mReminderAlertVibra?2:0 );
+
+ HbDataFormModelItem *notificationVibra = mModel->appendDataFormItem( HbDataFormModelItem::CheckBoxItem, QString(), vibraGroup );
+ notificationVibra->setContentWidgetData( "text", hbTrId( "txt_cp_list_notification" ) );
+ notificationVibra->setContentWidgetData( "checkState", profileSettings.mNotificationVibra?2:0 );
+
+ mMeetingSreenVibra = mModel->appendDataFormItem( HbDataFormModelItem::SliderItem, QString( hbTrId( "txt_cp_setlabel_touch_screen_vibra" ) ), vibraGroup );
+ //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
+ mMeetingSreenVibra->setContentWidgetData( QString( "minimum" ), 0 );
+ mMeetingSreenVibra->setContentWidgetData( QString( "maximum" ), 5 );
+ mMeetingSreenVibra->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenVibra );
+
+ addConnection( ringVibar, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_ringVibar_stateChanged( int )));
+ addConnection( messageVibra, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_messageVibra_stateChanged( int )));
+ addConnection( emailVibra, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_emailVibra_stateChanged( int )));
+ addConnection( reminderVibra, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_reminderVibra_stateChanged( int )));
+ addConnection( notificationVibra, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_notificationVibra_stateChanged( int )));
+
+ addConnection( mMeetingSreenVibra, SIGNAL( valueChanged( int )), this, SLOT( on_meeting_screenVibra_ValueChanged( int )));
+}*/
- HbDataFormModelItem *informationVibra = mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),vibraGroup);
- informationVibra->setContentWidgetData("text", tr("Information vibra"));
+////////////////////////////////////////////////////
+//general tones
+void CpProfileSettingForm::on_general_notificationTones_stateChanged(int state)
+{
+ mProfileModel->setNotificationTone( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
+}
+
+void CpProfileSettingForm::on_general_keysAndScreenToneSlider_ValueChanged( int value )
+{
+ mProfileModel->setKeyTouchScreenTone( EProfileWrapperGeneralId, value );
+ mGeneralKeysAndScreenToneSlider->setContentWidgetData( QString("value"), value );
+}
+
+
+//general vibra
+void CpProfileSettingForm::on_general_ringVibar_stateChanged( int state )
+{
+ mProfileModel->setRingAlertVibra( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_general_messageVibra_stateChanged( int state )
+{
+ mProfileModel->setMessageVibra( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_general_emailVibra_stateChanged( int state )
+{
+ mProfileModel->setEmailVibra( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_general_reminderVibra_stateChanged( int state )
+{
+ mProfileModel->setReminderVibra( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_general_notificationVibra_stateChanged( int state )
+{
+ mProfileModel->setNotificationVibra( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_general_screenVibra_ValueChanged( int value )
+{
+ mProfileModel->setKeyTouchScreenVibra( EProfileWrapperGeneralId, value );
+ mGeneralSreenVibra->setContentWidgetData( QString("value"), value );
}
-/*void CpProfileSettingForm::initRingToneGroup(HbDataFormModelItem *parent)
+////////////////////////////////////////////////////
+//meeting Tones
+void CpProfileSettingForm::on_meeting_notificationTones_stateChanged(int state)
{
- HbDataFormModelItem *ringToneGroup = mModel->appendDataFormGroup(
- tr("Ring tone"),parent);
-
- QStringList tonesList;
- tonesList << "Off" << "Beep" << "Default ring tone" << "set profile-specific tone";
+ mProfileModel->setNotificationTone( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
+}
- foreach (const QString &tone,tonesList) {
- HbDataFormModelItem *toneGroup = mModel->appendDataFormGroupPage(tone,ringToneGroup);
- mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,tr("Say caller name"),toneGroup);
- HbDataFormModelItem *threeDEffect = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem,tr("3D effect"),toneGroup);
-
- threeDEffect->setContentWidgetData("items",QStringList()
- << tr("Off") << tr("Circular") << tr("Fly-by") << tr("Zigzag")
- << tr("Meander") << tr("Chaos") << tr("Stereo widening"));
- threeDEffect->setContentWidgetData("currentIndex",0);
-
- HbDataFormModelItem *treeEcho = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem,tr("3D echo"),toneGroup);
- treeEcho->setContentWidgetData("items",QStringList()
- << tr("Off") << tr("Living room") << tr("Cave") << tr("Railway station")
- << tr("Forest") << tr("Duct") << tr("underwater"));
- treeEcho->setContentWidgetData("currentIndex",0);
- }
+void CpProfileSettingForm::on_meeting_keysAndScreenSlider_ValueChanged( int value )
+{
+ mProfileModel->setKeyTouchScreenTone( EProfileWrapperMeetingId, value );
+ mMeetingKeysAndScreenToneSlider->setContentWidgetData( QString("value"), value );
}
-void CpProfileSettingForm::initMessageToneGroup(HbDataFormModelItem *parent)
+
+//meeting vibra
+void CpProfileSettingForm::on_meeting_ringVibar_stateChanged( int state )
+{
+ mProfileModel->setRingAlertVibra( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_meeting_messageVibra_stateChanged( int state )
+{
+ mProfileModel->setMessageVibra( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_meeting_emailVibra_stateChanged( int state )
{
- HbDataFormModelItem *messageToneGroup = mModel->appendDataFormGroup(
- tr("Message tones"),parent);
-
- HbDataFormModelItem *messageTone = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem,tr("Message tone"),messageToneGroup);
-
- messageTone->setContentWidgetData("items",QStringList()
- << tr("Off") << tr("Beep") << tr("Default mesage tone") << tr("set profile-specific tone"));
- messageTone->setContentWidgetData("currentIndex",2);
-
- HbDataFormModelItem *emailTone = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem,tr("E-mail tone"),messageToneGroup);
-
- emailTone->setContentWidgetData("items",QStringList()
- << tr("Off") << tr("Beep") << tr("Default e-mail tone") << tr("set profile-specific tone"));
- emailTone->setContentWidgetData("currentIndex",2);
-
+ mProfileModel->setEmailVibra( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_meeting_reminderVibra_stateChanged( int state )
+{
+ mProfileModel->setReminderVibra( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_meeting_notificationVibra_stateChanged( int state )
+{
+ mProfileModel->setNotificationVibra( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
+}
+void CpProfileSettingForm::on_meeting_screenVibra_ValueChanged( int value )
+{
+ mProfileModel->setKeyTouchScreenVibra( EProfileWrapperMeetingId, value );
+ mMeetingSreenVibra->setContentWidgetData( QString("value"), value );
}
-void CpProfileSettingForm::initAlertToneGroup(HbDataFormModelItem *parent)
+bool CpProfileSettingForm::checkBoxStateToBool( int state )
{
- HbDataFormModelItem *alertToneGroup = mModel->appendDataFormGroup(
- tr("Alert tones"),parent);
-
- HbDataFormModelItem *reminderTone = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem,tr("Reminder tone"),alertToneGroup);
-
- reminderTone->setContentWidgetData("items",QStringList()
- << tr("Off") << tr("Beep") << tr("Default reminder tone") << tr("set profile-specific tone"));
- reminderTone->setContentWidgetData("currentIndex",2);
-
- HbDataFormModelItem *clockAlarmTone = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem,tr("Clock alarm tone"),alertToneGroup);
-
- clockAlarmTone->setContentWidgetData("items",QStringList()
- << tr("Off") << tr("Beep") << tr("Default clock alarm tone") << tr("set profile-specific tone"));
- clockAlarmTone->setContentWidgetData("currentIndex",2);
-
+ if( state == Qt::Checked ) {
+ return true;
+ } else {
+ return false;
+ }
}
-
-void CpProfileSettingForm::initKeyAndScreenToneGroup(HbDataFormModelItem *parent)
-{
- HbDataFormModelItem *keyAndScreenToneGroup= mModel->appendDataFormGroup(
- tr("Key and screen tones"),parent);
- mModel->appendDataFormItem(static_cast<HbDataFormModelItem::DataItemType>(MasterVolumeSliderItem),
- tr("Key and touch screen tones"),keyAndScreenToneGroup);
- mModel->appendDataFormItem(HbDataFormModelItem::SliderItem,
- tr("Touch screen vibra"),keyAndScreenToneGroup);
-}
-*/
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesettingform.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesettingform.h Mon May 03 12:32:06 2010 +0300
@@ -22,6 +22,9 @@
class HbDataFormModel;
class HbDataFormModelItem;
+class CpItemDataHelper;
+class CpProfileModel;
+class QFileIconProvider;
class CpProfileSettingForm : public HbDataForm
{
@@ -29,16 +32,58 @@
public:
CpProfileSettingForm();
virtual ~CpProfileSettingForm();
+
+private slots:
+
+ //general tones
+ void on_general_notificationTones_stateChanged(int state);
+ void on_general_keysAndScreenToneSlider_ValueChanged( int value );
+
+ //general vibra
+ void on_general_ringVibar_stateChanged( int state );
+ void on_general_messageVibra_stateChanged( int state );
+ void on_general_emailVibra_stateChanged( int state );
+ void on_general_reminderVibra_stateChanged( int state );
+ void on_general_notificationVibra_stateChanged( int state );
+ void on_general_screenVibra_ValueChanged( int value );
+
+ //meeting tones
+ void on_meeting_notificationTones_stateChanged(int state);
+ void on_meeting_keysAndScreenSlider_ValueChanged( int value );
+
+ //meeting vibar
+ void on_meeting_ringVibar_stateChanged( int state );
+ void on_meeting_messageVibra_stateChanged( int state );
+ void on_meeting_emailVibra_stateChanged( int state );
+ void on_meeting_reminderVibra_stateChanged( int state );
+ void on_meeting_notificationVibra_stateChanged( int state );
+ void on_meeting_screenVibra_ValueChanged( int value );
private:
void initModel();
- void initVolumeGroup(HbDataFormModelItem *parent);
- void initVibraGroup(HbDataFormModelItem *parent);
+ void initGeneralTonesGroup();
+ //void initGeneralVibraGroup();
+ void initMeetingTonesGroup();
+ //void initMeetingVibraGroup();
+ bool checkBoxStateToBool( int state );
// void initRingToneGroup(HbDataFormModelItem *parent);
// void initMessageToneGroup(HbDataFormModelItem *parent);
// void initAlertToneGroup(HbDataFormModelItem *parent);
// void initKeyAndScreenToneGroup(HbDataFormModelItem *parent);
private:
HbDataFormModel *mModel;
+ CpItemDataHelper *mItemDataHelper;
+ CpProfileModel *mProfileModel;
+ QFileIconProvider *mFileIconProvider;
+
+ HbDataFormModelItem *mGeneralPage;
+ HbDataFormModelItem *mMeetingPage;
+
+ HbDataFormModelItem *mCurrentPage;
+
+ HbDataFormModelItem *mGeneralKeysAndScreenToneSlider;
+ HbDataFormModelItem *mGeneralSreenVibra;
+ HbDataFormModelItem *mMeetingKeysAndScreenToneSlider;
+ HbDataFormModelItem *mMeetingSreenVibra;
};
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesgroupitemdata.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
- * 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:
- *
- */
-#include "cpprofilesgroupitemdata.h"
-#include <QStringList>
-#include <cpsettingformentryitemdataimpl.h>
-#include <cpbasesettingview.h>
-#include <cpitemdatahelper.h>
-#include <hbmessagebox.h>
-#include "cpprofilesettingform.h"
-#include "cpmastervolumevaluecontroller.h"
-#include "cppersonalizationcustomviewitem.h"
-
-
-CpProfilesGroupItemData::CpProfilesGroupItemData(CpItemDataHelper &itemDataHelper)
-: CpSettingFormItemData(HbDataFormModelItem::GroupItem,tr("Profiles")),mProfileModel(0)
-{
- mProfileModel = new CpProfileModel();
- initItems(itemDataHelper);
-}
-
-CpProfilesGroupItemData::~CpProfilesGroupItemData()
-{
- delete mProfileModel;
- if (mMasterVolumeValueController != 0) {
- delete mMasterVolumeValueController;
- }
-}
-
-namespace
-{
- class CpProfileSettingView : public CpBaseSettingView
- {
- public:
- CpProfileSettingView() : CpBaseSettingView(new CpProfileSettingForm())
- {
- }
- };
-}
-
-void CpProfilesGroupItemData::initItems(CpItemDataHelper &itemDataHelper)
-{
- itemDataHelper.addItemPrototype(new CpPersonalizationCustomViewItem);
- HbDataFormModelItem *activeProfileItem = new HbDataFormModelItem(
- HbDataFormModelItem::RadioButtonListItem,tr("Profiles"));
- //enable the profile activating
- // why come into slots twice when select a item?
- itemDataHelper.addConnection(activeProfileItem,SIGNAL(itemSelected(int)),this,SLOT(activateProfile(int)));
-
- mCurrentProfileId = static_cast<ProfileWrapperProfileId>(mProfileModel->activeProfileId());
- // QString warnningNote = "Profile Id = "+ mCurrentProfileId;
- //HbMessageBox::information(warnningNote);
- QStringList items;
- items << tr("General") << tr("Meeting") << tr("Silent");
- activeProfileItem->setContentWidgetData("items",items);
- switch (mCurrentProfileId) {
- case EProfileWrapperGeneralId:
- activeProfileItem->setContentWidgetData("selected",0);
- break;
- case EProfileWrapperSilentId:
- activeProfileItem->setContentWidgetData("selected",2);
- break;
- case EProfileWrapperMeetingId:
- activeProfileItem->setContentWidgetData("selected",1);
- break;
- default:
- // HbMessageBox::information("unknown id of profile");
- break;
- };
-
- appendChild(activeProfileItem);
-
- mMasterVolume = new HbDataFormModelItem(static_cast<HbDataFormModelItem::DataItemType>(MasterVolumeSliderItem));
-
- mMasterVolumeValueController = new CpMasterVolumeValueController(mProfileModel, mMasterVolume,
- itemDataHelper, activeProfileItem);
- this->appendChild(mMasterVolume);
-
- HbDataFormModelItem *editProfileItem = new CpSettingFormEntryItemDataImpl<CpProfileSettingView>(
- itemDataHelper,tr("Edit profiles"));
- appendChild(editProfileItem);
-}
-void CpProfilesGroupItemData::activateProfile(int profileIndex)
-{
- switch (profileIndex) {
- case 0: // general
- {
- mProfileModel->activateProfile(EProfileWrapperGeneralId);
- int volumeValue = mProfileModel->ringVolume();
- // update the master volume when profile changed
- // should be used profileChangedObserver in the future;
- mMasterVolume->setEnabled(true);
- mMasterVolume->setContentWidgetData("value", volumeValue);
- break;
- }
- case 1: // meeting
- {
- mProfileModel->activateProfile(EProfileWrapperMeetingId);
- int volumeValue = mProfileModel->ringVolume();
- mMasterVolume->setEnabled(true);
- mMasterVolume->setContentWidgetData("value", volumeValue);
- break;
- }
- case 2: // silent
- {
- mProfileModel->activateProfile(EProfileWrapperSilentId);
- mMasterVolume->setContentWidgetData("value", 0);
- mMasterVolume->setEnabled(false);
- break;
- }
- default:
- break;
-
- }
-}
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesgroupitemdata.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * 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 CPPROFILESGROUPITEMDATA_H
-#define CPPROFILESGROUPITEMDATA_H
-
-#include <cpsettingformitemdata.h>
-#include <cpprofilemodel.h>
-
-class CpProfileModel;
-class CpItemDataHelper;
-class CpMasterVolumeValueController;
-class CpProfilesGroupItemData : public CpSettingFormItemData
-{
- Q_OBJECT
-public:
- explicit CpProfilesGroupItemData(CpItemDataHelper &itemDataHelper);
- virtual ~CpProfilesGroupItemData();
-private slots:
- void activateProfile(int profileIndex);
-private:
- Q_DISABLE_COPY(CpProfilesGroupItemData)
- void initItems(CpItemDataHelper &itemDataHelper);
- CpProfileModel *mProfileModel;
- ProfileWrapperProfileId mCurrentProfileId;
- HbDataFormModelItem *mMasterVolume;
- CpMasterVolumeValueController *mMasterVolumeValueController;
-};
-
-#endif
--- a/controlpanelui/src/cpplugins/placeholdernoiconplugin/placeholdernoiconplugin.pri Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#
-# 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: cpplaceholderplugin source files
-#
-
-# Input
-HEADERS += src/cpplaceholderplugin.h \
- src/cpplaceholderentryitemdata.h
-
-SOURCES += src/cpplaceholderplugin.cpp \
- src/cpplaceholderentryitemdata.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/placeholdernoiconplugin/placeholdernoiconplugin.pro Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# 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:
-#
-
-TEMPLATE = lib
-TARGET = cpplaceholdernoiconplugin
-
-CONFIG += hb plugin
-
-
-include ( ../cpplugincommon.pri )
-include ( placeholdernoiconplugin.pri )
-
-symbian: {
- TARGET.UID3 = 0X20025FDD
-}
--- a/controlpanelui/src/cpplugins/placeholdernoiconplugin/src/cpplaceholderentryitemdata.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:
-*
-*/
-#include "cpplaceholderentryitemdata.h"
-#include <cpbasesettingview.h>
-#include <hblabel.h>
-#include <cpitemdatahelper.h>
-#include <hbdataform.h>
-
-CpPlaceholderEntryItemData::CpPlaceholderEntryItemData(CpItemDataHelper &itemDataHelper)
-: CpSettingFormEntryItemData(itemDataHelper)
-{
-
-}
-
-CpPlaceholderEntryItemData::~CpPlaceholderEntryItemData()
-{
-}
-
-CpBaseSettingView *CpPlaceholderEntryItemData::createSettingView() const
-{
- HbDataForm *dataform = new HbDataForm();
- dataform->setHeading(text());
- CpBaseSettingView *view = new CpBaseSettingView(dataform);
- return view;
-}
--- a/controlpanelui/src/cpplugins/placeholdernoiconplugin/src/cpplaceholderentryitemdata.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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 CPPLACEHOLDERENTRYITEMDATA_H
-#define CPPLACEHOLDERENTRYITEMDATA_H
-
-#include <cpsettingformentryitemdata.h>
-
-class CpItemDataHelper;
-class CpPlaceholderEntryItemData : public CpSettingFormEntryItemData
-{
-public:
- explicit CpPlaceholderEntryItemData(CpItemDataHelper &itemDataHelper);
- virtual ~CpPlaceholderEntryItemData();
-private:
- virtual CpBaseSettingView *createSettingView() const;
-};
-
-#endif /* CPPLACEHOLDERENTRYITEMDATA_H */
--- a/controlpanelui/src/cpplugins/placeholdernoiconplugin/src/cpplaceholderplugin.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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:
- *
- */
-#include "cpplaceholderplugin.h"
-#include "cpplaceholderentryitemdata.h"
-
-CpPlaceholderPlugin::CpPlaceholderPlugin()
-{
-}
-
-CpPlaceholderPlugin::~CpPlaceholderPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpPlaceholderPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- return QList<CpSettingFormItemData*>() << new CpPlaceholderEntryItemData(itemDataHelper);
-}
-
-Q_EXPORT_PLUGIN2(cpplaceholderplugin, CpPlaceholderPlugin);
--- a/controlpanelui/src/cpplugins/placeholdernoiconplugin/src/cpplaceholderplugin.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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 CPPLACEHOLDERPLUGIN_H
-#define CPPLACEHOLDERPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpPlaceholderPlugin : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpPlaceholderPlugin();
- virtual ~CpPlaceholderPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPPLACEHOLDERPLUGIN_H
--- a/controlpanelui/src/cpplugins/placeholderplugin/image/qgn_menu_note.svg Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg width="100%" height="100%" viewBox="0 0 88 88">
-<linearGradient id="_20" gradientUnits="userSpaceOnUse" x1="46.99" y1="48.62" x2="57.59" y2="67.17">
-<stop stop-color="#A2C2DD" offset="0.1"/>
-<stop stop-color="#6C83BB" offset="0.71"/>
-<stop stop-color="#003D6D" offset="0.99"/>
-</linearGradient>
-<path fill="url(#_20)" d="M37.755,14.563c-0.625-0.15-3.215-0.771-3.215-0.771l-6.344,9.318 C14.325,41.71,3.561,47.928,2.801,48.401l6.468,2.128l-1.694,2.4l1.111,3.48l41.153,18.198l14.238-26.409l16.804-2.157l2.899-4.356 l-1.079-7.683l-3.737-4.507l-5.312,0.944l0.463-0.857l0.251-6.262c0,0-4.423-1.069-4.374-1.063 c-0.755-3.548-4.226-3.896-6.26-1.475c-0.013-0.005-2.825-0.708-2.818-0.712c-0.742-3.492-4.2-3.939-6.269-1.469 c-0.004-0.012-2.582-0.668-2.595-0.661c-0.749-3.501-4.18-3.806-6.163-1.437c-0.027,0.008-2.09-0.508-2.088-0.523 C43.063,12.593,39.706,12.258,37.755,14.563z"/>
-<polygon fill="#FFFFFF" points="35.11,15.12 8.336,53.049 48.798,69.047 72.646,28.459 73.573,25.04 "/>
-<linearGradient id="_21" gradientUnits="userSpaceOnUse" x1="30.63" y1="59.56" x2="27.89" y2="65.83">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#496DA2" offset="0.71"/>
-<stop stop-color="#235487" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#_21)" points="8.45,52.959 48.528,68.704 49.52,73.706 9.246,55.897 "/>
-<linearGradient id="_22" gradientUnits="userSpaceOnUse" x1="56.86" y1="45.11" x2="69.16" y2="54.68">
-<stop stop-color="#DEE9F3" offset="0"/>
-<stop stop-color="#235487" offset="1"/>
-</linearGradient>
-<polygon fill="url(#_22)" points="48.528,68.704 73.633,23.86 73.411,29.393 49.52,73.706 "/>
-<linearGradient id="_23" gradientUnits="userSpaceOnUse" x1="4.44" y1="38.62" x2="45.79" y2="38.62">
-<stop stop-color="#CADCEC" offset="0"/>
-<stop stop-color="#87A8CB" offset="1"/>
-</linearGradient>
-<path fill="url(#_23)" d="M34.894,14.715C18.737,39.471,4.443,48.209,4.443,48.209 c7.75,2.391,41.35,14.314,41.35,14.314L34.894,14.715z"/>
-<linearGradient id="_24" gradientUnits="userSpaceOnUse" x1="15.64" y1="58.6" x2="44.93" y2="34.82">
-<stop stop-color="#FFFFFF" offset="0.15"/>
-<stop stop-color="#A2C2DD" offset="1"/>
-</linearGradient>
-<path fill="url(#_24)" d="M10.557,50.247c11.41,4.494,35.236,12.277,35.236,12.277 c15.358-11.682,27.74-38.658,27.74-38.658l-38.697-9.279L10.557,50.247z"/>
-<linearGradient id="_25" gradientUnits="userSpaceOnUse" x1="68.03" y1="52.73" x2="41.63" y2="18.62">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#496DA2" offset="0.71"/>
-<stop stop-color="#235487" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#_25)" points="33.619,23.77 33.263,24.6 64.586,33.327 64.445,31.303 "/>
-<polygon fill="url(#_25)" points="30.349,28.944 29.959,29.764 60.965,39.577 60.895,37.549 "/>
-<polygon fill="url(#_25)" points="26.981,34.229 26.567,35.036 57.195,45.958 57.195,43.926 "/>
-<polyline fill="url(#_25)" points="37.03,44.815 23.809,40.569 23.396,41.375 34.393,45.297 37.03,44.815 "/>
-<path fill="#3F5AA6" d="M37.265,17.37c-1.227,0.744-1.05,2.494,0.11,3.184c1.821,1.088,4.019-0.83,2.968-2.572 c0.449-1.01,1.511-1.695,1.794-1.643l1.055,0.223C42.339,13.018,37.265,17.37,37.265,17.37z"/>
-<linearGradient id="_29" gradientUnits="userSpaceOnUse" x1="39.83" y1="18.64" x2="40.83" y2="14.3">
-<stop stop-color="#87A8CB" offset="0"/>
-<stop stop-color="#CADCEC" offset="0.5"/>
-<stop stop-color="#87A8CB" offset="1"/>
-</linearGradient>
-<path fill="url(#_29)" d="M38.914,19.569c-0.589,0.107-1.317-0.102-1.613-0.867c-0.736-5.027,5.301-6.996,5.913-2.141 C42.121,14.176,39.059,15.401,38.914,19.569z"/>
-<path fill="#3F5AA6" d="M45.395,19.34c-1.25,0.758-1.071,2.543,0.112,3.248c1.859,1.107,4.099-0.848,3.027-2.625 c0.458-1.031,1.542-1.729,1.83-1.676l1.076,0.227C50.57,14.901,45.395,19.34,45.395,19.34z"/>
-<path fill="url(#_29)" d="M47.076,21.584c-0.601,0.107-1.342-0.105-1.645-0.887c-0.75-5.129,5.407-7.137,6.031-2.184 C50.348,16.081,47.225,17.331,47.076,21.584z"/>
-<path fill="#3F5AA6" d="M54.135,21.483c-1.274,0.775-1.092,2.594,0.114,3.314c1.897,1.129,4.181-0.863,3.088-2.678 c0.468-1.051,1.574-1.762,1.867-1.709l1.099,0.232C59.414,16.956,54.135,21.483,54.135,21.483z"/>
-<path fill="url(#_29)" d="M55.85,23.772c-0.611,0.111-1.367-0.107-1.676-0.902c-0.767-5.232,5.515-7.281,6.151-2.227 C59.188,18.161,56.002,19.436,55.85,23.772z"/>
-<path fill="#3F5AA6" d="M63.214,23.67c-1.275,0.775-1.093,2.596,0.114,3.314c1.897,1.131,4.181-0.863,3.088-2.678 c0.467-1.051,1.573-1.762,1.867-1.709l1.098,0.23C68.493,19.143,63.214,23.67,63.214,23.67z"/>
-<path fill="url(#_29)" d="M64.929,25.959c-0.612,0.111-1.368-0.105-1.677-0.902c-0.766-5.23,5.515-7.279,6.151-2.229 C68.267,20.348,65.081,21.624,64.929,25.959z"/>
-<linearGradient id="_33" gradientUnits="userSpaceOnUse" x1="39.98" y1="48.02" x2="38.35" y2="40.21">
-<stop stop-color="#81C7C8" offset="0"/>
-<stop stop-color="#BFDAE1" offset="0.01"/>
-<stop stop-color="#FFFFFF" offset="1"/>
-</linearGradient>
-<polygon fill="url(#_33)" points="44.766,36.286 32.146,45.174 47.337,49.641 "/>
-<linearGradient id="_34" gradientUnits="userSpaceOnUse" x1="76.2" y1="30.96" x2="76.09" y2="43.23">
-<stop stop-color="#D6E6EC" offset="0"/>
-<stop stop-color="#298595" offset="1"/>
-</linearGradient>
-<polygon fill="url(#_34)" points="78.675,30.256 82.024,34.297 83.039,41.52 80.464,45.389 69.202,39.09 "/>
-<linearGradient id="_35" gradientUnits="userSpaceOnUse" x1="32.44" y1="33.5" x2="65.81" y2="41.63">
-<stop stop-color="#D6E6EC" offset="0"/>
-<stop stop-color="#298595" offset="1"/>
-</linearGradient>
-<polygon fill="url(#_35)" points="76.59,34.737 77.632,41.426 45.104,46.104 44.105,39.893 "/>
-<linearGradient id="_36" gradientUnits="userSpaceOnUse" x1="30.73" y1="46.42" x2="88.73" y2="44.8">
-<stop stop-color="#E6EEF4" offset="0"/>
-<stop stop-color="#2F8E9A" offset="0.44"/>
-<stop stop-color="#003D6D" offset="0.94"/>
-</linearGradient>
-<polygon fill="url(#_36)" points="77.632,41.426 80.464,45.389 47.337,49.641 45.104,46.104 "/>
-<linearGradient id="_37" gradientUnits="userSpaceOnUse" x1="45.63" y1="37.46" x2="101.75" y2="28.96">
-<stop stop-color="#D6E6EC" offset="0"/>
-<stop stop-color="#298595" offset="1"/>
-</linearGradient>
-<polygon fill="url(#_37)" points="76.59,34.737 78.675,30.256 44.766,36.286 44.105,39.893 "/>
-<linearGradient id="_38" gradientUnits="userSpaceOnUse" x1="35.44" y1="45.89" x2="34.76" y2="40.93">
-<stop stop-color="#235487" offset="0"/>
-<stop stop-color="#496DA2" offset="0.5"/>
-<stop stop-color="#235487" offset="1"/>
-</linearGradient>
-<path fill="url(#_38)" d="M38.261,40.885l-6.462,4.201l7.347,2.1C38.319,46.098,37.854,42.79,38.261,40.885z"/>
-<rect fill="none" height="88" width="88"/>
-</svg>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/placeholderplugin/placeholderplugin.pri Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#
-# 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: cpplaceholderplugin source files
-#
-
-# Input
-HEADERS += src/cpplaceholderplugin.h \
- src/cpplaceholderentryitemdata.h
-
-SOURCES += src/cpplaceholderplugin.cpp \
- src/cpplaceholderentryitemdata.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/placeholderplugin/placeholderplugin.pro Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# 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:
-#
-
-TEMPLATE = lib
-TARGET = cpplaceholderplugin
-
-CONFIG += hb plugin
-
-RESOURCES += placeholderplugin.qrc
-
-include ( ../cpplugincommon.pri )
-include ( placeholderplugin.pri )
-
-symbian: {
- TARGET.UID3 = 0X20025FE8
-}
--- a/controlpanelui/src/cpplugins/placeholderplugin/placeholderplugin.qrc Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>image/qgn_menu_note.svg</file>
- </qresource>
-</RCC>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/placeholderplugin/src/cpplaceholderentryitemdata.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:
-*
-*/
-#include "cpplaceholderentryitemdata.h"
-#include <cpbasesettingview.h>
-#include <hblabel.h>
-#include <cpitemdatahelper.h>
-#include <hbdataform.h>
-
-CpPlaceholderEntryItemData::CpPlaceholderEntryItemData(CpItemDataHelper &itemDataHelper)
-: CpSettingFormEntryItemData(itemDataHelper)
-{
- this->setEntryItemIcon(HbIcon(":/image/qgn_menu_note.svg"));
-}
-
-CpPlaceholderEntryItemData::~CpPlaceholderEntryItemData()
-{
-}
-
-CpBaseSettingView *CpPlaceholderEntryItemData::createSettingView() const
-{
- HbDataForm *dataform = new HbDataForm();
- dataform->setHeading(text());
- CpBaseSettingView *view = new CpBaseSettingView(dataform);
- return view;
-}
--- a/controlpanelui/src/cpplugins/placeholderplugin/src/cpplaceholderentryitemdata.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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 CPPLACEHOLDERENTRYITEMDATA_H
-#define CPPLACEHOLDERENTRYITEMDATA_H
-
-#include <cpsettingformentryitemdata.h>
-
-class CpItemDataHelper;
-class CpPlaceholderEntryItemData : public CpSettingFormEntryItemData
-{
-public:
- explicit CpPlaceholderEntryItemData(CpItemDataHelper &itemDataHelper);
- virtual ~CpPlaceholderEntryItemData();
-private:
- virtual CpBaseSettingView *createSettingView() const;
-};
-
-#endif /* CPPLACEHOLDERENTRYITEMDATA_H */
--- a/controlpanelui/src/cpplugins/placeholderplugin/src/cpplaceholderplugin.cpp Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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:
- *
- */
-#include "cpplaceholderplugin.h"
-#include "cpplaceholderentryitemdata.h"
-
-CpPlaceholderPlugin::CpPlaceholderPlugin()
-{
-}
-
-CpPlaceholderPlugin::~CpPlaceholderPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpPlaceholderPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- return QList<CpSettingFormItemData*>() << new CpPlaceholderEntryItemData(itemDataHelper);
-}
-
-Q_EXPORT_PLUGIN2(cpplaceholderplugin, CpPlaceholderPlugin);
--- a/controlpanelui/src/cpplugins/placeholderplugin/src/cpplaceholderplugin.h Fri Apr 16 14:59:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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 CPPLACEHOLDERPLUGIN_H
-#define CPPLACEHOLDERPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpPlaceholderPlugin : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpPlaceholderPlugin();
- virtual ~CpPlaceholderPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPPLACEHOLDERPLUGIN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/profileactivatorplugin.pri Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,20 @@
+#
+# 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: display plugin source files
+#
+
+# Input
+HEADERS += src/*.h
+
+SOURCES += src/*.cpp
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/profileactivatorplugin.pro Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,30 @@
+#
+# 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:
+#
+
+TEMPLATE = lib
+TARGET = cpprofileactivator
+
+CONFIG += hb plugin
+
+
+include ( ../cpplugincommon.pri )
+include ( profileactivatorplugin.pri )
+LIBS += -lcpprofilewrapper
+symbian {
+ TARGET.UID3 = 0X20028739
+ TARGET.CAPABILITY = All -TCB
+ TARGET.EPOCALLOWDLLDATA = 1
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatordialog.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,81 @@
+/*
+ * 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:
+ *
+ */
+#include "cpprofileactivatordialog.h"
+
+#include <hbradiobuttonlist.h>
+#include <hbaction.h>
+#include <hbdataformmodelitem.h>
+#include <hbpopup.h>
+#include "cpprofileactivatorentryitem.h"
+CpProfileActivatorDialog::CpProfileActivatorDialog(CpSettingFormItemData *profileActivator,
+ CpProfileModel &profileModel,
+ QGraphicsItem *parent):HbDialog(parent),
+ mProfileModel(profileModel),
+ mProfileList(0),
+ mProfileActivator(profileActivator),
+ mConfirmProfile(0),
+ mCancelProfile(0)
+{
+ mProfileIds << EProfileWrapperGeneralId
+ << EProfileWrapperMeetingId;
+ mProfileList = new HbRadioButtonList();
+ mProfileList->setItems(profileModel.profileNames());
+
+ int currentId = mProfileModel.activeProfileId();
+ mProfileList->setSelected(mProfileIds.indexOf(static_cast<ProfileWrapperProfileId>(currentId)));
+
+
+
+ mConfirmProfile = new HbAction(hbTrId("txt_common_button_ok"));
+ mCancelProfile = new HbAction(hbTrId("txt_common_button_cancel"));
+
+ connect(mConfirmProfile, SIGNAL(triggered(bool)), this, SLOT(confirmProfileSelection()));
+ connect(mCancelProfile, SIGNAL(triggered(bool)), this, SLOT(cancelProfileSelection()));
+
+
+ this->setPrimaryAction(mConfirmProfile);
+ this->setSecondaryAction(mCancelProfile);
+
+ this->setContentWidget(mProfileList);
+ this->setModal(true);
+ this->setDismissPolicy(HbPopup::NoDismiss);
+ this->setTimeout(HbPopup::NoTimeout);
+}
+
+CpProfileActivatorDialog::~CpProfileActivatorDialog()
+{
+ delete mConfirmProfile;
+ delete mCancelProfile;
+}
+void CpProfileActivatorDialog::confirmProfileSelection()
+{
+ int currentIndex = mProfileList->selected();
+
+ // the best choice is no need to convert the index to id
+ mProfileModel.activateProfile(mProfileIds.at(currentIndex));
+ // ret should be remove from here
+ // no invalid profile exsit
+ QString profileName = mProfileModel.profileName(mProfileModel.activeProfileId());
+ //change the descripton of entry item
+ if (CpSettingFormEntryItemData *entryItem = qobject_cast<CpSettingFormEntryItemData*>(mProfileActivator)) {
+ entryItem->setDescription(profileName);
+ }
+}
+void CpProfileActivatorDialog::cancelProfileSelection()
+{
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatordialog.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,47 @@
+/*
+ * 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 CPPROFILEACTIVATORDIALOG_H
+#define CPPROFILEACTIVATORDIALOG_H
+
+#include <hbdialog.h>
+#include <cpprofilemodel.h>
+class HbRadioButtonList;
+class HbDataFormModelItem;
+class CpProfileActivatorEntryItem;
+class CpSettingFormItemData;
+
+class CpProfileActivatorDialog: public HbDialog
+{
+ Q_OBJECT
+public:
+ explicit CpProfileActivatorDialog(CpSettingFormItemData *profileActivator,
+ CpProfileModel &profileModel,
+ QGraphicsItem *parent = 0);
+ ~CpProfileActivatorDialog();
+
+private slots:
+ void confirmProfileSelection();
+ void cancelProfileSelection();
+private:
+ CpProfileModel &mProfileModel;
+ HbRadioButtonList *mProfileList;
+ CpSettingFormItemData *mProfileActivator;
+ HbAction *mConfirmProfile;
+ HbAction *mCancelProfile;
+ QList<ProfileWrapperProfileId> mProfileIds;
+};
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorentryitem.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,96 @@
+/*
+ * 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:
+ *
+ */
+#include "cpprofileactivatorentryitem.h"
+
+#include "cpprofileactivatordialog.h"
+#include <cpitemdatahelper.h>
+#include <cpprofilemodel.h>
+#include <QScopedPointer>
+CpProfileActivatorEntryItem::CpProfileActivatorEntryItem(CpItemDataHelper &itemDataHelper,
+ const QString &text,
+ const QString &description,
+ const HbIcon &icon,
+ const HbDataFormModelItem *parent)
+ :CpSettingFormEntryItemData(itemDataHelper,text,description,
+ icon,parent)
+{
+ mProfileModel = new CpProfileModel();
+ int currentId = mProfileModel->activeProfileId();
+ QString currentName = mProfileModel->profileName(currentId);
+ this->setDescription(currentName);
+}
+CpProfileActivatorEntryItem::~CpProfileActivatorEntryItem()
+{
+ delete mProfileModel;
+}
+void CpProfileActivatorEntryItem::onLaunchView()
+{
+ QScopedPointer<CpProfileActivatorDialog> dialog
+ (new CpProfileActivatorDialog(this, *mProfileModel));
+ dialog->exec();
+// //launch media fetcher
+// if (!mReq)
+// {
+// mReq = mAppMgr.create("com.nokia.services.media.Music", "fetch(QString)", true);
+//
+// if (!mReq)
+// {
+// return;
+// }
+// else
+// {
+// connect(mReq, SIGNAL(requestOk(const QVariant&)), SLOT(handleOk(const QVariant&)));
+// connect(mReq, SIGNAL(requestError(int,const QString&)), SLOT(handleError(int,const QString&)));
+// }
+// }
+//
+// // Set arguments for request (music fetcher application title)
+// QList<QVariant> args;
+// args << QVariant( text() );
+// mReq->setArguments(args);
+//
+// // Make the request
+// if (!mReq->send())
+// {
+// //report error
+// return;
+// }
+
+}
+/*void CpPersonalizationEntryItemData::handleOk(const QVariant &result)
+{
+ if (!result.canConvert<QString>())
+ {
+ setDescription( "Corrupt result" );
+ }
+ else
+ {
+ setDescription( result.value<QString>() );
+ }
+}
+void CpPersonalizationEntryItemData::handleError(int errorCode, const QString& errorMessage)
+{
+ //
+ Q_UNUSED(errorCode);
+ Q_UNUSED(errorMessage);
+ setDescription("Error");
+}*/
+
+CpBaseSettingView *CpProfileActivatorEntryItem::createSettingView() const
+{
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorentryitem.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,42 @@
+/*
+ * 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 CPPERSONALIZATIONENTRYITEMDATA_H
+#define CPPERSONALIZATIONENTRYITEMDATA_H
+
+#include <cpsettingformentryitemdata.h>
+
+class CpProfileModel;
+class CpProfileActivatorEntryItem : public CpSettingFormEntryItemData
+{
+Q_OBJECT
+public:
+ explicit CpProfileActivatorEntryItem(CpItemDataHelper &itemDataHelper,
+ const QString &text = QString(), const QString &description =
+ QString(), const HbIcon &icon = HbIcon(),
+ const HbDataFormModelItem *parent = 0);
+ virtual ~CpProfileActivatorEntryItem();
+private slots:
+ void onLaunchView();
+ //void handleOk(const QVariant &result);
+ //void handleError(int errorCode, const QString& errorMessage);
+private:
+ virtual CpBaseSettingView *createSettingView() const;
+private:
+ CpProfileModel *mProfileModel;
+};
+
+#endif // CPPERSONALIZATIONENTRYITEMDATA_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorplugin.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,37 @@
+/*
+ * 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:
+ *
+ */
+
+#include "cpprofileactivatorplugin.h"
+#include "cpprofileactivatorentryitem.h"
+
+CpProfileActivatorPlugin::CpProfileActivatorPlugin()
+{
+}
+
+CpProfileActivatorPlugin::~CpProfileActivatorPlugin()
+{
+}
+
+QList<CpSettingFormItemData*> CpProfileActivatorPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
+{
+ CpSettingFormItemData* itemData = new CpProfileActivatorEntryItem(
+ itemDataHelper,
+ hbTrId("txt_cp_dblist_profile"));
+ return QList<CpSettingFormItemData*>() << itemData;
+}
+
+Q_EXPORT_PLUGIN2(cpprofileactivatorplugin, CpProfileActivatorPlugin);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorplugin.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,33 @@
+/*
+ * 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 CPPROFILEACTIVATOR_H
+#define CPPROFILEACTIVATOR_H
+
+#include <qobject.h>
+#include <cpplugininterface.h>
+
+class CpProfileActivatorPlugin : public QObject, public CpPluginInterface
+{
+Q_OBJECT
+ Q_INTERFACES(CpPluginInterface)
+public:
+ CpProfileActivatorPlugin();
+ virtual ~CpProfileActivatorPlugin();
+ virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif //CPPROFILEACTIVATOR_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/ringtoneplugin/ringtoneplugin.pri Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,20 @@
+#
+# 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: display plugin source files
+#
+
+# Input
+HEADERS += src/*.h
+
+SOURCES += src/*.cpp
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/ringtoneplugin/ringtoneplugin.pro Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,33 @@
+#
+# 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:
+#
+
+TEMPLATE = lib
+TARGET = cpringtoneplugin
+
+
+CONFIG += hb plugin
+
+LIBS += -lcpprofilewrapper
+LIBS += -lxqservice -lxqserviceutil
+
+include ( ../cpplugincommon.pri )
+include ( ringtoneplugin.pri )
+
+symbian {
+ TARGET.UID3 = 0X20028738
+ TARGET.CAPABILITY = All -TCB
+ TARGET.EPOCALLOWDLLDATA = 1
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/ringtoneplugin/src/cppersonalizationentryitemdata.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,120 @@
+/*
+ * 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:
+ *
+ */
+#include "cppersonalizationentryitemdata.h"
+#include <xqaiwrequest.h>
+#include <cpitemdatahelper.h>
+#include <cpprofilemodel.h>
+#include <cplogger.h>
+#include <qdir.h>
+
+CpPersonalizationEntryItemData::CpPersonalizationEntryItemData(CpItemDataHelper &itemDataHelper,
+ const QString &text,
+ const QString &description,
+ const HbIcon &icon,
+ const HbDataFormModelItem *parent)
+ :CpSettingFormEntryItemData(itemDataHelper,text,description,
+ icon,parent),mReq(0),mProfileModel(0)
+{
+ CPFW_LOG("CpPersonalizationEntryItemData::CpPersonalizationEntryItemData(), START");
+ mProfileModel = new CpProfileModel();
+ if(mProfileModel)
+ {
+ setDescription( mProfileModel->ringTone().section(QDir::separator (),-1) );
+ }
+ else
+ {
+ CPFW_LOG("CpPersonalizationEntryItemData::mProfileModel:NULL!");
+ }
+}
+CpPersonalizationEntryItemData::~CpPersonalizationEntryItemData()
+{
+ if( mProfileModel )
+ {
+ delete mProfileModel;
+ mProfileModel = NULL;
+ }
+}
+void CpPersonalizationEntryItemData::onLaunchView()
+{
+ CPFW_LOG("CpPersonalizationEntryItemData::onLaunchView, START");
+
+ //launch media fetcher
+ if (!mReq)
+ {
+ mReq = mAppMgr.create("com.nokia.services.media.Music", "fetch(QString)", true);
+
+ if (!mReq)
+ {
+ CPFW_LOG("CpPersonalizationEntryItemData::onLaunchView, Mediafetcher start failed");
+ return;
+ }
+ else
+ {
+ connect(mReq, SIGNAL(requestOk(const QVariant&)), SLOT(handleOk(const QVariant&)));
+ connect(mReq, SIGNAL(requestError(int,const QString&)), SLOT(handleError(int,const QString&)));
+ }
+ }
+
+ // Set arguments for request (music fetcher application title)
+ QList<QVariant> args;
+ args << QVariant( text() );
+ mReq->setArguments(args);
+
+ // Make the request
+ if (!mReq->send())
+ {
+ CPFW_LOG("CpPersonalizationEntryItemData::onLaunchView, Mediafetcher calling failed");
+ //report error
+ return;
+ }
+ CPFW_LOG("CpPersonalizationEntryItemData::onLaunchView, successful END");
+
+}
+void CpPersonalizationEntryItemData::handleOk(const QVariant &result)
+{
+ CPFW_LOG("CpPersonalizationEntryItemData::handleOk");
+ if (!result.canConvert<QString>())
+ {
+ setDescription( "Corrupt result" );
+ }
+ else
+ {
+ QString strRet = result.value<QString>();
+ if(strRet.length())
+ {
+ setDescription( strRet.section(QDir::separator (),-1) );
+ }
+ else
+ {
+ setDescription( "No tone" );
+ }
+ mProfileModel->setRingTone( strRet );
+ }
+}
+void CpPersonalizationEntryItemData::handleError(int errorCode, const QString& errorMessage)
+{
+ CPFW_LOG("CpPersonalizationEntryItemData::handleError");
+ //handling error return
+ Q_UNUSED(errorCode);
+ Q_UNUSED(errorMessage);
+ setDescription("Error media fetcher");
+}
+
+CpBaseSettingView *CpPersonalizationEntryItemData::createSettingView() const
+{
+ return NULL;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/ringtoneplugin/src/cppersonalizationentryitemdata.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,50 @@
+/*
+ * 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 CPPERSONALIZATIONENTRYITEMDATA_H
+#define CPPERSONALIZATIONENTRYITEMDATA_H
+
+#include <cpsettingformentryitemdata.h>
+#include <xqappmgr.h>
+
+class CpProfileModel;
+class XQApplicationManager;
+class XQAiwRequest;
+
+
+class CpPersonalizationEntryItemData : public CpSettingFormEntryItemData
+{
+ Q_OBJECT
+public:
+ explicit CpPersonalizationEntryItemData(CpItemDataHelper &itemDataHelper,
+ const QString &text = QString(),
+ const QString &description = QString(),
+ const HbIcon &icon = HbIcon(),
+ const HbDataFormModelItem *parent = 0);
+ virtual ~CpPersonalizationEntryItemData();
+private slots:
+ void onLaunchView();
+ void handleOk(const QVariant &result);
+ void handleError(int errorCode, const QString& errorMessage);
+private:
+ virtual CpBaseSettingView *createSettingView() const;
+private:
+ XQApplicationManager mAppMgr;
+ XQAiwRequest* mReq;
+ CpProfileModel *mProfileModel;
+};
+
+#endif // CPPERSONALIZATIONENTRYITEMDATA_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/ringtoneplugin/src/cpringtoneplugin.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,36 @@
+/*
+ * 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:
+ *
+ */
+#include "cpringtoneplugin.h"
+#include "cppersonalizationentryitemdata.h"
+
+CpRingTonePlugin::CpRingTonePlugin()
+{
+}
+
+CpRingTonePlugin::~CpRingTonePlugin()
+{
+}
+
+QList<CpSettingFormItemData*> CpRingTonePlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
+{
+ CpPersonalizationEntryItemData *itemData = new CpPersonalizationEntryItemData(itemDataHelper,
+ tr("Ring tone"),
+ tr("Default ring tone"));
+ return QList<CpSettingFormItemData*>() << itemData;
+}
+
+Q_EXPORT_PLUGIN2(cpringtoneplugin, CpRingTonePlugin);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/ringtoneplugin/src/cpringtoneplugin.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,33 @@
+/*
+ * 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 CPRINGTONEPLUGIN_H
+#define CPRINGTONEPLUGIN_H
+
+#include <qobject.h>
+#include <cpplugininterface.h>
+
+class CpRingTonePlugin : public QObject, public CpPluginInterface
+{
+Q_OBJECT
+ Q_INTERFACES(CpPluginInterface)
+public:
+ CpRingTonePlugin();
+ virtual ~CpRingTonePlugin();
+ virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif //CPRINGTONEPLUGIN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_decrement.svg Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<polygon points="33.999,26 10,26 10,17.998 33.999,17.998 "/>
+<rect fill="#FFFFFF" height="4" width="20" x="12" y="20"/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_decrement_pressed.svg Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<polygon points="33.999,26 10,26 10,17.998 33.999,17.998 "/>
+<rect fill="#00FF00" height="4" width="20" x="12" y="20"/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_increment.svg Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<polygon points="26.001,33.999 18,33.999 18,26.001 10,26.001 10,18 18,18 18,9.999 26.001,9.999 26.001,18 33.999,18 33.999,26.001 26.001,26.001 "/>
+<polygon fill="#FFFFFF" points="31.999,20 23.999,20 23.999,12 20,12 20,20 12,20 12,23.999 20,23.999 20,31.999 23.999,31.999 23.999,23.999 31.999,23.999 "/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_increment_pressed.svg Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<polygon points="26.001,33.999 18,33.999 18,26.001 10,26.001 10,18 18,18 18,9.999 26.001,9.999 26.001,18 33.999,18 33.999,26.001 26.001,26.001 "/>
+<polygon fill="#00FF00" points="31.999,20 23.999,20 23.999,12 20,12 20,20 12,20 12,23.999 20,23.999 20,31.999 23.999,31.999 23.999,23.999 31.999,23.999 "/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_muted.svg Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<path d="M25.824,21.015V8.411h-9.979l-1.025,1.6L8.354,3.545L3.651,8.242l6.797,6.795H4.931v15.818h6.671l4.24,6.625h9.982v-7.067 l7.902,7.905l4.697-4.703L25.824,21.015z M19.179,30.336L15.26,24.21h-3.682v-2.524h3.682l0.715-1.121l3.204,3.203V30.336z"/>
+<rect fill="#FFFFFF" height="2.648" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 21.1169 50.6082)" width="38.533" x="1.773" y="19.607"/>
+<polygon fill="#FFFFFF" points="21.179,32.835 18.403,32.835 14.166,26.209 9.578,26.209 9.578,19.685 14.166,19.685 14.463,19.219 12.279,17.037 6.931,17.037 6.931,28.855 12.695,28.855 16.937,35.48 23.824,35.48 23.824,28.579 21.179,25.936 "/>
+<polygon fill="#FFFFFF" points="18.403,13.06 21.179,13.06 21.179,16.202 23.824,18.847 23.824,10.412 16.937,10.412 16.332,11.355 18.259,13.284 "/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_unmuted.svg Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<path d="M34.951,38.12l-5.054-4.302l1.282-1.521c0.877-1.04,8.324-10.39,0.111-18.605l-1.414-1.413l4.697-4.701l1.413,1.415 c12.695,12.699,0.386,27.46,0.259,27.606L34.951,38.12L34.951,38.12z"/>
+<path d="M30.761,14.545l-1.414-1.412l-3.521,3.521V8.411h-9.981l-4.24,6.624H4.93v15.82h6.674l4.24,6.625h9.981v-8.201l3.855,3.287 l1.298-1.521C33.574,28.005,36.864,20.643,30.761,14.545z M19.18,30.335l-3.921-6.128h-3.682v-2.522h3.682l3.921-6.128V30.335z M25.918,26.742l-0.094,0.109v-7.844l0.237,0.236C29.324,22.505,26.277,26.318,25.918,26.742z"/>
+<path d="M27.476,17.83c4.622,4.622,0.158,9.979-0.031,10.203l2.014,1.714c2.181-2.554,4.957-8.725-0.11-13.788 L27.476,17.83z" fill="#FFFFFF"/>
+<path d="M34.576,10.406l-1.873,1.871c9.664,9.663,0.404,20.838,0.006,21.309l2.017,1.717 C34.838,35.17,45.974,21.811,34.576,10.406z" fill="#FFFFFF"/>
+<path d="M16.937,10.411l-4.242,6.625H6.931v11.819h5.764l4.242,6.625h6.887V10.411H16.937z M21.179,32.834h-2.776 l-4.237-6.626H9.578v-6.524h4.588l4.237-6.625h2.776V32.834z" fill="#FFFFFF"/>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpmastervolumeslider.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,166 @@
+/*
+ * 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:
+ *
+ */
+#include "cpmastervolumeslider.h"
+
+CpMasterVolumeSlider::CpMasterVolumeSlider(QGraphicsItem *parent /* =0 */)
+ :HbSlider(parent),
+ mPreviousValue(0)
+{
+// QList<HbSlider::SliderElement> elements;
+// elements << HbSlider::IncreaseElement
+// << HbSlider::TrackElement
+// << HbSlider::DecreaseElement
+// << HbSlider::IconElement
+// << HbSlider::TextElement;
+//
+// setElements( elements );
+// setOrientation(Qt::Horizontal);
+// setMaximum(10);
+// setMinimum(1);
+//
+// setIcon(HbSlider::DecreaseElement, HbIcon(":/icon/hb_vol_slider_decrement.svg"));
+// setIcon(HbSlider::IncreaseElement, HbIcon(":/icon/hb_vol_slider_increment.svg"));
+// setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_muted.svg"));
+//
+// setIconCheckable(true);
+//
+// // set tick and beep label
+//
+//#if 1
+//// setMajorTickInterval(1);
+//// setTickPosition(Hb::SliderTicksBothSides);
+//// QStringList labelList;
+//// labelList<< tr("")
+//// << tr("Beep");
+//
+//// this->setMajorTickLabels(labelList);
+//#endif
+// /*
+// connect(this, SIGNAL(iconToggled(bool)),
+// this, SLOT(onMuteIconToggled(bool)));*/
+// connect(this, SIGNAL(valueChanged(int)),
+// this, SLOT(onValueChanged(int)));
+//// onValueChanged(value());
+}
+
+CpMasterVolumeSlider::~CpMasterVolumeSlider()
+{
+}
+
+/*bool CpMasterVolumeSlider::isBeepMode()
+{
+ if (value() == minimum()+1) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+void CpMasterVolumeSlider::setBeepMode(bool isBeepMode)
+{
+ if (isBeepMode == true) {
+ setValue(minimum()+1);
+ }
+ else {
+ setValue(mPreviousValue);
+ }
+}*/
+
+/*bool CpMasterVolumeSlider::isSilentMode()
+{
+ if (value() == minimum()) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+void CpMasterVolumeSlider::setSilentMode(bool isSilentMode)
+{
+ if (isSilentMode == true) {
+ setValue(minimum());
+ }
+ else {
+ setValue(mPreviousValue);
+ }
+}
+
+int CpMasterVolumeSlider::normalValue()
+{
+ return (value()-1);
+}
+
+void CpMasterVolumeSlider::setNormalValue(int normalValue)
+{
+ setValue(normalValue+1);
+}
+*/
+void CpMasterVolumeSlider::onValueChanged(int value)
+{
+// if (this->minimum( ) == value) {
+// // volume is mute
+// this->setIconChecked( true );
+// emit silentActivated();
+// }
+// else {
+// // unmute volume
+// this->setIconEnabled( true );
+// //this->setIconCheckable(false);
+// //this->setIconChecked( false );
+// this->setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_unmuted.svg"));
+// this->setIconCheckable(true);
+//
+//
+// /*if (value == 1) {
+// emit beepActivated();
+// }*/
+// //else {
+// int valueMap = value;
+// emit normalValueChanged(valueMap);
+// //}
+// }
+}
+
+/*void CpMasterVolumeSlider::onIncreaseIconClicked()
+{
+}
+
+void CpMasterVolumeSlider::onDecreaseIconClicked()
+{
+}*/
+
+void CpMasterVolumeSlider::onMuteIconToggled(bool isToggled)
+{
+// if (isToggled) {
+// mPreviousValue = value();
+// this->setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_muted.svg"));
+// setValue(minimum());
+// }
+// else {
+// this->setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_unmuted.svg"));
+// if (mPreviousValue == minimum()||mPreviousValue == minimum()+1) {
+// setValue(minimum()+1);
+// }
+// else {
+// setValue(mPreviousValue);
+// }
+// mPreviousValue = 0;
+// }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpmastervolumeslider.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,55 @@
+/*
+ * 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 CP_MASTERVOLUMESLIDER_H
+#define CP_MASTERVOLUMESLIDER_H
+
+#include <hbslider.h>
+#include <hbmessagebox.h>
+class CpMasterVolumeSlider: public HbSlider
+{
+ Q_OBJECT
+ //Q_PROPERTY(bool beepMode READ isBeepMode WRITE setBeepMode)
+ //Q_PROPERTY(bool silentMode READ isSilentMode WRITE setSilentMode)
+ //Q_PROPERTY(int normalValue READ normalValue WRITE setNormalValue)
+
+public:
+ explicit CpMasterVolumeSlider(QGraphicsItem *parent = 0);
+ ~CpMasterVolumeSlider();
+
+public:
+ //bool isBeepMode();
+ //void setBeepMode(bool isBeepMode);
+ //bool isSilentMode();
+ //void setSilentMode(bool isSilentMode);
+ //int normalValue();
+ //void setNormalValue(int normalValue);
+
+signals:
+ //void beepActivated();
+ void silentActivated();
+ void normalValueChanged(int value);
+private slots:
+ void onValueChanged(int value);
+ //void onIncreaseIconClicked();
+ //void onDecreaseIconClicked();
+ void onMuteIconToggled(bool isToggled);
+private:
+ int mPreviousValue;
+};
+
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,139 @@
+/*
+ * 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:
+ *
+ */
+
+#include "cppersonalizationcustomviewitem.h"
+#include "cpmastervolumeslider.h"
+#include <hbdataformmodelitem.h>
+#include <hbdataformmodel.h>
+#include <hbabstractitemview.h>
+#include <QMetaProperty>
+#include <hbpushbutton.h>
+
+CpPersonalizationCustomViewItem::CpPersonalizationCustomViewItem(QGraphicsItem *parent )
+ : HbDataFormViewItem(parent),
+ mWidget(0)
+{
+}
+CpPersonalizationCustomViewItem::~CpPersonalizationCustomViewItem()
+{
+}
+HbAbstractViewItem* CpPersonalizationCustomViewItem::createItem()
+{
+ return new CpPersonalizationCustomViewItem(*this);
+}
+bool CpPersonalizationCustomViewItem::canSetModelIndex(const QModelIndex &index) const
+{
+ CpVolumeCustomItemType type = static_cast<CpVolumeCustomItemType>(index.data(HbDataFormModelItem::ItemTypeRole).toInt());
+ /*if (type == MasterVolumeSliderItem) {
+ return true;
+ }
+ else*/ if (type == SilenceIndicatorItem) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+HbWidget *CpPersonalizationCustomViewItem::createCustomWidget()
+{
+ CpVolumeCustomItemType type = static_cast<CpVolumeCustomItemType>
+ (modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+ /*if (type == MasterVolumeSliderItem) {
+ CpMasterVolumeSlider *masterVolumeSlider = new CpMasterVolumeSlider();
+ connect(masterVolumeSlider, SIGNAL(valueChanged(int)), this, SLOT(store()));
+ mWidgetMap.insert(type,masterVolumeSlider);
+ return masterVolumeSlider;
+ } else*/ if (type == SilenceIndicatorItem ) {
+ HbPushButton *slienceIndicator = new HbPushButton();
+ slienceIndicator->setCheckable(true);
+ connect(slienceIndicator, SIGNAL(toggled(bool)),this,SLOT(store()));
+ mWidget = slienceIndicator;
+ return slienceIndicator;
+ }
+ else {
+ return 0;
+ }
+}
+
+void CpPersonalizationCustomViewItem::load()
+{
+ HbDataFormViewItem::load();
+
+ CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
+ modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+ if(itemType == SilenceIndicatorItem) {
+
+ QModelIndex itemIndex = modelIndex();
+ HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+ HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+ model->itemFromIndex(itemIndex));
+
+
+ if (mWidget != 0) {
+ const QMetaObject *metaObj = mWidget->metaObject();
+ int count = metaObj->propertyCount();
+ for (int i = 0; i < count; i++) {
+ QMetaProperty metaProperty = metaObj->property(i);
+ if (metaProperty.isValid() && metaProperty.isWritable()) {
+ metaProperty.write(mWidget,modelItem->contentWidgetData(metaProperty.name()));
+ }
+ }
+ }
+ }
+}
+
+
+void CpPersonalizationCustomViewItem::store()
+{
+ HbDataFormViewItem::store();
+
+ CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
+ modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+ if(itemType == SilenceIndicatorItem) {
+
+ QModelIndex itemIndex = modelIndex();
+ HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());
+ HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+ model->itemFromIndex(itemIndex));
+
+
+ /*if (CpMasterVolumeSlider *slider = qobject_cast<CpMasterVolumeSlider *>(widget)) {
+ modelItem->setContentWidgetData("value",slider->value());
+ }*/
+ if (HbPushButton *silenceIndicator = qobject_cast<HbPushButton *>(mWidget)) {
+ modelItem->setContentWidgetData("checked",silenceIndicator->isChecked());
+ }
+ }
+}
+
+/*void CpPersonalizationCustomViewItem::onValueChanged(int value)
+{
+ HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+ modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+ if(itemType == MasterVolumeSliderItem) {
+
+ QModelIndex itemIndex = modelIndex();
+ HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+ HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+ model->itemFromIndex(itemIndex));
+ modelItem->setContentWidgetData("value",value);
+ }
+}*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,50 @@
+/*
+ * 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 CP_PERSONALIZATION_CUSTOMVIEWITEM_H
+#define CP_PERSONALIZATION_CUSTOMVIEWITEM_H
+
+#include <hbdataformviewitem.h>
+#include <hbdataformmodelitem.h>
+#include <QMap>
+
+class HbWidget;
+
+enum CpVolumeCustomItemType {
+ MasterVolumeSliderItem = HbDataFormModelItem::CustomItemBase+21,
+ SilenceIndicatorItem = HbDataFormModelItem::CustomItemBase+22
+};
+
+class CpPersonalizationCustomViewItem: public HbDataFormViewItem
+{
+ Q_OBJECT
+public:
+ explicit CpPersonalizationCustomViewItem(QGraphicsItem *parent = 0);
+ ~CpPersonalizationCustomViewItem();
+ virtual HbAbstractViewItem* createItem();
+ virtual bool canSetModelIndex(const QModelIndex &index) const;
+public slots:
+ virtual void load();
+ virtual void store();
+/*private slots:
+ void onValueChanged(int value);*/
+protected:
+ virtual HbWidget* createCustomWidget();
+private:
+ //QMap<CpVolumeCustomItemType, HbWidget *> mWidgetMap;
+ HbWidget *mWidget;
+};
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumecontroller.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,144 @@
+
+/*
+ * 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:
+ *
+ */
+
+#include "cpvolumecontroller.h"
+#include <cplogger.h>
+#include <cpitemdatahelper.h>
+#include <hbdataformmodelitem.h>
+#include "cpvolumegroupitemdata.h"
+#ifdef Q_OS_SYMBIAN
+ #include <cpprofilemodel.h>
+#endif
+//#include <hbslider.h>
+//#include <hbpushbutton.h>
+
+CpVolumeController::CpVolumeController(CpProfileModel *profileModel,
+ const QList<HbDataFormModelItem *> &itemList,
+ CpItemDataHelper &itemDataHelper):
+ mProfileModel(profileModel),
+ mItemList(itemList)
+
+{
+ //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(beepActivated()),this,SLOT(onBeepActivated()));
+ //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(silentActivated()),this,SLOT(onSilentActivated()));
+ //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(normalValueChanged(int)),this,SLOT(onNormalValueChanged(int)));
+ //updateMasterVolumeValue();
+ itemDataHelper.addConnection(
+ mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem), SIGNAL(toggled(bool)),
+ this, SLOT(silenceModeChange(bool))
+ );
+ itemDataHelper.addConnection(
+ mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem), SIGNAL(valueChanged(int)),
+ this, SLOT(masterVolumeChange(int))
+ );
+ itemDataHelper.addConnection(
+ mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem), SIGNAL(stateChanged(int)),
+ this, SLOT(masterVibraChange(int))
+ );
+ update();
+}
+
+CpVolumeController::~CpVolumeController()
+{
+
+}
+
+/*void CpMasterVolumeValueController::onBeepActivated()
+{
+#ifdef Q_OS_SYMBIAN
+ mProfileModel->activateBeep();
+#endif
+}*/
+
+void CpVolumeController::silenceModeChange(bool isSilence)
+{
+#ifdef Q_OS_SYMBIAN
+ mProfileModel->setSilenceMode(isSilence);
+ HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
+ masterVolume->setEnabled(!isSilence);
+#endif
+}
+
+void CpVolumeController::masterVolumeChange(int value)
+{
+#ifdef Q_OS_SYMBIAN
+ mProfileModel->setMasterVolume( volumeLevelToInt( (CpVolumeController::VolumeLevel)value ) );
+ HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
+ masterVolume->setContentWidgetData("value",value);
+#endif
+}
+
+void CpVolumeController::masterVibraChange(int state)
+{
+#ifdef Q_OS_SYMBIAN
+ mProfileModel->setMasterVibra(state);
+#endif
+}
+
+void CpVolumeController::update()
+{
+#ifdef Q_OS_SYMBIAN
+ bool isSilenceMode = mProfileModel->isSilenceMode();
+ HbDataFormModelItem *silenceIndicator = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem);
+ silenceIndicator->setContentWidgetData("checked",isSilenceMode);
+ HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
+ if (masterVolume) {
+ CPFW_LOG("::updateMasterVolumeValue(), Start using profile model.");
+ QMap<QString, QVariant> iconMaps;
+ if (isSilenceMode) {
+ CPFW_LOG("::updateMasterVolumeValue(), Got silent state.");
+ iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
+ }
+ else {
+ iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg"));
+ CPFW_LOG("::updateMasterVolumeValue(), Got ring volume.");
+ }
+ masterVolume->setContentWidgetData("elementIcons", iconMaps);
+ masterVolume->setEnabled(!isSilenceMode);
+ //masterVolume->setContentWidgetData("enabled",!isSilenceMode);
+ masterVolume->setContentWidgetData("value",intToVolumeLevel(mProfileModel->masterVolume()));
+ }
+ HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem);
+ if (masterVibra) {
+ masterVibra->setContentWidgetData("checkState",(mProfileModel->masterVibra()?2:0));
+ }
+
+#endif
+}
+
+int CpVolumeController::volumeLevelToInt( CpVolumeController::VolumeLevel volumeLevel )
+{
+ switch( volumeLevel ){
+ case VolumenLevelSoft:
+ return 1;
+ case VolumeLevelMed:
+ return 5;
+ case VolumeLevelLoud:
+ return 10;
+ }
+}
+CpVolumeController::VolumeLevel CpVolumeController::intToVolumeLevel( int value )
+{
+ if( value < 4 ) {
+ return VolumenLevelSoft;
+ } else if( value < 8 )
+ return VolumeLevelMed;
+ else{
+ return VolumeLevelLoud;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumecontroller.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,54 @@
+/*
+ * 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 CPVOLUMECONTROLLER_H
+#define CPVOLUMECONTROLLER_H
+
+#include <QObject>
+
+class CpProfileModel;
+class HbDataFormModelItem;
+class CpItemDataHelper;
+
+class CpVolumeController : public QObject
+{
+ Q_OBJECT
+public:
+ CpVolumeController(CpProfileModel *profileModel,
+ const QList<HbDataFormModelItem *> &itemList,
+ CpItemDataHelper &itemDataHelper);
+ virtual ~CpVolumeController();
+private:
+ enum VolumeLevel{
+ VolumenLevelSoft = 1,
+ VolumeLevelMed = 2 ,
+ VolumeLevelLoud = 3
+ };
+private slots:
+ void silenceModeChange(bool isSilence);
+ void masterVolumeChange(int value);
+ void masterVibraChange(int state);
+private:
+ void update();
+ int volumeLevelToInt( CpVolumeController::VolumeLevel volumeLevel );
+ CpVolumeController::VolumeLevel intToVolumeLevel( int value );
+
+private:
+ CpProfileModel *mProfileModel;
+ QList<HbDataFormModelItem *> mItemList;
+};
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumegroupitemdata.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,125 @@
+/*
+ * 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:
+ *
+ */
+#include "cpvolumegroupitemdata.h"
+#include <cplogger.h>
+#include <QStringList>
+#include <cpsettingformentryitemdataimpl.h>
+#include <cpbasesettingview.h>
+#include <cpitemdatahelper.h>
+#include <hbmessagebox.h>
+#include <cpprofilemodel.h>
+//#include "cpmastervolumevaluecontroller.h"
+#include "cpvolumecontroller.h"
+#include "cppersonalizationcustomviewitem.h"
+#include <hbslider.h>
+
+CpVolumeGroupItemData::CpVolumeGroupItemData(CpItemDataHelper &itemDataHelper)
+: CpSettingFormItemData(HbDataFormModelItem::GroupItem,tr("txt_cp_subhead_volume")),//mSilenceIndicator(0),
+ //mMasterVolume(0),
+ //mMasterVibra(0),
+ mVolumeController(0),
+ mProfileModel(0)
+{
+ initItems(itemDataHelper);
+}
+
+CpVolumeGroupItemData::~CpVolumeGroupItemData()
+{
+ delete mProfileModel;
+}
+
+void CpVolumeGroupItemData::initItems(CpItemDataHelper &itemDataHelper)
+{
+ mProfileModel = new CpProfileModel();
+
+ itemDataHelper.addItemPrototype(new CpPersonalizationCustomViewItem);
+ CPFW_LOG("CpVolumeGroupItemData::initItems(), get active profile id");
+ CPFW_LOG("CpVolumeGroupItemData::initItems(), succeed in getting id");
+
+ HbDataFormModelItem *silenceIndicator = new HbDataFormModelItem(static_cast<HbDataFormModelItem::DataItemType>(SilenceIndicatorItem));
+ mItemList.insert(CpVolumeGroupItemData::EVolumeSilenceItem, silenceIndicator);
+ silenceIndicator->setContentWidgetData("text",hbTrId("txt_cp_button_silence"));
+ this->appendChild(silenceIndicator);
+
+ HbDataFormModelItem *masterVolume = new HbDataFormModelItem(HbDataFormModelItem::SliderItem,
+ hbTrId("txt_cp_setlabel_volume"));
+ mItemList.insert(CpVolumeGroupItemData::EVolumeMasterVolumeItem, masterVolume);
+ QList<QVariant> elements;
+ elements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
+ << QVariant(HbSlider::DecreaseElement) << QVariant(HbSlider::IconElement)
+ << QVariant(HbSlider::TextElement);
+ masterVolume->setContentWidgetData("sliderElements",elements);
+
+ QMap<QString, QVariant> iconMaps;
+ iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
+ iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
+ //iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
+
+ masterVolume->setContentWidgetData("elementIcons", iconMaps);
+ masterVolume->setContentWidgetData("minimum", 1);
+ masterVolume->setContentWidgetData("maximum", 3);
+ masterVolume->setContentWidgetData("majorTickInterval",1);
+
+ QStringList tickLabels;
+ tickLabels<<hbTrId("Soft")
+ <<hbTrId("Med")
+ <<hbTrId("Loud");
+ masterVolume->setContentWidgetData("majorTickLabels",tickLabels);
+
+ this->appendChild(masterVolume);
+
+ HbDataFormModelItem *masterVibra = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem);
+ mItemList.insert(CpVolumeGroupItemData::EVolumeMasterVibraItem, masterVibra);
+ masterVibra->setContentWidgetData("text",hbTrId("txt_cp_list_vibrate"));
+
+ this->appendChild(masterVibra);
+
+ mVolumeController = new CpVolumeController(mProfileModel, mItemList, itemDataHelper);
+}
+//void CpVolumeGroupItemData::activateProfile(int profileIndex)
+//{
+// switch (profileIndex) {
+// case 0: // general
+// {
+// mProfileModel->activateProfile(EProfileWrapperGeneralId);
+// int volumeValue = mProfileModel->ringVolume();
+// // update the master volume when profile changed
+// // should be used profileChangedObserver in the future;
+// mMasterVolume->setContentWidgetData(/*"visible"*/"enabled",true);
+// mMasterVolume->setContentWidgetData("value", volumeValue);
+// break;
+// }
+// case 1: // meeting
+// {
+// mProfileModel->activateProfile(EProfileWrapperMeetingId);
+// int volumeValue = mProfileModel->ringVolume();
+// mMasterVolume->setContentWidgetData(/*"visible"*/"enabled",true);
+// mMasterVolume->setContentWidgetData("value", volumeValue);
+// break;
+// }
+// case 2: // silent
+// {
+// mProfileModel->activateProfile(EProfileWrapperSilentId);
+// mMasterVolume->setContentWidgetData("value", 0);
+// mMasterVolume->setContentWidgetData(/*"visible"*/"enabled",false);
+// break;
+// }
+// default:
+// break;
+//
+// }
+//}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumegroupitemdata.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,48 @@
+/*
+ * 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 CPPROFILESGROUPITEMDATA_H
+#define CPPROFILESGROUPITEMDATA_H
+
+#include <cpsettingformitemdata.h>
+#include <cpprofilemodel.h>
+
+class CpProfileModel;
+class CpItemDataHelper;
+class CpVolumeController;
+class CpVolumeGroupItemData : public CpSettingFormItemData
+{
+ Q_OBJECT
+public:
+ enum VolumeGroupModelItem {
+ EVolumeSilenceItem,
+ EVolumeMasterVolumeItem,
+ EVolumeMasterVibraItem,
+ EVolumeItemEnd
+ };
+public:
+ explicit CpVolumeGroupItemData(CpItemDataHelper &itemDataHelper);
+ virtual ~CpVolumeGroupItemData();
+private:
+ Q_DISABLE_COPY(CpVolumeGroupItemData)
+ void initItems(CpItemDataHelper &itemDataHelper);
+ QList<HbDataFormModelItem *> mItemList;
+ CpVolumeController *mVolumeController;
+ CpProfileModel *mProfileModel;
+};
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumeplugin.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,40 @@
+/*
+ * 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:
+ *
+ */
+
+#include "cpvolumeplugin.h"
+#include "cpvolumegroupitemdata.h"
+#include <cpitemdatahelper.h>
+
+CpVolumePlugin::CpVolumePlugin()
+{
+}
+
+CpVolumePlugin::~CpVolumePlugin()
+{
+}
+
+QList<CpSettingFormItemData*> CpVolumePlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
+{
+
+ CpVolumeGroupItemData *volumeGroupItem = new CpVolumeGroupItemData(itemDataHelper);
+
+ return QList<CpSettingFormItemData*>() << volumeGroupItem ;
+}
+
+Q_EXPORT_PLUGIN2(cpvolumeplugin, CpVolumePlugin);
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumeplugin.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,38 @@
+/*
+ * 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 CPVOLUMEPLUGIN_H
+#define CPVOLUMEPLUGIN_H
+
+#include <qobject.h>
+#include <cpplugininterface.h>
+
+class CpVolumePlugin
+ : public QObject,
+ public CpPluginInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(CpPluginInterface)
+public:
+ CpVolumePlugin();
+ virtual ~CpVolumePlugin();
+ virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif /* CPVOLUMEPLUGIN_H */
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/volumeplugin.pri Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,21 @@
+#
+# 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: controlpanel project - common qmake settings
+#
+
+HEADERS += src/*.h
+SOURCES += src/*.cpp
+
+
+
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/volumeplugin.pro Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,29 @@
+#
+# 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:
+#
+
+TEMPLATE = lib
+TARGET = cpvolumeplugin
+
+CONFIG += hb plugin
+RESOURCES += volumeplugin.qrc
+LIBS += -lcpprofilewrapper
+
+include ( ../cpplugincommon.pri )
+include ( volumeplugin.pri )
+
+symbian {
+ TARGET.UID3 = 0X20028737
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpplugins/volumeplugin/volumeplugin.qrc Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,10 @@
+<RCC>
+ <qresource prefix="/">
+ <file>icon/hb_vol_slider_decrement.svg</file>
+ <file>icon/hb_vol_slider_decrement_pressed.svg</file>
+ <file>icon/hb_vol_slider_increment.svg</file>
+ <file>icon/hb_vol_slider_increment_pressed.svg</file>
+ <file>icon/hb_vol_slider_muted.svg</file>
+ <file>icon/hb_vol_slider_unmuted.svg</file>
+ </qresource>
+</RCC>
\ No newline at end of file
--- a/controlpanelui/src/cpprofilewrapper/cpprofilewrapper.pro Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpprofilewrapper/cpprofilewrapper.pro Mon May 03 12:32:06 2010 +0300
@@ -52,7 +52,7 @@
../inc/cpprofilewrappermacro.h \
src/cpprofilemodel_p.h
SOURCES += src/cpprofilemodel.cpp
-
+CONFIG += hb
win32 {
INCLUDEPATH += $$PWD/src
INCLUDEPATH += ../inc
@@ -61,14 +61,16 @@
symbian {
INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
- $$APP_LAYER_SYSTEMINCLUDE \
- $$MOC_DIR
+ $$APP_LAYER_SYSTEMINCLUDE \
+ $$MOC_DIR
+ INCLUDEPATH += $$MW_LAYER_PLATFORM_EXPORT_PATH(cplogger)
SOURCES += src/cpprofilemodel_p.cpp
LIBS += -lprofileeng \
-lcentralrepository \
- -lcharconv
+ -lcharconv \
+ -lcpframework # For cplogger
TARGET.CAPABILITY = All -TCB
TARGET.EPOCALLOWDLLDATA = 1
TARGET.UID3 = 0x20025FE6
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel.cpp Mon May 03 12:32:06 2010 +0300
@@ -17,15 +17,17 @@
#include "cpprofilemodel.h"
#include "cpprofilemodel_p.h"
+#include <QtCore/QStringList>
-CpProfileModel::CpProfileModel()
+CpProfileModel::CpProfileModel(QObject *parent /*=0*/):QObject(parent),
+ d_ptr(new CpProfileModelPrivate())
{
- dptr = new CpProfileModelPrivate();
+ d_ptr->initialize(this);
}
CpProfileModel::~CpProfileModel()
{
- delete dptr;
+ delete d_ptr;
}
/*
@@ -33,23 +35,29 @@
*/
int CpProfileModel::initiationFlag()
{
- return dptr->initiationFlag();
+ return d_ptr->initiationFlag();
}
/*
* Get profile name with its id
*/
-QString CpProfileModel::profileName(int profileId)
+QString CpProfileModel::profileName(int profileId) const
{
- return dptr->profileName(profileId);
+ return d_ptr->profileName(profileId);
}
-
+/*!
+ * get profile name list
+ */
+QStringList CpProfileModel::profileNames()const
+{
+ return d_ptr->profileNames();
+}
/*
* Activate a profile with its id, return the operation code.
*/
int CpProfileModel::activateProfile(int profileId)
{
- return dptr->activateProfile(profileId);
+ return d_ptr->activateProfile(profileId);
}
/*
@@ -57,206 +65,434 @@
*/
int CpProfileModel::activeProfileId()
{
- return dptr->activeProfileId();
+ return d_ptr->activeProfileId();
+}
+
+/*!
+ Get profile settings, store in center repository keys
+ */
+int CpProfileModel::profileSettings(int profileId, CpProfileSettings& profileSettings)
+{
+ return d_ptr->profileSettings(profileId, profileSettings);
+}
+
+/*!
+ Set profile settings from center repository keys
+ */
+int CpProfileModel::setProfileSettings(int profileId, CpProfileSettings& profileSettings )
+{
+ return d_ptr->setProfileSettings(profileId, profileSettings);
}
-/*
- * Get path and file name of ring tone file
+/*!
+ Get ring tone of profiles, if the general profile's ring tone is different with
+ meeting ring tone, it returns the general profile's ring tone
*/
-QString CpProfileModel::ringTone()
+QString CpProfileModel::ringTone() const
{
- return dptr->ringTone();
+ return d_ptr->ringTone();
}
-/*
- * Set path and file to ring tone
+/*!
+ Set ring tone for all profiles
*/
-int CpProfileModel::setRingTone(const QString& filePath)
+void CpProfileModel::setRingTone(const QString& filePath)
{
- int err = dptr->setRingTone(filePath);
- return err;
+ d_ptr->setRingTone(filePath);
+}
+
+/*!
+ Return master volume for device
+ */
+int CpProfileModel::masterVolume() const
+{
+ return d_ptr->masterVolume();
}
-/*
- * Get path and file name of message tone file
+/*!
+ Set device's master volume
+ */
+void CpProfileModel::setMasterVolume(int volume)
+{
+ return d_ptr->setMasterVolume(volume);
+}
+
+/*!
+ Return the master vibra's status of device
*/
-QString CpProfileModel::messageTone()
+bool CpProfileModel::masterVibra() const
{
- return dptr->messageTone();
+ return d_ptr->masterVibra();
+}
+
+/*!
+ Set the master vibra's status of device, if the master vibra is on,
+ the vibra settings in profiles are valid, if the master is off, the
+ vibra settings in profiles are invalid.
+ */
+void CpProfileModel::setMasterVibra(bool isVibra)
+{
+ d_ptr->setMasterVibra(isVibra);
}
-/*
- * Set path and file to message tone
+/*!
+ Return the silence mode of device, silence mode will kill all outgoing
+ audio.
*/
-int CpProfileModel::setMessageTone(const QString& filePath)
+bool CpProfileModel::isSilenceMode() const
{
- int err = dptr->setMessageTone(filePath);
- return err;
+ return d_ptr->isSilenceMode();
}
-/*
- * Get path and file name of email tone file
+/*!
+ Set silence mode for deivce
+ */
+void CpProfileModel::setSilenceMode(bool isSilence)
+{
+ d_ptr->setSilenceMode(isSilence);
+}
+
+/*!
+ Return the status of off line mode (air plane mode) of device
*/
-QString CpProfileModel::emailTone()
+bool CpProfileModel::isOffLineMode() const
{
- return dptr->emailTone();
+ return d_ptr->isOffLineMode();
+}
+
+/*!
+ Set off line mode of device
+ */
+void CpProfileModel::setOffLineMode(bool isOffLine)
+{
+ d_ptr->setOffLineMode(isOffLine);
}
-/*
- * Set path and file to email tone
- */
-int CpProfileModel::setEmailTone(const QString& filePath)
+QString CpProfileModel::ringTone(int profileId)const
+{
+ return d_ptr->ringTone(profileId);
+}
+
+void CpProfileModel::setRingTone(int profileId, const QString& filePath)
{
- int err = dptr->setEmailTone(filePath);
- return err;
+ d_ptr->setRingTone(profileId, filePath);
+}
+
+QString CpProfileModel::messageTone(int profileId) const
+{
+ return d_ptr->messageTone(profileId);
+}
+
+void CpProfileModel::setMessageTone(int profileId, const QString& filePath)
+{
+ d_ptr->setMessageTone(profileId, filePath);
}
-/*
- * Get path and file name of calendar event tone file
- */
-QString CpProfileModel::calendarTone()
+QString CpProfileModel::emailTone(int profileId) const
+{
+ return d_ptr->emailTone(profileId);
+}
+
+void CpProfileModel::setEmailTone(int profileId, const QString& filePath)
+{
+ d_ptr->setEmailTone(profileId,filePath);
+}
+
+QString CpProfileModel::reminderTone(int profileId) const
{
- return dptr->calendarTone();
+ return d_ptr->reminderTone(profileId);
+}
+
+void CpProfileModel::setReminderTone(int profileId, const QString& filePath)
+{
+ d_ptr->setReminderTone(profileId,filePath);
+}
+
+bool CpProfileModel::notificationTone(int profileId) const
+{
+ return d_ptr->notificationTone(profileId);
+}
+
+void CpProfileModel::setNotificationTone(int profileId, bool isActive)
+{
+ d_ptr->setNotificationTone(profileId, isActive);
}
-/*
- * Set path and file to calendar event tone
- */
-void CpProfileModel::setCalendarTone(const QString& filePath)
+int CpProfileModel::keyTouchScreenTone(int profileId) const
+{
+ return d_ptr->keyTouchScreenTone(profileId);
+}
+
+void CpProfileModel::setKeyTouchScreenTone(int profileId, int level)
+{
+ d_ptr->setKeyTouchScreenTone(profileId,level);
+}
+
+bool CpProfileModel::ringAlertVibra(int profileId) const
{
- dptr->setCalendarTone(filePath);
+ return d_ptr->ringAlertVibra(profileId);
+}
+
+void CpProfileModel::setRingAlertVibra(int profileId, bool isActive)
+{
+ d_ptr->setRingAlertVibra(profileId,isActive);
+}
+
+bool CpProfileModel::messageVibra(int profileId) const
+{
+ return d_ptr->messageVibra(profileId);
}
-/*
- * Get path and file name of clock alarm tone file
- */
-QString CpProfileModel::alarmTone()
+void CpProfileModel::setMessageVibra(int profileId, bool isActive)
+{
+ return d_ptr->setMessageVibra(profileId,isActive);
+}
+
+bool CpProfileModel::emailVibra(int profileId) const
{
- return dptr->alarmTone();
+ return d_ptr->emailVibra(profileId);
+}
+
+void CpProfileModel::setEmailVibra(int profileId, bool isActive)
+{
+ d_ptr->setEmailVibra(profileId,isActive);
}
-/*
- * Set path and file to clock alarm tone
- */
-void CpProfileModel::setAlarmTone(const QString& filePath)
+bool CpProfileModel::reminderVibra(int profileId) const
{
- dptr->setAlarmTone(filePath);
+ return d_ptr->reminderVibra(profileId);
}
-/*
- * Get the value of master volume
- */
-int CpProfileModel::ringVolume()
+void CpProfileModel::setReminderVibra(int profileId, bool isActive)
+{
+ d_ptr->setReminderVibra(profileId,isActive);
+}
+
+bool CpProfileModel::notificationVibra(int profileId) const
{
- return dptr->ringVolume();
+ return d_ptr->notificationVibra(profileId);
+}
+
+void CpProfileModel::setNotificationVibra(int profileId, bool isActive)
+{
+ d_ptr->setNotificationVibra(profileId,isActive);
}
-/*
- * Set master volume, the value should be between 1-10
- */
-void CpProfileModel::setRingVolume(int volume)
+int CpProfileModel::keyTouchScreenVibra(int profileId)const
{
- dptr->setRingVolume(volume);
-}
-
-/*
- * Activate master volume to beep
- */
-void CpProfileModel::activateBeep()
-{
- dptr->activateBeep();
+ return d_ptr->keyTouchScreenVibra(profileId);
}
-/*
- * Get beep status in master volume
- */
-bool CpProfileModel::isBeep()
-{
- return dptr->isBeep();
-}
-
-/*
- * Activate master volume to silent
- */
-void CpProfileModel::activateSilent()
+void CpProfileModel::setKeyTouchScreenVibra(int profileId, int level)
{
- dptr->activateSilent();
-}
-
-/*
- * Get silent status in master volume
- */
-bool CpProfileModel::isSilent()
-{
- return dptr->isSilent();
-}
-
-/*
- * Get master vibra's status
- */
-bool CpProfileModel::vibraStatus()
-{
- return dptr->vibraStatus();
+ d_ptr->setKeyTouchScreenVibra(profileId,level);
}
-/*
- * Set master vibra's status
- */
-void CpProfileModel::setVibraStatus(bool status)
-{
- dptr->setVibraStatus(status);
-}
-
-/*
- * Get keypad' volume
- */
-int CpProfileModel::keyVolume()
-{
- return dptr->keyVolume();
-}
-
-/*
- * Set keypad's volume,
- * the value of the volume should be between 0-3
- */
-void CpProfileModel::setKeyVolume(int volume)
-{
- dptr->setKeyVolume(volume);
-}
-
-/*
- * Get screen tone's volume
- */
-int CpProfileModel::screenVolume()
-{
- return dptr->screenVolume();
-}
-
-/*
- * Set screen tone's volume,
- * the value of the volume should be between 0-3
- */
-void CpProfileModel::setScreenVolume(int volume)
-{
- dptr->setScreenVolume(volume);
-}
-
-/*
- * Get screen vibra's level
- */
-int CpProfileModel::screenVibra()
-{
- return dptr->screenVibra();
-}
-
-/*
- * Set screen vibra's level,
- * the value of the level should be between 0-3
- */
-void CpProfileModel::setScreenVibra(int volume)
-{
- dptr->setScreenVibra(volume);
-}
+///*
+// * Set a profile as current editing profile
+// */
+//int CpProfileModel::setEditingProfile(int profileId)
+//{
+// return d_ptr->setEditingProfile(profileId);
+//}
+//
+///*
+// * Get path and file name of ring tone file
+// */
+//QString CpProfileModel::ringTone()
+//{
+// return d_ptr->ringTone();
+//}
+//
+///*
+// * Set path and file to ring tone
+// */
+//int CpProfileModel::setRingTone(const QString& filePath)
+//{
+// int err = d_ptr->setRingTone(filePath);
+// return err;
+//}
+//
+///*
+// * Get path and file name of message tone file
+// */
+//QString CpProfileModel::messageTone()
+//{
+// return d_ptr->messageTone();
+//}
+//
+///*
+// * Set path and file to message tone
+// */
+//int CpProfileModel::setMessageTone(const QString& filePath)
+//{
+// int err = d_ptr->setMessageTone(filePath);
+// return err;
+//}
+//
+///*
+// * Get path and file name of email tone file
+// */
+//QString CpProfileModel::emailTone()
+//{
+// return d_ptr->emailTone();
+//}
+//
+///*
+// * Set path and file to email tone
+// */
+//int CpProfileModel::setEmailTone(const QString& filePath)
+//{
+// int err = d_ptr->setEmailTone(filePath);
+// return err;
+//}
+//
+///*
+// * Get path and file name of calendar event tone file
+// */
+//QString CpProfileModel::calendarTone()
+//{
+// return d_ptr->calendarTone();
+//}
+//
+///*
+// * Set path and file to calendar event tone
+// */
+//void CpProfileModel::setCalendarTone(const QString& filePath)
+//{
+// d_ptr->setCalendarTone(filePath);
+//}
+//
+///*
+// * Get path and file name of clock alarm tone file
+// */
+//QString CpProfileModel::alarmTone()
+//{
+// return d_ptr->alarmTone();
+//}
+//
+///*
+// * Set path and file to clock alarm tone
+// */
+//void CpProfileModel::setAlarmTone(const QString& filePath)
+//{
+// d_ptr->setAlarmTone(filePath);
+//}
+//
+///*
+// * Get the value of master volume
+// */
+//int CpProfileModel::ringVolume()
+//{
+// return d_ptr->ringVolume();
+//}
+//
+///*
+// * Set master volume, the value should be between 1-10
+// */
+//void CpProfileModel::setRingVolume(int volume)
+//{
+// d_ptr->setRingVolume(volume);
+//}
+//
+///*
+// * Activate master volume to beep
+// */
+//void CpProfileModel::activateBeep()
+//{
+// d_ptr->activateBeep();
+//}
+//
+///*
+// * Get beep status in master volume
+// */
+//bool CpProfileModel::isBeep()
+//{
+// return d_ptr->isBeep();
+//}
+//
+///*
+// * Activate master volume to silent
+// */
+//void CpProfileModel::activateSilent()
+//{
+// d_ptr->activateSilent();
+//}
+//
+///*
+// * Get silent status in master volume
+// */
+//bool CpProfileModel::isSilent()
+//{
+// return d_ptr->isSilent();
+//}
+//
+///*
+// * Get master vibra's status
+// */
+//bool CpProfileModel::vibraStatus()
+//{
+// return d_ptr->vibraStatus();
+//}
+//
+///*
+// * Set master vibra's status
+// */
+//void CpProfileModel::setVibraStatus(bool status)
+//{
+// d_ptr->setVibraStatus(status);
+//}
+//
+///*
+// * Get keypad' volume
+// */
+//int CpProfileModel::keyVolume()
+//{
+// return d_ptr->keyVolume();
+//}
+//
+///*
+// * Set keypad's volume,
+// * the value of the volume should be between 0-3
+// */
+//void CpProfileModel::setKeyVolume(int volume)
+//{
+// d_ptr->setKeyVolume(volume);
+//}
+//
+///*
+// * Get screen tone's volume
+// */
+//int CpProfileModel::screenVolume()
+//{
+// return d_ptr->screenVolume();
+//}
+//
+///*
+// * Set screen tone's volume,
+// * the value of the volume should be between 0-3
+// */
+//void CpProfileModel::setScreenVolume(int volume)
+//{
+// d_ptr->setScreenVolume(volume);
+//}
+//
+///*
+// * Get screen vibra's level
+// */
+//int CpProfileModel::screenVibra()
+//{
+// return d_ptr->screenVibra();
+//}
+//
+///*
+// * Set screen vibra's level,
+// * the value of the level should be between 0-3
+// */
+//void CpProfileModel::setScreenVibra(int volume)
+//{
+// d_ptr->setScreenVibra(volume);
+//}
// End of file
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_p.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_p.cpp Mon May 03 12:32:06 2010 +0300
@@ -16,10 +16,11 @@
*/
#include "cpprofilemodel_p.h"
-#include <cpprofilemodel.h>
+#include "cpprofilemodel.h"
+#include <cplogger.h>
#include <e32base.h>
#include <QString>
-#include <MProfileEngineExtended.h>
+#include <MProfileEngineExtended2.h>
#include <MProfileExtended.h>
#include <MProfileName.h>
#include <MProfileTones.h>
@@ -30,7 +31,15 @@
#include <MProfileSetExtraSettings.h>
#include <MProfileFeedbackSettings.h>
#include <MProfileSetFeedbackSettings.h>
-
+#include <MProfilesNamesArray.h>
+#include <SettingsInternalCRKeys.h>
+#include <hbglobal.h>
+#include <QtCore/QStringList>
+#include <MProfileExtended2.h>
+#include <MProfileSetExtraTones2.h>
+#include <MProfileExtraTones2.h>
+#include <MProfileVibraSettings.h>
+#include <MPRofileSetVibraSettings.h>
#include <TProfileToneSettings.h>
#include <hwrmvibrasdkcrkeys.h>
#include <centralrepository.h>
@@ -48,18 +57,45 @@
}
CpProfileModelPrivate::CpProfileModelPrivate()
+ : mEngine(0),
+ //mProfileExt(0),
+ //mToneSettings(0),
+ //mFeedbackSettings(0),
+ //mSetFeedbackSettings(0),
+ //mVibraCenRep(0),
+ mEditingProfileId(0),
+ mInitErrFlag(false),
+ mOffLineCenRep(0),
+ q_ptr(0)
{
- TRAPD( err,
- mEngine = CreateProfileEngineExtendedL();
- UpdateProfileL();
- mVibraCenRep = CRepository::NewL( KCRUidVibraCtrl );
- );
- mInitErrFlag = err;
+
}
-void CpProfileModelPrivate::UpdateProfileL()
+void CpProfileModelPrivate::initialize(CpProfileModel *parent)
{
- mProfileExt = mEngine->ProfileL( mEngine->ActiveProfileId() );
+ q_ptr = parent;
+ CPFW_LOG("CpProfileModelPrivate::CpProfileModelPrivate(), START.");
+ TRAPD( err,
+ mEngine = CreateProfileEngineExtended2L();
+ //int proId = mEngine->ActiveProfileId();
+ //UpdateProfileSettingsL( proId );
+ //mVibraCenRep = CRepository::NewL( KCRUidVibraCtrl );
+ mOffLineCenRep = CRepository::NewL( KCRUidCommunicationSettings );
+ );
+ mInitErrFlag = err;
+ CPFW_LOG("CpProfileModelPrivate::CpProfileModelPrivate(), END, err is." + QString(err) );
+}
+void CpProfileModelPrivate::UpdateProfileSettingsL(int profileId)
+{
+ CPFW_LOG("CpProfileModelPrivate::UpdateProfileSettingsL(), START. profile id is: " + QString(profileId));
+ /*if ( profileId <= EProfileWrapperErrorId || profileId >= EProfileWrapperOverflowId ){
+ CPFW_LOG("CpProfileModelPrivate::UpdateProfileSettingsL(), End with invalid profile id.");
+ //User::Leave(KErrNotFound);
+ return;
+ }
+*/
+/* mProfileExt = mEngine->Profile2L( profileId );
+ CPFW_LOG("CpProfileModelPrivate::UpdateProfileSettingsL(), Succeded in getting mProfileExt. ");
// General tones
TProfileToneSettings& toneSettings = mProfileExt->ProfileSetTones().SetToneSettings();
@@ -74,12 +110,20 @@
MProfileSetFeedbackSettings& setFeedback =
mProfileExt->ProfileSetExtraSettings().ProfileSetFeedbackSettings();
mSetFeedbackSettings = &setFeedback;
+
+ mEditingProfileId = profileId;
+ CPFW_LOG("CpProfileModelPrivate::UpdateProfileSettingsL(), END.");*/
}
CpProfileModelPrivate::~CpProfileModelPrivate()
{
- delete mVibraCenRep;
- mVibraCenRep = 0;
+ //delete mEngine;
+ if (mEngine!=0) {
+ mEngine->Release();
+ }
+ //delete mVibraCenRep;
+ //mVibraCenRep = 0;
+ delete mOffLineCenRep;
}
/*
@@ -93,38 +137,53 @@
/*
* Get profile name with its id
*/
-QString CpProfileModelPrivate::profileName(int profileId)
+QString CpProfileModelPrivate::profileName(int profileId) const
{
- if ( profileId > 2 || profileId < 0 ){
- return "";
- }
+ CPFW_LOG("CpProfileModelPrivate::profileName(), START.");
- MProfileName* name = 0;
- TRAPD( err,
- *name = mEngine->ProfileL(profileId)->ProfileName();
- );
-
- if (name){
- return stringFromDescriptor( name->Name() );
- } else {
- return "";
+// MProfileName* name = 0;
+// TRAPD( err, *name = mEngine->ProfileL(profileId)->ProfileName(); );
+//
+// if ( !err && name){
+// CPFW_LOG("CpProfileModelPrivate::profileName(), have name, END.");
+// return stringFromDescriptor( name->Name() );
+// } else {
+// CPFW_LOG("CpProfileModelPrivate::profileName(), no name, END.");
+// return "";
+// }
+ // should return qt localized profile name
+ // engine return symbian localized name, that is a wrong way to got it
+ switch (profileId) {
+ case EProfileWrapperGeneralId:
+ return hbTrId("txt_cp_setlabel_active_profile_val_general");
+ case EProfileWrapperMeetingId:
+ return hbTrId("txt_cp_setlabel_active_profile_val_meeting");
+ default:
+ return QString("");
}
-
}
+QStringList CpProfileModelPrivate::profileNames() const
+{
+ //hard code, until engine part support qt localized name
+ QStringList nameList;
+ nameList<<hbTrId("txt_cp_setlabel_active_profile_val_general")
+ <<hbTrId("txt_cp_setlabel_active_profile_val_meeting");
+ return nameList;
+}
+
/*
* Activate a profile with its id, return the operation code.
*/
int CpProfileModelPrivate::activateProfile(int profileId)
{
- if ( profileId > 2 || profileId < 0 ){
- return -1;
- }
+ CPFW_LOG("CpProfileModelPrivate::activateProfile(), START.");
TRAPD( err,
mEngine->SetActiveProfileL( profileId );
- UpdateProfileL();
+ //UpdateProfileSettingsL( profileId );
);
+ CPFW_LOG("CpProfileModelPrivate::activateProfile(), END.");
return err;
}
@@ -136,262 +195,1025 @@
return mEngine->ActiveProfileId();
}
-/*
- * Get path and file name of ring tone file
- */
-QString CpProfileModelPrivate::ringTone()
+int CpProfileModelPrivate::profileSettings(int profileId,
+ CpProfileSettings& profileSettings)
{
- return stringFromDescriptor( mProfileExt->ProfileTones().RingingTone1() );
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+// CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return err;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileTones &setTones = profileExtend->ProfileTones();
+ const TProfileToneSettings &toneSettings = setTones.ToneSettings();
+ const MProfileExtraTones2 &extTones = profileExtend->ProfileExtraTones2();
+ const MProfileVibraSettings &vibraSettings =
+ profileExtend->ProfileVibraSettings();
+ const MProfileExtraSettings &extraSettings =
+ profileExtend->ProfileExtraSettings();
+ const MProfileFeedbackSettings &feedbackSettings =
+ extraSettings.ProfileFeedbackSettings();
+
+
+ profileSettings.mRingTone = stringFromDescriptor(setTones.RingingTone1());
+ profileSettings.mMessageTone = stringFromDescriptor(setTones.MessageAlertTone());
+ profileSettings.mEmailTone = stringFromDescriptor(extTones.EmailAlertTone());
+ profileSettings.mReminderTone = stringFromDescriptor(extTones.ReminderTone());
+ profileSettings.mNotificationTone = toneSettings.iWarningAndGameTones;
+ profileSettings.mKeyTouchScreenTone = toneSettings.iKeypadVolume;
+
+ profileSettings.mRingAlertVibra = vibraSettings.RingAlertVibra();
+ profileSettings.mMessageVibra = vibraSettings.MessageAlertVibra();
+ profileSettings.mEmailVibra = vibraSettings.EmailAlertVibra();
+ profileSettings.mReminderAlertVibra = vibraSettings.ReminderAlarmVibra();
+ profileSettings.mNotificationVibra = vibraSettings.InformationVibra();
+ profileSettings.mKeyTouchScreenVibra = feedbackSettings.TactileFeedback();
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return err;
+}
+int CpProfileModelPrivate::setProfileSettings(int profileId, CpProfileSettings& profileSettings)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+
+ )
+ if (err!=KErrNone) {
+ return err;
+ }
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetTones &setTones = profileExtend->ProfileSetTones();
+ TProfileToneSettings &toneSettings = setTones.SetToneSettings();
+ MProfileSetExtraTones2 &setExtTones = profileExtend->ProfileSetExtraTones2();
+ MProfileSetVibraSettings &setVibraSettings = profileExtend->ProfileSetVibraSettings();
+ MProfileSetExtraSettings &extraSettings = profileExtend->ProfileSetExtraSettings();
+ MProfileSetFeedbackSettings &setFeedbackSettings = extraSettings.ProfileSetFeedbackSettings();
+
+ TRAP_IGNORE(
+ setTones.SetRingingTone1L( *descriptorFromString(profileSettings.mRingTone) );
+ setTones.SetMessageAlertToneL( *descriptorFromString(profileSettings.mMessageTone) );
+ setExtTones.SetEmailAlertToneL( *descriptorFromString(profileSettings.mEmailTone) );
+ setExtTones.SetReminderToneL( *descriptorFromString(profileSettings.mReminderTone) );
+ )
+
+ toneSettings.iWarningAndGameTones = profileSettings.mNotificationTone;
+ toneSettings.iKeypadVolume = static_cast<TProfileKeypadVolume>(profileSettings.mKeyTouchScreenTone);
+ setVibraSettings.SetRingAlertVibra( profileSettings.mRingAlertVibra );
+ setVibraSettings.SetMessageAlertVibra ( profileSettings.mMessageVibra );
+ setVibraSettings.SetEmailAlertVibra ( profileSettings.mEmailVibra );
+ setVibraSettings.SetReminderAlarmVibra ( profileSettings.mReminderAlertVibra );
+ setVibraSettings.SetInformationVibra ( profileSettings.mNotificationVibra );
+ setFeedbackSettings.SetTactileFeedback(static_cast<TProfileTactileFeedback>(profileSettings.mKeyTouchScreenVibra));
+
+ TRAPD(err2,
+ mEngine->CommitChangeL(*profileExtend);
+ CleanupStack::PopAndDestroy(profileExtend);
+ )
+ return err2;
}
-/*
- * Set path and file to ring tone
- */
-int CpProfileModelPrivate::setRingTone(const QString& filePath)
+QString CpProfileModelPrivate::ringTone() const
{
- TRAPD(err, mProfileExt->ProfileSetTones().SetRingingTone1L( *descriptorFromString(filePath) ));
- commitChange();
- return err;
+ MProfileExtended2 *profileExtend = 0;
+
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(EProfileWrapperGeneralId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err!=KErrNone) {
+ return QString("");
+ }
+ CleanupReleasePushL(*profileExtend);
+
+ QString ringTone = stringFromDescriptor(profileExtend->ProfileTones().RingingTone1());
+ CleanupStack::PopAndDestroy(profileExtend);
+ return ringTone;
+ CPFW_LOG("CpProfileModelPrivate::ringTone(), END with invalid mProfileExt. ");
+
+}
+
+void CpProfileModelPrivate::setRingTone(const QString& filePath)
+{
+ TInt ids[] = {EProfileGeneralId,EProfileMeetingId};
+
+ for (TInt i = 0; i < sizeof(ids)/sizeof(ids[0]); ++i)
+ {
+ MProfileExtended2 *profileExtend = 0;
+ TRAP_IGNORE(
+ profileExtend = mEngine->Profile2L(ids[i]);
+ )
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetTones &setTones = profileExtend->ProfileSetTones();
+ setTones.SetRingingTone1L( *descriptorFromString(filePath) );
+ mEngine ->CommitChangeL(*profileExtend);
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-/*
- * Get path and file name of message tone file
- */
-QString CpProfileModelPrivate::messageTone()
+int CpProfileModelPrivate::masterVolume() const
+{
+ //NEED L FUNCTION?
+ TInt masterVolume = mEngine->MasterVolumeL();
+ return masterVolume;
+}
+
+void CpProfileModelPrivate::setMasterVolume(int volume)
+{
+ //NEED L FUNCTION ?
+ TRAP_IGNORE(mEngine->SetMasterVolumeL( volume );)
+}
+
+bool CpProfileModelPrivate::masterVibra() const
+{
+ bool masterVibra = mEngine->MasterVibraL();
+ return masterVibra;
+}
+void CpProfileModelPrivate::setMasterVibra(bool isVibra)
{
- return stringFromDescriptor( mProfileExt->ProfileTones().MessageAlertTone() );
+ TRAP_IGNORE(mEngine->SetMasterVibraL( isVibra );)
+}
+
+bool CpProfileModelPrivate::isSilenceMode() const
+{
+ bool isSlience = mEngine->SilenceModeL();
+ return isSlience;
+}
+void CpProfileModelPrivate::setSilenceMode(bool isSilence)
+{
+ TRAP_IGNORE(mEngine->SetSilenceModeL( isSilence );)
+}
+
+bool CpProfileModelPrivate::isOffLineMode() const
+{
+ int offLineMode = 0;
+ User::LeaveIfError(mOffLineCenRep->Get( KSettingsAirplaneMode, offLineMode ));
+
+ return offLineMode;
+}
+void CpProfileModelPrivate::setOffLineMode(bool isOffLine)
+{
+ User::LeaveIfError(mOffLineCenRep->Set(KSettingsAirplaneMode, isOffLine));
}
-/*
- * Set path and file to message tone
- */
-int CpProfileModelPrivate::setMessageTone(const QString& filePath)
+QString CpProfileModelPrivate::ringTone(int profileId) const
{
- TRAPD(err, mProfileExt->ProfileSetTones().SetMessageAlertToneL( *descriptorFromString(filePath) ));
- commitChange();
- return err;
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return QString("");
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileTones &setTones = profileExtend->ProfileTones();
+
+
+ QString ringTone = stringFromDescriptor(setTones.RingingTone1());
+ CleanupStack::PopAndDestroy(profileExtend);
+ return ringTone;
+}
+
+void CpProfileModelPrivate::setRingTone(int profileId, const QString& filePath)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetTones &setTones = profileExtend->ProfileSetTones();
+
+ TRAP_IGNORE(
+ setTones.SetRingingTone1L( *descriptorFromString(filePath) );
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-/*
- * Get path and file name of email tone file
- */
-QString CpProfileModelPrivate::emailTone()
+QString CpProfileModelPrivate::messageTone(int profileId) const
{
- return stringFromDescriptor( mProfileExt->ProfileExtraTones().EmailAlertTone() );
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return QString("");
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileTones &setTones = profileExtend->ProfileTones();
+
+ QString messageTone = stringFromDescriptor(setTones.MessageAlertTone());
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return messageTone;
+
+}
+
+void CpProfileModelPrivate::setMessageTone(int profileId, const QString& filePath)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetTones &setTones = profileExtend->ProfileSetTones();
+
+ TRAP_IGNORE(
+ setTones.SetMessageAlertToneL( *descriptorFromString(filePath) );
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
+
}
-/*
- * Set path and file to email tone
- */
-int CpProfileModelPrivate::setEmailTone(const QString& filePath)
+QString CpProfileModelPrivate::emailTone(int profileId) const
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return QString("");
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileExtraTones2 &extTones = profileExtend->ProfileExtraTones2();
+
+ QString emailTone = stringFromDescriptor(extTones.EmailAlertTone());
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return emailTone;
+
+}
+
+void CpProfileModelPrivate::setEmailTone(int profileId, const QString& filePath)
{
- TRAPD(err, mProfileExt->ProfileSetExtraTones().SetEmailAlertToneL( *descriptorFromString(filePath) ));
- commitChange();
- return err;
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetExtraTones2 &setExtTones = profileExtend->ProfileSetExtraTones2();
+
+ TRAP_IGNORE(
+ setExtTones.SetEmailAlertToneL( *descriptorFromString(filePath) );
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
+}
+
+QString CpProfileModelPrivate::reminderTone(int profileId) const
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return QString("");
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileExtraTones2 &extTones = profileExtend->ProfileExtraTones2();
+
+ QString reminderTone = stringFromDescriptor(extTones.ReminderTone());
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return reminderTone;
+
}
-/*
- * Get path and file name of calendar event tone file
- */
-QString CpProfileModelPrivate::calendarTone()
+void CpProfileModelPrivate::setReminderTone(int profileId, const QString& filePath)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetExtraTones2 &setExtTones = profileExtend->ProfileSetExtraTones2();
+
+ TRAP_IGNORE(
+ setExtTones.SetReminderToneL( *descriptorFromString(filePath) );
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
+}
+
+bool CpProfileModelPrivate::notificationTone(int profileId) const
{
- return "";
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return false; // ??????
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileTones &setTones = profileExtend->ProfileTones();
+ const TProfileToneSettings &toneSettings = setTones.ToneSettings();
+
+ bool notificationTone = toneSettings.iWarningAndGameTones;
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return notificationTone;
+}
+
+void CpProfileModelPrivate::setNotificationTone(int profileId, bool isActive)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetTones &setTones = profileExtend->ProfileSetTones();
+ TProfileToneSettings &toneSettings = setTones.SetToneSettings();
+
+
+ toneSettings.iWarningAndGameTones = isActive;
+
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-/*
- * Set path and file to calendar event tone
- */
-void CpProfileModelPrivate::setCalendarTone(const QString& filePath)
+int CpProfileModelPrivate::keyTouchScreenTone(int profileId) const
{
- Q_UNUSED(filePath);
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return -1;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileTones &setTones = profileExtend->ProfileTones();
+ const TProfileToneSettings &toneSettings = setTones.ToneSettings();
+
+ int keyTouchScreenTone = toneSettings.iKeypadVolume;
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return keyTouchScreenTone;
+
+}
+
+void CpProfileModelPrivate::setKeyTouchScreenTone(int profileId, int level)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetTones &setTones = profileExtend->ProfileSetTones();
+ TProfileToneSettings &toneSettings = setTones.SetToneSettings();
+
+ toneSettings.iKeypadVolume = static_cast<TProfileKeypadVolume>(level);
+
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
+
}
-/*
- * Get path and file name of clock alarm tone file
- */
-QString CpProfileModelPrivate::alarmTone()
+bool CpProfileModelPrivate::ringAlertVibra(int profileId) const
{
- return "";
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return false;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileVibraSettings &vibraSettings =
+ profileExtend->ProfileVibraSettings();
+
+
+ bool ringAlertVibra = vibraSettings.RingAlertVibra();
+ CleanupStack::PopAndDestroy(profileExtend);
+ return ringAlertVibra;
+
}
-/*
- * Set path and file to clock alarm tone
- */
-void CpProfileModelPrivate::setAlarmTone(const QString& filePath)
+void CpProfileModelPrivate::setRingAlertVibra(int profileId, bool isActive)
{
- Q_UNUSED(filePath);
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetVibraSettings &setVibraSettings = profileExtend->ProfileSetVibraSettings();
+
+ setVibraSettings.SetRingAlertVibra(isActive);
+
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-/*
- * Get the value of master volume
- */
-int CpProfileModelPrivate::ringVolume()
+bool CpProfileModelPrivate::messageVibra(int profileId) const
{
- return mToneSettings->iRingingVolume;
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return false;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileVibraSettings &vibraSettings =
+ profileExtend->ProfileVibraSettings();
+
+
+ bool messageVibra = vibraSettings.MessageAlertVibra();
+ CleanupStack::PopAndDestroy(profileExtend);
+ return messageVibra;
+
+}
+
+void CpProfileModelPrivate::setMessageVibra(int profileId, bool isActive)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetVibraSettings &setVibraSettings = profileExtend->ProfileSetVibraSettings();
+
+ setVibraSettings.SetMessageAlertVibra(isActive);
+
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-/*
- * Set master volume, the value should be between 1-10
- */
-void CpProfileModelPrivate::setRingVolume(int volume)
+bool CpProfileModelPrivate::emailVibra(int profileId) const
{
- if (volume < 0 || volume >10)
- {
- return;
- }
- mProfileExt = mEngine->ProfileL( EProfileWrapperGeneralId );
-
- // General tones volume
- TProfileToneSettings& toneSettingsGeneral = mProfileExt->ProfileSetTones().SetToneSettings();
- mToneSettings = &toneSettingsGeneral;
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return false;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileVibraSettings &vibraSettings =
+ profileExtend->ProfileVibraSettings();
+
+
+ bool emailVibra = vibraSettings.EmailAlertVibra();
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return emailVibra;
- mToneSettings->iRingingType = EProfileRingingTypeRinging;
- mToneSettings->iRingingVolume = volume;
- commitChange();
-
- mProfileExt = mEngine->ProfileL( EProfileWrapperMeetingId );
+}
- // meeting tones volume
- TProfileToneSettings& toneSettingsMeeting = mProfileExt->ProfileSetTones().SetToneSettings();
- mToneSettings = &toneSettingsMeeting;
+void CpProfileModelPrivate::setEmailVibra(int profileId, bool isActive)
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetVibraSettings &setVibraSettings = profileExtend->ProfileSetVibraSettings();
+
+ setVibraSettings.SetEmailAlertVibra ( isActive );
+
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
+}
+
+bool CpProfileModelPrivate::reminderVibra(int profileId) const
+{
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return false;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileVibraSettings &vibraSettings =
+ profileExtend->ProfileVibraSettings();
- mToneSettings->iRingingType = EProfileRingingTypeRinging;
- mToneSettings->iRingingVolume = volume;
-
- commitChange();
+
+ bool reminderAlarmVibra = vibraSettings.ReminderAlarmVibra();
- mProfileExt = mEngine->ProfileL(mEngine->ActiveProfileId());
- // currently implementation: keep the two profiles same volume
+ CleanupStack::PopAndDestroy(profileExtend);
+ return reminderAlarmVibra;
+
}
-/*
- * Activate master volume to beep
- */
-void CpProfileModelPrivate::activateBeep()
+void CpProfileModelPrivate::setReminderVibra(int profileId, bool isActive)
{
- mToneSettings->iRingingType = EProfileRingingTypeBeepOnce;
- commitChange();
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetVibraSettings &setVibraSettings = profileExtend->ProfileSetVibraSettings();
+
+ setVibraSettings.SetReminderAlarmVibra ( isActive );
+
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-/*
- * Get beep status in master volume
- */
-bool CpProfileModelPrivate::isBeep()
+bool CpProfileModelPrivate::notificationVibra(int profileId) const
{
- return (EProfileRingingTypeBeepOnce == mToneSettings->iRingingType) ? true : false;
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return false;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileVibraSettings &vibraSettings =
+ profileExtend->ProfileVibraSettings();
+
+
+ bool notificationVibra = vibraSettings.InformationVibra();
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return notificationVibra;
+
}
-/*
- * Activate master volume to silent
- */
-void CpProfileModelPrivate::activateSilent()
+void CpProfileModelPrivate::setNotificationVibra(int profileId, bool isActive)
{
- mToneSettings->iRingingType = EProfileRingingTypeSilent;
- commitChange();
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetVibraSettings &setVibraSettings = profileExtend->ProfileSetVibraSettings();
+
+ setVibraSettings.SetInformationVibra( isActive );
+
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-/*
- * Get silent status in master volume
- */
-bool CpProfileModelPrivate::isSilent()
+int CpProfileModelPrivate::keyTouchScreenVibra(int profileId)const
{
- return (EProfileRingingTypeSilent == mToneSettings->iRingingType) ? true : false;
-}
-
-/*
- * Get master vibra's status
- */
-bool CpProfileModelPrivate::vibraStatus()
-{
- return mToneSettings->iVibratingAlert;
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD(err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err != KErrNone) {
+ return -1;
+ }
+ CleanupReleasePushL(*profileExtend);
+ const MProfileExtraSettings &extraSettings =
+ profileExtend->ProfileExtraSettings();
+ const MProfileFeedbackSettings &feedbackSettings =
+ extraSettings.ProfileFeedbackSettings();
+
+
+ bool keyTouchScreenVibra = feedbackSettings.TactileFeedback();
+
+ CleanupStack::PopAndDestroy(profileExtend);
+ return keyTouchScreenVibra;
+
}
-/*
- * Set master vibra's status
- */
-void CpProfileModelPrivate::setVibraStatus(bool status)
-{
- mVibraCenRep->Set(KVibraCtrlProfileVibraEnabled, status );
- mToneSettings->iVibratingAlert = status;
- commitChange();
-}
-
-/*
- * Get keypad' volume
- */
-int CpProfileModelPrivate::keyVolume()
-{
- return mToneSettings->iKeypadVolume;
-}
-
-/*
- * Set keypad's volume,
- * the value of the volume should be between 0-3
- */
-void CpProfileModelPrivate::setKeyVolume(int volume)
-{
- if (volume < 0 || volume > 3)
- {
- return;
- }
-
- mToneSettings->iKeypadVolume = (TProfileKeypadVolume)volume;
- commitChange();
-}
-
-/*
- * Get screen tone's volume
- */
-int CpProfileModelPrivate::screenVolume()
+void CpProfileModelPrivate::setKeyTouchScreenVibra(int profileId, int level)
{
- return mFeedbackSettings->AudioFeedback();
-}
+ MProfileExtended2 *profileExtend = 0;
+ TRAPD( err,
+ profileExtend = mEngine->Profile2L(profileId);
+ //CleanupReleasePushL(*profileExtend);
+ )
+ if (err==KErrNone) {
+ CleanupReleasePushL(*profileExtend);
+ MProfileSetExtraSettings &extraSettings = profileExtend->ProfileSetExtraSettings();
+ MProfileSetFeedbackSettings &setFeedbackSettings = extraSettings.ProfileSetFeedbackSettings();
+ setFeedbackSettings.SetTactileFeedback(static_cast<TProfileTactileFeedback>(level));
-/*
- * Set screen tone's volume,
- * the value of the volume should be between 0-3
- */
-void CpProfileModelPrivate::setScreenVolume(int volume)
-{
- if (volume < 0 || volume > 3)
- {
- return;
- }
-
- mSetFeedbackSettings->SetAudioFeedback( (TProfileAudioFeedback)volume );
- commitChange();
-}
+ TRAP_IGNORE(
+ mEngine->CommitChangeL(*profileExtend);
+ )
-/*
- * Get screen vibra's level
- */
-int CpProfileModelPrivate::screenVibra()
-{
- return mFeedbackSettings->TactileFeedback();
+ CleanupStack::PopAndDestroy(profileExtend);
+ }
}
-
-/*
- * Set screen vibra's level,
- * the value of the level should be between 0-3
- */
-void CpProfileModelPrivate::setScreenVibra(int volume)
-{
- if (volume < 0 || volume > 3)
- {
- return;
- }
-
- mSetFeedbackSettings->SetTactileFeedback( (TProfileTactileFeedback)volume );
- commitChange();
-}
+///*
+// * Set a profile as current editing profile
+// */
+//int CpProfileModelPrivate::setEditingProfile(int profileId)
+//{
+// CPFW_LOG("CpProfileModelPrivate::setEditingProfile(), START.");
+// TRAPD( err, UpdateProfileSettingsL( profileId ););
+// CPFW_LOG("CpProfileModelPrivate::setEditingProfile(), END.");
+// return err;
+//}
+//
+///*
+// * Get path and file name of ring tone file
+// */
+//QString CpProfileModelPrivate::ringTone()
+//{
+// if ( mProfileExt ){
+// return stringFromDescriptor( mProfileExt->ProfileTones().RingingTone1() );
+// }
+// CPFW_LOG("CpProfileModelPrivate::ringTone(), END with invalid mProfileExt. ");
+// return "";
+//}
+//
+///*
+// * Set path and file to ring tone
+// */
+//int CpProfileModelPrivate::setRingTone(const QString& filePath)
+//{
+// if ( mProfileExt ){
+// TRAPD(err, mProfileExt->ProfileSetTones().SetRingingTone1L( *descriptorFromString(filePath) ));
+// commitChange();
+// return err;
+// }
+// CPFW_LOG("CpProfileModelPrivate::setRingTone(), END with invalid mProfileExt.");
+// return -1;
+//}
+//
+///*
+// * Get path and file name of message tone file
+// */
+//QString CpProfileModelPrivate::messageTone()
+//{
+// if ( mProfileExt ){
+// return stringFromDescriptor( mProfileExt->ProfileTones().MessageAlertTone() );
+// }
+// CPFW_LOG("CpProfileModelPrivate::messageTone(), END with invalid mProfileExt.");
+// return "";
+//}
+//
+///*
+// * Set path and file to message tone
+// */
+//int CpProfileModelPrivate::setMessageTone(const QString& filePath)
+//{
+// if ( mProfileExt ){
+// TRAPD(err, mProfileExt->ProfileSetTones().SetMessageAlertToneL( *descriptorFromString(filePath) ));
+// commitChange();
+// return err;
+// }
+// CPFW_LOG("CpProfileModelPrivate::setMessageTone(), END with invalid mProfileExt.");
+// return -1;
+//}
+//
+///*
+// * Get path and file name of email tone file
+// */
+//QString CpProfileModelPrivate::emailTone()
+//{
+// if ( mProfileExt ){
+// return stringFromDescriptor( mProfileExt->ProfileExtraTones().EmailAlertTone() );
+// }
+// CPFW_LOG("CpProfileModelPrivate::emailTone(), END with invalid mProfileExt.");
+// return "";
+//}
+//
+///*
+// * Set path and file to email tone
+// */
+//int CpProfileModelPrivate::setEmailTone(const QString& filePath)
+//{
+// if ( mProfileExt ){
+// TRAPD(err, mProfileExt->ProfileSetExtraTones().SetEmailAlertToneL( *descriptorFromString(filePath) ));
+// commitChange();
+// return err;
+// }
+// CPFW_LOG("CpProfileModelPrivate::setEmailTone(), END with invalid mProfileExt.");
+// return -1;
+//}
+//
+///*
+// * Get path and file name of calendar event tone file
+// */
+//QString CpProfileModelPrivate::calendarTone()
+//{
+// return "";
+//}
+//
+///*
+// * Set path and file to calendar event tone
+// */
+//void CpProfileModelPrivate::setCalendarTone(const QString& filePath)
+//{
+// Q_UNUSED(filePath);
+//}
+//
+///*
+// * Get path and file name of clock alarm tone file
+// */
+//QString CpProfileModelPrivate::alarmTone()
+//{
+// return "";
+//}
+//
+///*
+// * Set path and file to clock alarm tone
+// */
+//void CpProfileModelPrivate::setAlarmTone(const QString& filePath)
+//{
+// Q_UNUSED(filePath);
+//}
+//
+///*
+// * Get the value of master volume
+// */
+//int CpProfileModelPrivate::ringVolume()
+//{
+// CPFW_LOG("CpProfileModelPrivate::ringVolume(), START.");
+// if ( mToneSettings ){
+// CPFW_LOG("CpProfileModelPrivate::ringVolume(), End.");
+// return mToneSettings->iRingingVolume;
+// }
+// CPFW_LOG("CpProfileModelPrivate::ringVolume(), END with invalid mToneSettings.");
+// return -1;
+//}
+//
+///*
+// * Set master volume, the value should be between 1-10
+// */
+//void CpProfileModelPrivate::setRingVolume(int volume)
+//{
+// CPFW_LOG("CpProfileModelPrivate::setRingVolume(), START.");
+// if ( !mToneSettings ) {
+// CPFW_LOG("CpProfileModelPrivate::setRingVolume(), END with invalid mToneSettings.");
+// return;
+// }
+// if ( EProfileWrapperSilentId == mEditingProfileId || volume < 0 || volume >10 )
+// {
+// return;
+// }
+//
+// mToneSettings->iRingingType = EProfileRingingTypeRinging;
+// mToneSettings->iRingingVolume = volume;
+// commitChange();
+//
+// // General profile and meeting profile should have same ring tone volume
+// int profileId = activeProfileId();
+// if ( EProfileWrapperMeetingId == profileId ){
+// profileId = EProfileWrapperGeneralId;
+// } else if ( EProfileWrapperGeneralId == profileId ) {
+// profileId = EProfileWrapperMeetingId;
+// }
+// MProfileExtended* profileExt = 0;
+// TRAPD( err0, profileExt = mEngine->ProfileL( profileId ););
+// Q_UNUSED(err0);
+// TProfileToneSettings& toneSettings = profileExt->ProfileSetTones().SetToneSettings();
+// toneSettings.iRingingType = EProfileRingingTypeRinging;
+// toneSettings.iRingingVolume = volume;
+// TRAPD( err, mEngine->CommitChangeL(*profileExt) );
+// Q_UNUSED(err);
+// CPFW_LOG("CpProfileModelPrivate::setRingVolume(), END.");
+// // currently implementation: keep the two profiles same volume
+//}
+//
+///*
+// * Activate master volume to beep
+// */
+//void CpProfileModelPrivate::activateBeep()
+//{
+// if ( mToneSettings ){
+// mToneSettings->iRingingType = EProfileRingingTypeBeepOnce;
+// commitChange();
+// } else {
+// CPFW_LOG("CpProfileModelPrivate::activateBeep(), END with invalid mToneSettings.");
+// }
+//}
+//
+///*
+// * Get beep status in master volume
+// */
+//bool CpProfileModelPrivate::isBeep()
+//{
+// if ( mToneSettings ){
+// return (EProfileRingingTypeBeepOnce == mToneSettings->iRingingType) ? true : false;
+// }
+// CPFW_LOG("CpProfileModelPrivate::isBeep(), END with invalid mToneSettings.");
+// return false;
+//}
+//
+///*
+// * Activate master volume to silent
+// */
+//void CpProfileModelPrivate::activateSilent()
+//{
+// if ( mToneSettings ){
+// mToneSettings->iRingingType = EProfileRingingTypeSilent;
+// commitChange();
+// } else {
+// CPFW_LOG("CpProfileModelPrivate::vibraStatus(), END with invalid mToneSettings.");
+// }
+//}
+//
+///*
+// * Get silent status in master volume
+// */
+//bool CpProfileModelPrivate::isSilent()
+//{
+// if ( mToneSettings ){
+// return (EProfileRingingTypeSilent == mToneSettings->iRingingType) ? true : false;
+// } else {
+// CPFW_LOG("CpProfileModelPrivate::vibraStatus(), END with invalid mToneSettings.");
+// return false;
+// }
+//}
+//
+///*
+// * Get master vibra's status
+// */
+//bool CpProfileModelPrivate::vibraStatus()
+//{
+// CPFW_LOG("CpProfileModelPrivate::vibraStatus(), Start.");
+// if ( mToneSettings ){
+// CPFW_LOG("CpProfileModelPrivate::vibraStatus(), End.");
+// return mToneSettings->iVibratingAlert;
+// }
+// CPFW_LOG("CpProfileModelPrivate::vibraStatus(), END with invalid mToneSettings.");
+// return false;
+//}
+//
+///*
+// * Set master vibra's status
+// */
+//void CpProfileModelPrivate::setVibraStatus(bool status)
+//{
+// CPFW_LOG("CpProfileModelPrivate::setVibraStatus(), Start.");
+// if ( mVibraCenRep ){
+// mVibraCenRep->Set(KVibraCtrlProfileVibraEnabled, status );
+// }
+//
+// if ( mToneSettings ){
+// mToneSettings->iVibratingAlert = status;
+// commitChange();
+// }
+// CPFW_LOG("CpProfileModelPrivate::setVibraStatus(), END.");
+//}
+//
+///*
+// * Get keypad' volume
+// */
+//int CpProfileModelPrivate::keyVolume()
+//{
+// CPFW_LOG("CpProfileModelPrivate::keyVolume(), Start.");
+// if ( mToneSettings ){
+// CPFW_LOG("CpProfileModelPrivate::keyVolume(), END.");
+// return mToneSettings->iKeypadVolume;
+// }
+// CPFW_LOG("CpProfileModelPrivate::keyVolume(), END with invalid mToneSettings.");
+// return -1;
+//}
+//
+///*
+// * Set keypad's volume,
+// * the value of the volume should be between 0-3
+// */
+//void CpProfileModelPrivate::setKeyVolume(int volume)
+//{
+// CPFW_LOG("CpProfileModelPrivate::setKeyVolume(), Start.");
+// if (volume < 0 || volume > 3)
+// {
+// CPFW_LOG("CpProfileModelPrivate::setKeyVolume(), End with invalid volume.");
+// return;
+// }
+//
+// if ( mToneSettings ){
+// mToneSettings->iKeypadVolume = (TProfileKeypadVolume)volume;
+// commitChange();
+// }
+// CPFW_LOG("CpProfileModelPrivate::setKeyVolume(), End.");
+//}
+//
+///*
+// * Get screen tone's volume
+// */
+//int CpProfileModelPrivate::screenVolume()
+//{
+// CPFW_LOG("CpProfileModelPrivate::screenVolume(), Start.");
+// if ( mFeedbackSettings ){
+// CPFW_LOG("CpProfileModelPrivate::screenVolume(), End.");
+// return mFeedbackSettings->AudioFeedback();
+// }
+// CPFW_LOG("CpProfileModelPrivate::screenVolume(), End.");
+// return -1;
+//}
+//
+///*
+// * Set screen tone's volume,
+// * the value of the volume should be between 0-3
+// */
+//void CpProfileModelPrivate::setScreenVolume(int volume)
+//{
+// CPFW_LOG("CpProfileModelPrivate::setScreenVolume(), Start.");
+// if (volume < 0 || volume > 3)
+// {
+// CPFW_LOG("CpProfileModelPrivate::setScreenVolume(), End with invalid volume.");
+// return;
+// }
+//
+// if ( mSetFeedbackSettings ){
+// mSetFeedbackSettings->SetAudioFeedback( (TProfileAudioFeedback)volume );
+// commitChange();
+// }
+// CPFW_LOG("CpProfileModelPrivate::setScreenVolume(), End.");
+//}
+//
+///*
+// * Get screen vibra's level
+// */
+//int CpProfileModelPrivate::screenVibra()
+//{
+// CPFW_LOG("CpProfileModelPrivate::screenVibra(), Start.");
+// if ( mFeedbackSettings ){
+// CPFW_LOG("CpProfileModelPrivate::screenVibra(), End.");
+// return mFeedbackSettings->TactileFeedback();
+// }
+// CPFW_LOG("CpProfileModelPrivate::screenVibra(), End with invalid mFeedbackSettings.");
+// return -1;
+//}
+//
+///*
+// * Set screen vibra's level,
+// * the value of the level should be between 0-3
+// */
+//void CpProfileModelPrivate::setScreenVibra(int volume)
+//{
+// if (volume < 0 || volume > 3)
+// {
+// return;
+// }
+//
+// if ( mSetFeedbackSettings ){
+// mSetFeedbackSettings->SetTactileFeedback( (TProfileTactileFeedback)volume );
+// commitChange();
+// }
+//}
/*
* Commit changes when change settings value in profile.
*/
int CpProfileModelPrivate::commitChange()
{
- TRAPD( err, mEngine->CommitChangeL(*mProfileExt) );
- return err;
+ /* TRAPD( err, mEngine->CommitChangeL(*mProfileExt) );
+ return err;*/
+ return 0;
}
// End of file
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_p.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_p.h Mon May 03 12:32:06 2010 +0300
@@ -1,83 +1,144 @@
/*
-* 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:
-*
-*/
+ * 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 CPPROFILEMODEL_P_H
#define CPPROFILEMODEL_P_H
#include <qglobal.h>
-
-class MProfileEngineExtended;
-class MProfileExtended;
+class CpProfileSettings;
+class CpProfileModel;
+class MProfileEngineExtended2;
+class MProfileExtended2;
class MProfileFeedbackSettings;
class MProfileSetFeedbackSettings;
class CRepository;
+class QStringList;
struct TProfileToneSettings;
-
class CpProfileModelPrivate
- {
+{
+ Q_DECLARE_PUBLIC(CpProfileModel)
public:
CpProfileModelPrivate();
~CpProfileModelPrivate();
-
+ void initialize(CpProfileModel *parent);
public:
int initiationFlag();
- QString profileName(int profileId);
+ QString profileName(int profileId)const;
+ QStringList profileNames() const;
int activateProfile(int profileId);
int activeProfileId();
- QString ringTone();
- int setRingTone(const QString& filePath);
- QString messageTone();
- int setMessageTone(const QString& filePath);
- QString emailTone();
- int setEmailTone(const QString& filePath);
- QString calendarTone();
- void setCalendarTone(const QString& filePath);
- QString alarmTone();
- void setAlarmTone(const QString& filePath);
- int ringVolume();
- void setRingVolume(int volume);
- void activateBeep();
- bool isBeep();
- void activateSilent();
- bool isSilent();
- bool vibraStatus();
- void setVibraStatus(bool status);
- int keyVolume();
- void setKeyVolume(int volume);
- int screenVolume();
- void setScreenVolume(int volume);
- int screenVibra();
- void setScreenVibra(int volume);
+ int setEditingProfile(int profileId);
+ int profileSettings(int profileId, CpProfileSettings& profileSettings);
+ int setProfileSettings(int profileId, CpProfileSettings& profileSettings);
+
+ /*!
+ * set ring tone in personalization group in control panel's homeview
+ */
+ QString ringTone() const;
+ void setRingTone(const QString& filePath);
+
+ int masterVolume() const;
+ void setMasterVolume(int volume);
+
+ bool masterVibra() const;
+ void setMasterVibra(bool isVibra);
+
+ bool isSilenceMode() const;
+ void setSilenceMode(bool isSlience);
+
+ bool isOffLineMode() const;
+ void setOffLineMode(bool isOffLine);
+ QString ringTone(int profileId)const;
+ void setRingTone(int profileId, const QString& filePath);
+ QString messageTone(int profileId) const;
+ void setMessageTone(int profileId, const QString& filePath);
+ QString emailTone(int profileId) const;
+ void setEmailTone(int profileId, const QString& filePath);
+ QString reminderTone(int profileId) const;
+ void setReminderTone(int profileId, const QString& filePath);
+
+ bool notificationTone(int profileId) const;
+ void setNotificationTone(int profileId, bool isActive);
+
+ int keyTouchScreenTone(int profileId) const;
+ void setKeyTouchScreenTone(int profileId, int level);
+
+ bool ringAlertVibra(int profileId) const;
+ void setRingAlertVibra(int profileId, bool isActive);
+
+ bool messageVibra(int profileId) const;
+ void setMessageVibra(int profileId, bool isActive);
+
+ bool emailVibra(int profileId) const;
+ void setEmailVibra(int profileId, bool isActive);
+
+ bool reminderVibra(int profileId) const;
+ void setReminderVibra(int profileId, bool isActive) ;
+
+ bool notificationVibra(int profileId) const;
+ void setNotificationVibra(int profileId, bool isActive);
+
+ int keyTouchScreenVibra(int profileId)const;
+ void setKeyTouchScreenVibra(int profileId, int level);
+ /* int setEditingProfile(int profileId);
+ QString ringTone();
+ int setRingTone(const QString& filePath);
+ QString messageTone();
+ int setMessageTone(const QString& filePath);
+ QString emailTone();
+ int setEmailTone(const QString& filePath);
+ QString calendarTone();
+ void setCalendarTone(const QString& filePath);
+ QString alarmTone();
+ void setAlarmTone(const QString& filePath);
+ int ringVolume();
+ void setRingVolume(int volume);
+ void activateBeep();
+ bool isBeep();
+ void activateSilent();
+ bool isSilent();
+ bool vibraStatus();
+ void setVibraStatus(bool status);
+ int keyVolume();
+ void setKeyVolume(int volume);
+ int screenVolume();
+ void setScreenVolume(int volume);
+ int screenVibra();
+ void setScreenVibra(int volume);
+ */
#ifdef Q_OS_SYMBIAN
private:
- void UpdateProfileL();
+ void UpdateProfileSettingsL(int profileId);
int commitChange();
private:
- MProfileEngineExtended* mEngine;
- MProfileExtended* mProfileExt;
- TProfileToneSettings* mToneSettings;
- const MProfileFeedbackSettings* mFeedbackSettings;
- MProfileSetFeedbackSettings* mSetFeedbackSettings;
- CRepository* mVibraCenRep;
+ MProfileEngineExtended2 *mEngine;
+ //MProfileExtended2 *mProfileExt;
+ //TProfileToneSettings *mToneSettings;
+ //const MProfileFeedbackSettings *mFeedbackSettings;
+ //MProfileSetFeedbackSettings *mSetFeedbackSettings;
+ //CRepository *mVibraCenRep;
+ int mEditingProfileId;
bool mInitErrFlag;
+ CRepository *mOffLineCenRep;
+ CpProfileModel *q_ptr;
#endif // Q_OS_SYMBIAN
- };
+};
#endif
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_win_p.cpp Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_win_p.cpp Mon May 03 12:32:06 2010 +0300
@@ -62,6 +62,15 @@
}
/*
+ * Set a profile as current editing profile
+ */
+int CpProfileModelPrivate::setEditingProfile(int profileId)
+{
+ Q_UNUSED(profileId);
+ return -1;
+}
+
+/*
* Get path and file name of ring tone file
*/
QString CpProfileModelPrivate::ringTone()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/cpserviceprovider.pri Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,22 @@
+#
+# 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: cpserviceprovider project - included files
+#
+
+HEADERS += src/cpservicemainwindow.h \
+ src/cplauncherservice.h
+
+SOURCES += src/cpservicemainwindow.cpp \
+ src/cplauncherservice.cpp \
+ src/main.cpp
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/cpserviceprovider.pro Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,34 @@
+#
+# 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: cpserviceprovider project - qmake settings
+#
+
+TEMPLATE=app
+TARGET=cpserviceprovider
+
+CONFIG += hb service
+symbian:TARGET.UID3 = 0x2002873F
+
+include( ../common.pri )
+include( cpserviceprovider.pri )
+
+LIBS+=-lxqservice -lxqserviceutil -lcpframework
+
+SERVICE.FILE = service_conf.xml
+SERVICE.OPTIONS = embeddable
+SERVICE.OPTIONS += hidden embeddable
+
+libFiles.sources = xqservice.dll
+libFiles.path = "!:\sys\bin"
+DEPLOYMENT += libFiles
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/service_conf.xml Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+ <name>com.nokia.services.cpserviceprovider</name>
+ <filepath>="must-not-be-empty"</filepath>
+ <description>ControlPanel service</description>
+ <interface>
+ <name>Launcher</name>
+ <version>1.0</version>
+ <description>Launch a setting view which comes from a specific plugin</description>
+ </interface>
+</service>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/src/cplauncherservice.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* 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:
+*
+*/
+
+#include "cplauncherservice.h"
+#include <cpservicemainwindow.h>
+#include <cplauncherinterface.h>
+#include <cppluginloader.h>
+#include <cpbasesettingview.h>
+#include "cpsplogger.h"
+
+CpLauncherService::CpLauncherService(HbMainWindow *mainWindow /* = 0*/)
+: XQServiceProvider("com.nokia.services.cpserviceprovider.Launcher",mainWindow),
+ mMainWindow(mainWindow),
+ mAsyncRequestIndex(-1),
+ mReturnValue(false)
+{
+ CPSP_LOG("CpLauncherService Constructing...");
+ publishAll();
+}
+
+CpLauncherService::~CpLauncherService()
+{
+ CPSP_LOG("CpLauncherService Destructing...");
+}
+
+void CpLauncherService::complete()
+{
+ CPSP_LOG( QString("CpLauncherService::complete() mAsyncRequestIndex = %1, mReturnValue = %2").arg(
+ mAsyncRequestIndex).arg(mReturnValue.toBool()) );
+ completeRequest(mAsyncRequestIndex, mReturnValue);
+}
+
+
+bool CpLauncherService::launchSettingView(const QString &pluginFile,const QVariant &hint)
+{
+ CPSP_LOG("Entering CpLauncherService::launchSettingView");
+
+ mAsyncRequestIndex = setCurrentRequestAsync();
+ mReturnValue.setValue(false);
+
+ if (mMainWindow) {
+ mMainWindow->show();
+ CpLauncherInterface *plugin = CpPluginLoader::loadCpLauncherInterface(pluginFile);
+ if (plugin) {
+ CpBaseSettingView *view = plugin->createSettingView(hint);
+ if (view) {
+ connect(view, SIGNAL(aboutToClose()), mMainWindow, SLOT(quit()));
+ mMainWindow->addView(view);
+ mMainWindow->setCurrentView(view);
+
+ mReturnValue.setValue(true);
+ }
+ else {
+ CPSP_LOG("Create setting view failed.");
+ }
+ }
+ else {
+ CPSP_LOG(QLatin1String("Load plugin interface(CpLauncherInterface) failed: ") + pluginFile);
+ }
+
+ if (!mReturnValue.toBool()) {
+ qobject_cast<CpServiceMainWindow*>(mMainWindow)->quit();
+ }
+ }
+
+ CPSP_LOG("Leaving CpLauncherService::launchSettingView");
+
+ return mReturnValue.toBool();
+}
+
+//End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/src/cplauncherservice.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* 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 CPLAUNCHERSERVICE_H
+#define CPLAUNCHERSERVICE_H
+
+#include <xqserviceprovider.h>
+
+class HbMainWindow;
+class CpLauncherService : public XQServiceProvider
+{
+ Q_OBJECT
+public:
+ explicit CpLauncherService(HbMainWindow *mainWindow = 0);
+ virtual ~CpLauncherService();
+ void complete();
+public slots:
+ bool launchSettingView(const QString &pluginFile,const QVariant &hint);
+private:
+ HbMainWindow *mMainWindow;
+ int mAsyncRequestIndex;
+ QVariant mReturnValue;
+};
+
+#endif //CPLAUNCHERSERVICE_H
+
+//End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/src/cpservicemainwindow.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* 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:
+*
+*/
+
+#include "cpservicemainwindow.h"
+#include <QCoreApplication>
+#include <hbview.h>
+#include "cplauncherservice.h"
+#include "cpsplogger.h"
+
+CpServiceMainWindow::CpServiceMainWindow(QWidget *parent /* = 0*/)
+: HbMainWindow(parent), mLauncherService(0)
+{
+ CPSP_LOG("CpServiceMainWindow Constructing...");
+ mLauncherService = new CpLauncherService(this);
+}
+
+CpServiceMainWindow::~CpServiceMainWindow()
+{
+ CPSP_LOG("CpServiceMainWindow Destructing...");
+}
+
+void CpServiceMainWindow::quit()
+{
+ CPSP_LOG("CpServiceMainWindow::quit()");
+
+ connect(mLauncherService, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
+ mLauncherService->complete();
+ qApp->quit();
+
+ /*
+ hide();
+ mLauncherService->complete();
+ HbView *currView = currentView();
+ if (currView) {
+ removeView(currView);
+ currView->deleteLater();
+ }
+ */
+}
+
+//End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/src/cpservicemainwindow.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* 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 CPSERVICEMAINWINDOW_H
+#define CPSERVICEMAINWINDOW_H
+
+#include <hbmainwindow.h>
+
+class CpLauncherService;
+
+class CpServiceMainWindow : public HbMainWindow
+{
+ Q_OBJECT
+public:
+ explicit CpServiceMainWindow(QWidget *parent = 0);
+ virtual ~CpServiceMainWindow();
+public slots:
+ void quit();
+private:
+ CpLauncherService *mLauncherService;
+};
+
+#endif // CPSERVICEMAINWINDOW_H
+
+//End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/src/cpsplogger.h Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* 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 CPSPLOGGER_H
+#define CPSPLOGGER_H
+
+#include <QLatin1String>
+#include <logger.h>
+
+#define CPSP_LOGGER_NAME QLatin1String("CpServiceProvider")
+
+#if defined (Q_OS_SYMBIAN)
+ #define CPSP_LOGGER_CONFIG_PATH QLatin1String("C:/data/.config/cpserviceproviderlog.conf")
+#elif defined (Q_WS_WIN)
+ #ifdef _DEBUG
+ #define CPSP_LOGGER_CONFIG_PATH QLatin1String("C:/controlpanel/debug/bin/cpserviceproviderlog.conf")
+ #else
+ #define CPSP_LOGGER_CONFIG_PATH QLatin1String("C:/controlpanel/release/bin/cpserviceproviderlog.conf")
+ #endif
+#endif
+
+#define CPSP_LOG(str) Logger::instance(CPSP_LOGGER_NAME)->log(str);
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/cpserviceprovider/src/main.cpp Mon May 03 12:32:06 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* 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: main.cpp
+*
+*/
+#include <hbapplication.h>
+#include "cpservicemainwindow.h"
+#include "cpsplogger.h"
+
+int main(int argc, char **argv)
+{
+ HbApplication app(argc,argv );
+
+ Logger::instance(CPSP_LOGGER_NAME)->configure(
+ CPSP_LOGGER_CONFIG_PATH,QSettings::IniFormat);
+ CPSP_LOG("Entering CpServiceProvider.exe...");
+
+ CpServiceMainWindow wnd;
+ wnd.show();
+
+ int ret = app.exec();
+
+ CPSP_LOG("Exiting CpServiceProvider.exe.");
+
+ Logger::closeAll();
+
+ return ret;
+}
+
+//End of File
--- a/controlpanelui/src/eabi/cpprofilewrapperu.def Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/eabi/cpprofilewrapperu.def Mon May 03 12:32:06 2010 +0300
@@ -1,34 +1,55 @@
EXPORTS
- _ZN14CpProfileModel10ringVolumeEv @ 1 NONAME
- _ZN14CpProfileModel11messageToneEv @ 2 NONAME
- _ZN14CpProfileModel11profileNameEi @ 3 NONAME
- _ZN14CpProfileModel11screenVibraEv @ 4 NONAME
- _ZN14CpProfileModel11setRingToneERK7QString @ 5 NONAME
- _ZN14CpProfileModel11vibraStatusEv @ 6 NONAME
- _ZN14CpProfileModel12activateBeepEv @ 7 NONAME
- _ZN14CpProfileModel12calendarToneEv @ 8 NONAME
- _ZN14CpProfileModel12screenVolumeEv @ 9 NONAME
- _ZN14CpProfileModel12setAlarmToneERK7QString @ 10 NONAME
- _ZN14CpProfileModel12setEmailToneERK7QString @ 11 NONAME
- _ZN14CpProfileModel12setKeyVolumeEi @ 12 NONAME
- _ZN14CpProfileModel13setRingVolumeEi @ 13 NONAME
- _ZN14CpProfileModel14activateSilentEv @ 14 NONAME
- _ZN14CpProfileModel14initiationFlagEv @ 15 NONAME
- _ZN14CpProfileModel14setMessageToneERK7QString @ 16 NONAME
- _ZN14CpProfileModel14setScreenVibraEi @ 17 NONAME
- _ZN14CpProfileModel14setVibraStatusEb @ 18 NONAME
- _ZN14CpProfileModel15activateProfileEi @ 19 NONAME
- _ZN14CpProfileModel15activeProfileIdEv @ 20 NONAME
- _ZN14CpProfileModel15setCalendarToneERK7QString @ 21 NONAME
- _ZN14CpProfileModel15setScreenVolumeEi @ 22 NONAME
- _ZN14CpProfileModel6isBeepEv @ 23 NONAME
- _ZN14CpProfileModel8isSilentEv @ 24 NONAME
- _ZN14CpProfileModel8ringToneEv @ 25 NONAME
- _ZN14CpProfileModel9alarmToneEv @ 26 NONAME
- _ZN14CpProfileModel9emailToneEv @ 27 NONAME
- _ZN14CpProfileModel9keyVolumeEv @ 28 NONAME
- _ZN14CpProfileModelC1Ev @ 29 NONAME
- _ZN14CpProfileModelC2Ev @ 30 NONAME
- _ZN14CpProfileModelD1Ev @ 31 NONAME
- _ZN14CpProfileModelD2Ev @ 32 NONAME
+ _ZN14CpProfileModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+ _ZN14CpProfileModel11qt_metacastEPKc @ 2 NONAME
+ _ZN14CpProfileModel11setRingToneERK7QString @ 3 NONAME
+ _ZN14CpProfileModel11setRingToneEiRK7QString @ 4 NONAME
+ _ZN14CpProfileModel12setEmailToneEiRK7QString @ 5 NONAME
+ _ZN14CpProfileModel13setEmailVibraEib @ 6 NONAME
+ _ZN14CpProfileModel14initiationFlagEv @ 7 NONAME
+ _ZN14CpProfileModel14setMasterVibraEb @ 8 NONAME
+ _ZN14CpProfileModel14setMessageToneEiRK7QString @ 9 NONAME
+ _ZN14CpProfileModel14setOffLineModeEb @ 10 NONAME
+ _ZN14CpProfileModel14setSilenceModeEb @ 11 NONAME
+ _ZN14CpProfileModel15activateProfileEi @ 12 NONAME
+ _ZN14CpProfileModel15activeProfileIdEv @ 13 NONAME
+ _ZN14CpProfileModel15profileSettingsEiR17CpProfileSettings @ 14 NONAME
+ _ZN14CpProfileModel15setMasterVolumeEi @ 15 NONAME
+ _ZN14CpProfileModel15setMessageVibraEib @ 16 NONAME
+ _ZN14CpProfileModel15setReminderToneEiRK7QString @ 17 NONAME
+ _ZN14CpProfileModel16setReminderVibraEib @ 18 NONAME
+ _ZN14CpProfileModel16staticMetaObjectE @ 19 NONAME DATA 16
+ _ZN14CpProfileModel17setRingAlertVibraEib @ 20 NONAME
+ _ZN14CpProfileModel18setProfileSettingsEiR17CpProfileSettings @ 21 NONAME
+ _ZN14CpProfileModel19getStaticMetaObjectEv @ 22 NONAME
+ _ZN14CpProfileModel19setNotificationToneEib @ 23 NONAME
+ _ZN14CpProfileModel20setNotificationVibraEib @ 24 NONAME
+ _ZN14CpProfileModel21setKeyTouchScreenToneEii @ 25 NONAME
+ _ZN14CpProfileModel22setKeyTouchScreenVibraEii @ 26 NONAME
+ _ZN14CpProfileModelC1EP7QObject @ 27 NONAME
+ _ZN14CpProfileModelC2EP7QObject @ 28 NONAME
+ _ZN14CpProfileModelD0Ev @ 29 NONAME
+ _ZN14CpProfileModelD1Ev @ 30 NONAME
+ _ZN14CpProfileModelD2Ev @ 31 NONAME
+ _ZNK14CpProfileModel10emailVibraEi @ 32 NONAME
+ _ZNK14CpProfileModel10metaObjectEv @ 33 NONAME
+ _ZNK14CpProfileModel11masterVibraEv @ 34 NONAME
+ _ZNK14CpProfileModel11messageToneEi @ 35 NONAME
+ _ZNK14CpProfileModel11profileNameEi @ 36 NONAME
+ _ZNK14CpProfileModel12masterVolumeEv @ 37 NONAME
+ _ZNK14CpProfileModel12messageVibraEi @ 38 NONAME
+ _ZNK14CpProfileModel12profileNamesEv @ 39 NONAME
+ _ZNK14CpProfileModel12reminderToneEi @ 40 NONAME
+ _ZNK14CpProfileModel13isOffLineModeEv @ 41 NONAME
+ _ZNK14CpProfileModel13isSilenceModeEv @ 42 NONAME
+ _ZNK14CpProfileModel13reminderVibraEi @ 43 NONAME
+ _ZNK14CpProfileModel14ringAlertVibraEi @ 44 NONAME
+ _ZNK14CpProfileModel16notificationToneEi @ 45 NONAME
+ _ZNK14CpProfileModel17notificationVibraEi @ 46 NONAME
+ _ZNK14CpProfileModel18keyTouchScreenToneEi @ 47 NONAME
+ _ZNK14CpProfileModel19keyTouchScreenVibraEi @ 48 NONAME
+ _ZNK14CpProfileModel8ringToneEi @ 49 NONAME
+ _ZNK14CpProfileModel8ringToneEv @ 50 NONAME
+ _ZNK14CpProfileModel9emailToneEi @ 51 NONAME
+ _ZTI14CpProfileModel @ 52 NONAME
+ _ZTV14CpProfileModel @ 53 NONAME
--- a/controlpanelui/src/inc/cpprofilemodel.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/inc/cpprofilemodel.h Mon May 03 12:32:06 2010 +0300
@@ -21,57 +21,118 @@
#include "cpprofilewrappermacro.h"
#include <QtCore/qglobal.h>
#include <QString>
-
+#include <QtCore/QObject>
class CpProfileModelPrivate;
+/*!
+ Profile id is defined in profile engine
+ */
enum ProfileWrapperProfileId
- {
- EProfileWrapperGeneralId = 0,
- EProfileWrapperSilentId = 1,
- EProfileWrapperMeetingId = 2
- };
-
-class PROFILE_WRAPPER_EXPORT CpProfileModel
- {
+{
+ EProfileWapperStart = -1,
+ EProfileWrapperGeneralId = 0,
+ EProfileWrapperMeetingId = 2,
+ EPRofileWrapperEnd
+};
+class CpProfileSettings
+{
public:
- CpProfileModel();
+ QString mRingTone;
+ QString mMessageTone;
+ QString mEmailTone;
+ QString mReminderTone;
+ bool mNotificationTone;
+ int mKeyTouchScreenTone; // 0-5
+
+ bool mRingAlertVibra;
+ bool mMessageVibra;
+ bool mEmailVibra;
+ bool mReminderAlertVibra;
+ bool mNotificationVibra;
+ int mKeyTouchScreenVibra; //0-5
+};
+class PROFILE_WRAPPER_EXPORT CpProfileModel : QObject
+{
+ Q_OBJECT
+public:
+ CpProfileModel(QObject *parent = 0);
~CpProfileModel();
public:
int initiationFlag();
- QString profileName(int profileId);
+ QString profileName(int profileId)const;
+ QStringList profileNames()const;
int activateProfile(int profileId);
int activeProfileId();
- QString ringTone();
- int setRingTone(const QString& filePath);
- QString messageTone();
- int setMessageTone(const QString& filePath);
- QString emailTone();
- int setEmailTone(const QString& filePath);
- QString calendarTone();
- void setCalendarTone(const QString& filePath);
- QString alarmTone();
- void setAlarmTone(const QString& filePath);
- int ringVolume();
- void setRingVolume(int volume);
- void activateBeep();
- bool isBeep();
- void activateSilent();
- bool isSilent();
- bool vibraStatus();
- void setVibraStatus(bool status);
- int keyVolume();
- void setKeyVolume(int volume);
- int screenVolume();
- void setScreenVolume(int volume);
- int screenVibra();
- void setScreenVibra(int volume);
+ int setEditingProfile(int profileId);
+ int profileSettings(int profileId, CpProfileSettings& profileSettings);
+ int setProfileSettings(int profileId, CpProfileSettings& profileSettings );
+
+ /*!
+ * set ring tone in personalization group in control panel's homeview
+ */
+ QString ringTone() const;
+ void setRingTone(const QString& filePath);
+
+ /* QString alarmTone();
+ void setAlarmTone(const QString& filePath);*/
+
+ int masterVolume() const;
+ void setMasterVolume(int volume);
+
+
+ bool masterVibra() const;
+ void setMasterVibra(bool isVibra);
+
+ bool isSilenceMode() const;
+ void setSilenceMode(bool isSlience);
+
+ bool isOffLineMode() const;
+ void setOffLineMode(bool isOffLine);
+
+ /*!
+ * For profile settings
+ */
+
+ QString ringTone(int profileId)const;
+ void setRingTone(int profileId, const QString& filePath);
+ QString messageTone(int profileId) const;
+ void setMessageTone(int profileId, const QString& filePath);
+ QString emailTone(int profileId) const;
+ void setEmailTone(int profileId, const QString& filePath);
+ QString reminderTone(int profileId) const;
+ void setReminderTone(int profileId, const QString& filePath);
+
+ bool notificationTone(int profileId) const;
+ void setNotificationTone(int profileId, bool isActive);
+
+ int keyTouchScreenTone(int profileId) const;
+ void setKeyTouchScreenTone(int profileId, int level);
+
+ bool ringAlertVibra(int profileId) const;
+ void setRingAlertVibra(int profileId, bool isActive);
+
+ bool messageVibra(int profileId) const;
+ void setMessageVibra(int profileId, bool isActive);
+
+ bool emailVibra(int profileId) const;
+ void setEmailVibra(int profileId, bool isActive);
+
+ bool reminderVibra(int profileId) const;
+ void setReminderVibra(int profileId, bool isActive);
+
+ bool notificationVibra(int profileId) const;
+ void setNotificationVibra(int profileId, bool isActive);
+
+ int keyTouchScreenVibra(int profileId)const;
+ void setKeyTouchScreenVibra(int profileId, int level);
private:
+ CpProfileModelPrivate *const d_ptr;
+
+private:
Q_DISABLE_COPY(CpProfileModel)
-
-private:
- CpProfileModelPrivate* dptr;
- };
+ Q_DECLARE_PRIVATE_D(d_ptr,CpProfileModel)
+};
#endif
--- a/controlpanelui/src/inc/cpuids.h Fri Apr 16 14:59:22 2010 +0300
+++ b/controlpanelui/src/inc/cpuids.h Mon May 03 12:32:06 2010 +0300
@@ -43,15 +43,15 @@
#define QUID_CPCATEGORYMODEL_DLL 0X20028736
-#define QUID_RESERVED4 0X20028737
-#define QUID_RESERVED5 0X20028738
-#define QUID_RESERVED6 0X20028739
+#define QUID_CPVOLUME 0X20028737
+#define QUID_RINGTONE 0X20028738
+#define QUID_PROFILEACTIVATOR 0X20028739
#define QUID_RESERVED7 0X2002873A
#define QUID_RESERVED8 0X2002873B
#define QUID_RESERVED9 0X2002873C
#define QUID_RESERVED10 0X2002873D
#define QUID_RESERVED11 0X2002873E
-#define QUID_RESERVED12 0X2002873F
+#define QUID_CPSERVICEPROVIDER 0X2002873F
#define QUID_DE_GSPLUGIN 0X20028740 //reserved by 9.2
#endif //QCPUIDS_H