diff -r a5692c68d772 -r 593f946f4fec 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 #include #include +#include + 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); + } +}