diff -r 098e361762d2 -r 6b63ca65093a cpsecplugins/devicelockplugin/src/cpdevicelockpluginview.cpp --- a/cpsecplugins/devicelockplugin/src/cpdevicelockpluginview.cpp Fri May 14 16:43:26 2010 +0300 +++ b/cpsecplugins/devicelockplugin/src/cpdevicelockpluginview.cpp Thu May 27 13:44:17 2010 +0300 @@ -27,7 +27,6 @@ #include #include #include -//#include #include #include #include @@ -45,6 +44,7 @@ #include #include + /* @@ -57,148 +57,167 @@ */ CpDeviceLockPluginView::CpDeviceLockPluginView(QGraphicsItem *parent /*= 0*/) : CpBaseSettingView(0,parent) -{ - QTranslator *translator = new QTranslator(); - QString lang = QLocale::system().name(); - QString path = "Z:/resource/qt/translations/"; - bool fine = translator->load("devicelocking_en.qm", path); - if (fine) - qApp->installTranslator(translator); + { + QTranslator *translator = new QTranslator(); + QString lang = QLocale::system().name(); + QString path = "Z:/resource/qt/translations/"; + bool fine = translator->load("devicelocking_en.qm", path); + if (fine) + qApp->installTranslator(translator); - QTranslator *commontranslator = new QTranslator(); + QTranslator *commontranslator = new QTranslator(); - fine = commontranslator->load("common_" + lang, path); - if (fine) - qApp->installTranslator(commontranslator); + fine = commontranslator->load("common_" + lang, path); + if (fine) + qApp->installTranslator(commontranslator); - - TSecUi::InitializeLibL(); mUiSecuSettings = CSecuritySettings::NewL(); mRemoteLockSettings = CRemoteLockSettings::NewL(); - iALPeriodRep = CRepository::NewL( KCRUidSecuritySettings ); - - + iALPeriodRep = CRepository::NewL(KCRUidSecuritySettings); + mRemoteLockSettingClicked = false; - mHack = 0; - if (HbDataForm *form = settingForm()) - { - QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical); - QList protoTypeList = form->itemPrototypes(); - protoTypeList.append(new CpRemoteLockDataFormViewItem()); + mHack = 0; + HbDataForm *form = qobject_cast (widget()); + if (form) + { + QGraphicsLinearLayout *layout = new QGraphicsLinearLayout( + Qt::Vertical); + QList protoTypeList = form->itemPrototypes(); + protoTypeList.append(new CpRemoteLockDataFormViewItem()); form->setItemPrototypes(protoTypeList); form->setHeading(hbTrId("txt_cp_dblist_device_lock")); - + //DataFormModel - formModel = new HbDataFormModel(); - - - //lockcode - HbDataFormModelItem *lockCodeItem = new HbDataFormModelItem( - static_cast(CpRemoteLockDataFormViewItem::CpCodeEditItem), - hbTrId("txt_devicelocking_dialog_lock_code")); - lockCodeItem->setContentWidgetData("echomode",HbLineEdit::Password); - lockCodeItem->setContentWidgetData("text","1234"); - lockCodeItem->setContentWidgetData("readonly",true); - form->addConnection(lockCodeItem,SIGNAL(clicked()),this,SLOT(onLockCodeClicked())); - formModel->appendDataFormItem(lockCodeItem); - - - //Autolock period - mAutolockPeriodItem= new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem, - hbTrId("txt_devicelocking_formlabel_automatic_locking")); - TInt autoLockVal; - TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal); - TInt index = GetAutoLockIndex(autoLockVal); - Dprint((_L("Current AL period value %d"),autoLockVal)); - //TODO: need to set autoLockVal in editor - QStringList autolockPeriodList; - autolockPeriodList<< hbTrId("txt_devicelocking_button_off") - << hbTrId("txt_devicelocking_setlabel_val_when_keys_screen") - << hbTrId("txt_devicelocking_setlabel_val_5_minutes") - << hbTrId("txt_devicelocking_setlabel_val_30_minutes") - << hbTrId("txt_devicelocking_setlabel_val_60_minutes"); - mAutolockPeriodItem->setContentWidgetData(QString("items"),autolockPeriodList); - mAutolockPeriodItem->setContentWidgetData(QString("currentIndex"),index); - mAutolockPeriodItem->setContentWidgetData(QString("editable"),true); - QVariant themeComboData = mAutolockPeriodItem->contentWidgetData(QString("currentIndex")); - mThemeComboPrevIndex = themeComboData.toInt(); - - form->addConnection(mAutolockPeriodItem,SIGNAL(currentIndexChanged(int)),this,SLOT(onAutoLockChanged(int))); - //form->addConnection(mAutolockPeriodItem,SIGNAL(editTextChanged(const QString&)), this, SLOT(onAutoTextChanged(const QString&))); - formModel->appendDataFormItem(mAutolockPeriodItem); - - - //LockWhenSimChange - mLockWhenSimChangeItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem, - hbTrId("txt_devicelocking_formlabel_lock_when_sim_changed")); - TBool lockVal = mUiSecuSettings->IsLockEnabledL(RMobilePhone::ELockPhoneToICC); - Dprint((_L("LockWhenSimChange enabled %d"),lockVal)); - if(lockVal) - { - mLockWhenSimChangeItem->setContentWidgetData("text",hbTrId("txt_remotelocking_button_sim_changed_on")); + formModel = new HbDataFormModel(); + + //lockcode + HbDataFormModelItem + *lockCodeItem = + new HbDataFormModelItem( + static_cast (CpRemoteLockDataFormViewItem::CpCodeEditItem), + hbTrId("txt_devicelocking_dialog_lock_code")); + lockCodeItem->setContentWidgetData("echomode", HbLineEdit::Password); + lockCodeItem->setContentWidgetData("text", "1234"); + lockCodeItem->setContentWidgetData("readonly", true); + form->addConnection(lockCodeItem, SIGNAL(clicked()), this, + SLOT(onLockCodeClicked())); + formModel->appendDataFormItem(lockCodeItem); + + //Autolock period + mAutolockPeriodItem = new HbDataFormModelItem( + HbDataFormModelItem::ComboBoxItem, hbTrId( + "txt_devicelocking_formlabel_automatic_locking")); + TInt autoLockVal; + TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal); + TInt index = GetAutoLockIndex(autoLockVal); + Dprint((_L("Current AL period value %d"),autoLockVal)); + //TODO: need to set autoLockVal in editor + QStringList autolockPeriodList; + autolockPeriodList << hbTrId("txt_devicelocking_button_off") + << hbTrId("txt_devicelocking_setlabel_val_when_keys_screen") + << hbTrId("txt_devicelocking_setlabel_val_5_minutes") + << hbTrId("txt_devicelocking_setlabel_val_30_minutes") + << hbTrId("txt_devicelocking_setlabel_val_60_minutes"); + mAutolockPeriodItem->setContentWidgetData(QString("items"), + autolockPeriodList); + mAutolockPeriodItem->setContentWidgetData(QString("currentIndex"), + index); + mAutolockPeriodItem->setContentWidgetData(QString("editable"), true); + QVariant themeComboData = mAutolockPeriodItem->contentWidgetData( + QString("currentIndex")); + mThemeComboPrevIndex = themeComboData.toInt(); + + form->addConnection(mAutolockPeriodItem, + SIGNAL(currentIndexChanged(int)), this, + SLOT(onAutoLockChanged(int))); + //form->addConnection(mAutolockPeriodItem,SIGNAL(editTextChanged(const QString&)), this, SLOT(onAutoTextChanged(const QString&))); + formModel->appendDataFormItem(mAutolockPeriodItem); + + //LockWhenSimChange + mLockWhenSimChangeItem = new HbDataFormModelItem( + HbDataFormModelItem::ToggleValueItem, hbTrId( + "txt_devicelocking_formlabel_lock_when_sim_changed")); + TBool lockVal = mUiSecuSettings->IsLockEnabledL( + RMobilePhone::ELockPhoneToICC); + Dprint((_L("LockWhenSimChange enabled %d"),lockVal)); + if (lockVal) + { + mLockWhenSimChangeItem->setContentWidgetData("text", hbTrId( + "txt_remotelocking_button_sim_changed_on")); + mLockWhenSimChangeItem->setContentWidgetData("additionalText", + hbTrId("txt_devicelocking_button_sim_changed_off")); + } + else + { + mLockWhenSimChangeItem->setContentWidgetData("text", hbTrId( + "txt_devicelocking_button_sim_changed_off")); mLockWhenSimChangeItem->setContentWidgetData("additionalText", - hbTrId("txt_devicelocking_button_sim_changed_off")); - } - else - { - mLockWhenSimChangeItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_sim_changed_off")); - mLockWhenSimChangeItem->setContentWidgetData("additionalText", - hbTrId("txt_remotelocking_button_sim_changed_on")); - } - mLockWhenSimChangeItem->setContentWidgetData("readonly",true); - mPrevSIMLockData = mLockWhenSimChangeItem->contentWidgetData(QString("text")); - - connect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)), - this,SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); - formModel->appendDataFormItem(mLockWhenSimChangeItem); - - - - //Remote Lock Setting - TBool enabled = true; - TBool val = mRemoteLockSettings->GetEnabled(enabled); - Dprint((_L("Remote Lock Setting enabled %d"),val)); - mDeviceRemoteLockItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem, - hbTrId("txt_devicelocking_subhead_remote_locking")); + hbTrId("txt_remotelocking_button_sim_changed_on")); + } + mLockWhenSimChangeItem->setContentWidgetData("readonly", true); + mPrevSIMLockData = mLockWhenSimChangeItem->contentWidgetData(QString( + "text")); + + connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), + this, SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); + formModel->appendDataFormItem(mLockWhenSimChangeItem); + + //Remote Lock Setting + TBool enabled = true; + TBool val = mRemoteLockSettings->GetEnabled(enabled); + Dprint((_L("Remote Lock Setting enabled %d"),val)); + mDeviceRemoteLockItem = new HbDataFormModelItem( + HbDataFormModelItem::ToggleValueItem, hbTrId( + "txt_devicelocking_subhead_remote_locking")); + + if (val && enabled) + { + mDeviceRemoteLockItem->setContentWidgetData("text", hbTrId( + "txt_devicelocking_button_remote_on")); + mDeviceRemoteLockItem->setContentWidgetData("additionalText", + hbTrId("txt_devicelocking_button_remote_off")); + } + else + { + mDeviceRemoteLockItem->setContentWidgetData("text", hbTrId( + "txt_devicelocking_button_remote_off")); + mDeviceRemoteLockItem->setContentWidgetData("additionalText", + hbTrId("txt_devicelocking_button_remote_on")); + } - if(val && enabled) - { - mDeviceRemoteLockItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_remote_on")); - mDeviceRemoteLockItem->setContentWidgetData("additionalText",hbTrId("txt_devicelocking_button_remote_off")); - } - else - { - mDeviceRemoteLockItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_remote_off")); - mDeviceRemoteLockItem->setContentWidgetData("additionalText",hbTrId("txt_devicelocking_button_remote_on")); - } + mPrevRemLockData = mDeviceRemoteLockItem->contentWidgetData(QString( + "text")); + QString s = mPrevRemLockData.toString(); + connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), + this, SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); + formModel->appendDataFormItem(mDeviceRemoteLockItem); - mPrevRemLockData = mDeviceRemoteLockItem->contentWidgetData(QString("text")); - QString s = mPrevRemLockData.toString(); - connect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)),this,SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); - formModel->appendDataFormItem(mDeviceRemoteLockItem); - - //Remote lock message - mRemoteLockMessageItem = new HbDataFormModelItem( - static_cast(CpRemoteLockDataFormViewItem::CpCodeEditItem), - hbTrId("txt_devicelocking_formlabel_locking_message")); - mRemoteLockMessageItem->setContentWidgetData("echoMode",HbLineEdit::Password); - mRemoteLockMessageItem->setContentWidgetData("text","1111"); - mRemoteLockMessageItem->setContentWidgetData("readOnly",true); - - if(mPrevRemLockData.toString()== hbTrId("txt_devicelocking_button_remote_on")) - mRemoteLockMessageItem->setEnabled(true); - else - mRemoteLockMessageItem->setEnabled(false); - - form->addConnection(mRemoteLockMessageItem,SIGNAL(clicked()),this,SLOT(onLockMessageClicked())); - formModel->appendDataFormItem(mRemoteLockMessageItem); - - form->setModel(formModel); - layout->addItem(form); - setLayout(layout); - } -} + //Remote lock message + mRemoteLockMessageItem + = new HbDataFormModelItem( + static_cast (CpRemoteLockDataFormViewItem::CpCodeEditItem), + hbTrId("txt_devicelocking_formlabel_locking_message")); + mRemoteLockMessageItem->setContentWidgetData("echoMode", + HbLineEdit::Password); + mRemoteLockMessageItem->setContentWidgetData("text", "1111"); + mRemoteLockMessageItem->setContentWidgetData("readOnly", true); + + if (mPrevRemLockData.toString() == hbTrId( + "txt_devicelocking_button_remote_on")) + mRemoteLockMessageItem->setEnabled(true); + else + mRemoteLockMessageItem->setEnabled(false); + + form->addConnection(mRemoteLockMessageItem, SIGNAL(clicked()), this, + SLOT(onLockMessageClicked())); + formModel->appendDataFormItem(mRemoteLockMessageItem); + + form->setModel(formModel); + layout->addItem(form); + setLayout(layout); + } + } /* @@ -210,7 +229,7 @@ ***************************************************************** */ CpDeviceLockPluginView::~CpDeviceLockPluginView() -{ + { TSecUi::UnInitializeLib(); } @@ -224,7 +243,7 @@ ***************************************************************** */ void CpDeviceLockPluginView::onLockCodeClicked() -{ + { Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Enter")); mUiSecuSettings->ChangeSecCodeL(); Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Exit")); @@ -250,7 +269,7 @@ lockValue); if (newAutoLockVal == lockValue) { - Dprint(_L("onAutoLockChanged().AL setting success !!")); + Dprint(_L("onAutoLockChanged().AL setting success !!")); TInt err = iALPeriodRep->Set(KSettingsAutoLockTime, lockValue); mThemeComboPrevIndex = index; } @@ -294,7 +313,7 @@ Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..ChangeRemoteLockStatusL failed")); } Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..Exit")); - } +} /* @@ -358,7 +377,8 @@ TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal); QVariant remLockData = mDeviceRemoteLockItem->contentWidgetData( QString("text")); - if (remLockData.toString() == hbTrId("txt_devicelocking_button_remote_on")) + if (remLockData.toString() == hbTrId( + "txt_devicelocking_button_remote_on")) { remoteLockStatus = ETrue; retVal = mUiSecuSettings->ChangeRemoteLockStatusL( @@ -430,7 +450,8 @@ if ((item->type() == HbDataFormModelItem::ToggleValueItem) && (item->data(HbDataFormModelItem::LabelRole).toString() - == hbTrId("txt_devicelocking_formlabel_lock_when_sim_changed"))) + == hbTrId( + "txt_devicelocking_formlabel_lock_when_sim_changed"))) { //The following If-Else condition should be removed once orbit team fix the issue with datachanged() signal /****************************************************************************************************************/ @@ -452,19 +473,27 @@ * disconnect to datachanged() signal as we are not interested in this signal * generated as a part of setContentWidgetData() API call below */ - disconnect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); - QVariant txt = mLockWhenSimChangeItem->contentWidgetData(QString("text")); - QVariant additionalText =mLockWhenSimChangeItem->contentWidgetData(QString("additionalText")); + disconnect(formModel, + SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, + SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); + QVariant txt = mLockWhenSimChangeItem->contentWidgetData(QString( + "text")); + QVariant additionalText = + mLockWhenSimChangeItem->contentWidgetData(QString( + "additionalText")); - mLockWhenSimChangeItem->setContentWidgetData(QString("text"),additionalText); - mLockWhenSimChangeItem->setContentWidgetData(QString("additionalText"), txt); + mLockWhenSimChangeItem->setContentWidgetData(QString("text"), + additionalText); + mLockWhenSimChangeItem->setContentWidgetData(QString( + "additionalText"), txt); /* * Now connect back to datachanged() signal . */ - connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),this, SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); + connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), + this, SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); } } - } +} /* @@ -477,29 +506,29 @@ */ TInt CpDeviceLockPluginView::GetAutoLockIndex(TInt aValue) { - TInt index = 0; - switch(aValue) - { - case 0: - index = 0; - break; - case 65535: - index = 1; - break; - case 5: - index = 2; - break; - case 30: - index = 3; - break; - case 60: - index = 4; - break; - default: - break; - } - - return index; + TInt index = 0; + switch (aValue) + { + case 0: + index = 0; + break; + case 65535: + index = 1; + break; + case 5: + index = 2; + break; + case 30: + index = 3; + break; + case 60: + index = 4; + break; + default: + break; + } + + return index; } @@ -514,49 +543,66 @@ */ TInt CpDeviceLockPluginView::GetValueAtIndex(TInt aIndex) { - TInt value = 0; - - switch(aIndex) - { - case 0: - value = 0; - break; - case 1: - value = 65535; - break; - case 2: - value = 5; - break; - case 3: - value = 30; - break; - case 4: - value = 60; - break; - default: - break; - } - - return value; - } + TInt value = 0; + + switch (aIndex) + { + case 0: + value = 0; + break; + case 1: + value = 65535; + break; + case 2: + value = 5; + break; + case 3: + value = 30; + break; + case 4: + value = 60; + break; + default: + break; + } + + return value; +} + + +/* + ************************************************************************* + * Name : RollbackRemoteLockSettingState() + * Parameters : None + * Return value: None + * Description : If Remote Lock Settings fails or user cancels the settings + * then this function resets to previous value. + ************************************************************************** + */ void CpDeviceLockPluginView::RollbackRemoteLockSettingState() { /* * disconnect to datachanged() signal as we are not interested in this signal * generated as a part of setContentWidgetData() API call below */ - disconnect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),this, SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); + disconnect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), + this, SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); QVariant txt = mDeviceRemoteLockItem->contentWidgetData(QString("text")); - QVariant additionaltxt = mDeviceRemoteLockItem->contentWidgetData(QString("additionalText")); - mDeviceRemoteLockItem->setContentWidgetData(QString("text"),additionaltxt); - mDeviceRemoteLockItem->setContentWidgetData(QString("additionalText"),txt); + QVariant additionaltxt = mDeviceRemoteLockItem->contentWidgetData( + QString("additionalText")); + mDeviceRemoteLockItem->setContentWidgetData(QString("text"), + additionaltxt); + mDeviceRemoteLockItem->setContentWidgetData(QString("additionalText"), + txt); /* * Now connect back to datachanged() signal . */ - connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); + connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, + SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); - if (mPrevRemLockData.toString() == hbTrId("txt_devicelocking_button_remote_on")) + if (mPrevRemLockData.toString() == hbTrId( + "txt_devicelocking_button_remote_on")) mRemoteLockMessageItem->setEnabled(true); else mRemoteLockMessageItem->setEnabled(false);