controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.cpp
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.cpp Fri Jun 25 17:12:20 2010 +0800
+++ b/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.cpp Wed Sep 29 10:09:58 2010 +0800
@@ -28,8 +28,10 @@
#include <cppluginutility.h>
#include <hbaction.h>
#include <hbmenu.h>
+#include <hbstyleloader.h>
+
CpPersonalizationAdvanceView::CpPersonalizationAdvanceView(QGraphicsItem *parent /*=0*/):
- CpBaseSettingView(0,parent)
+ CpBaseSettingView(0,parent), mEditProfileNameDialog(0), mOkButton(0), mCancelButton(0)
{
// 1.init the dataform for advance settings here
// 2.please modify the cpprofilesettingform.h/ cpp according to current ui spec
@@ -37,14 +39,23 @@
// 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
- HbDataForm *form = new CpProfileSettingForm();
- setWidget( form );
- CpPluginUtility::addCpItemPrototype(form);
+ HbStyleLoader::registerFilePath(":/resources/hbslider_color.css");
+ mDataForm = new CpProfileSettingForm();
+ setWidget( mDataForm );
+ CpPluginUtility::addCpItemPrototype(mDataForm);
initMenu();
}
CpPersonalizationAdvanceView::~CpPersonalizationAdvanceView()
{
-
+ if (mEditProfileNameDialog) {
+ delete mEditProfileNameDialog;
+ }
+ if (mOkButton) {
+ delete mOkButton;
+ }
+ if (mCancelButton) {
+ delete mCancelButton;
+ }
}
void CpPersonalizationAdvanceView::initMenu()
@@ -59,6 +70,30 @@
void CpPersonalizationAdvanceView::on_editNameAction_triggered()
{
- QString string = QString( "general" );
- bool ret = CpProfileNameEditDialog::launchProfileNameEditDialog( string );
+ mProfileName = mDataForm->currentPageProfileName().trimmed();
+
+ if (mEditProfileNameDialog) {
+ delete mEditProfileNameDialog;
+ delete mCancelButton;
+ delete mOkButton;
+ }
+ mCancelButton = new HbAction(hbTrId("txt_common_button_cancel"));
+ mOkButton = new HbAction(hbTrId("txt_common_button_ok"));
+ mEditProfileNameDialog = new CpProfileNameEditDialog();
+ mEditProfileNameDialog->addAction(mOkButton);
+ mEditProfileNameDialog->addAction(mCancelButton);
+ mEditProfileNameDialog->setLineEditMaxLength(maxProfileNameLength);
+ mEditProfileNameDialog->setLineEditText(mProfileName);
+ mEditProfileNameDialog->open(this, SLOT(onDialogClosed(HbAction*)));
+
}
+
+void CpPersonalizationAdvanceView::onDialogClosed(HbAction *action)
+{
+ if (action == mOkButton &&
+ mProfileName != mEditProfileNameDialog->lineEditText()) {
+ mProfileName = mEditProfileNameDialog->lineEditText();
+ mDataForm->setCurrentPageProfileName(mProfileName);
+ mDataForm->updateModifiedProfileName(mProfileName);
+ }
+}