controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.cpp
changeset 40 593f946f4fec
parent 19 36aa4756ee82
--- 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);
+    }
+}