cpsecplugins/devicelockplugin/src/cpdevicelockpluginview.cpp
changeset 22 6b63ca65093a
parent 19 098e361762d2
child 26 aad866c37519
equal deleted inserted replaced
19:098e361762d2 22:6b63ca65093a
    25 #include <hblabel.h>
    25 #include <hblabel.h>
    26 #include <hbpushbutton.h>
    26 #include <hbpushbutton.h>
    27 #include <hbmessagebox>
    27 #include <hbmessagebox>
    28 #include <hbdataform.h>
    28 #include <hbdataform.h>
    29 #include <QGraphicsLinearLayout>
    29 #include <QGraphicsLinearLayout>
    30 //#include <seccodeeditdataformviewitem.h>
       
    31 #include <secuisecuritysettings.h>
    30 #include <secuisecuritysettings.h>
    32 #include <secuisecurityhandler.h>
    31 #include <secuisecurityhandler.h>
    33 #include <etelmm.h>
    32 #include <etelmm.h>
    34 #include <rmmcustomapi.h>
    33 #include <rmmcustomapi.h>
    35 #include <hbinputdialog.h>
    34 #include <hbinputdialog.h>
    43 #include <RemoteLockSettings.h>
    42 #include <RemoteLockSettings.h>
    44 #include "debug.h"
    43 #include "debug.h"
    45 #include <qapplication.h>
    44 #include <qapplication.h>
    46 #include <qtranslator.h>
    45 #include <qtranslator.h>
    47 
    46 
       
    47 
    48    
    48    
    49         
    49         
    50 /*
    50 /*
    51  *****************************************************************
    51  *****************************************************************
    52  * Name        : CpDeviceLockPluginView()
    52  * Name        : CpDeviceLockPluginView()
    55  * Description : constructor
    55  * Description : constructor
    56  *****************************************************************
    56  *****************************************************************
    57  */
    57  */
    58 CpDeviceLockPluginView::CpDeviceLockPluginView(QGraphicsItem *parent /*= 0*/)
    58 CpDeviceLockPluginView::CpDeviceLockPluginView(QGraphicsItem *parent /*= 0*/)
    59 : CpBaseSettingView(0,parent)
    59 : CpBaseSettingView(0,parent)
    60 {
    60     {
    61         QTranslator *translator = new QTranslator();
    61     QTranslator *translator = new QTranslator();
    62         QString lang = QLocale::system().name();
    62     QString lang = QLocale::system().name();
    63         QString path = "Z:/resource/qt/translations/";
    63     QString path = "Z:/resource/qt/translations/";
    64         bool fine = translator->load("devicelocking_en.qm", path);
    64     bool fine = translator->load("devicelocking_en.qm", path);
    65         if (fine)
    65     if (fine)
    66             qApp->installTranslator(translator);
    66         qApp->installTranslator(translator);
    67 
    67 
    68         QTranslator *commontranslator = new QTranslator();
    68     QTranslator *commontranslator = new QTranslator();
    69 
    69 
    70         fine = commontranslator->load("common_" + lang, path);
    70     fine = commontranslator->load("common_" + lang, path);
    71         if (fine)
    71     if (fine)
    72             qApp->installTranslator(commontranslator);
    72         qApp->installTranslator(commontranslator);
    73 
    73 
    74 
       
    75     
       
    76     TSecUi::InitializeLibL();
    74     TSecUi::InitializeLibL();
    77     mUiSecuSettings = CSecuritySettings::NewL();
    75     mUiSecuSettings = CSecuritySettings::NewL();
    78     mRemoteLockSettings = CRemoteLockSettings::NewL();
    76     mRemoteLockSettings = CRemoteLockSettings::NewL();
    79     iALPeriodRep = CRepository::NewL( KCRUidSecuritySettings );  
    77     iALPeriodRep = CRepository::NewL(KCRUidSecuritySettings);
    80     
    78 
    81     
       
    82     mRemoteLockSettingClicked = false;
    79     mRemoteLockSettingClicked = false;
    83     mHack = 0; 
    80     mHack = 0;
    84 	if (HbDataForm *form = settingForm()) 
    81     HbDataForm *form = qobject_cast<HbDataForm*> (widget());
    85 	    {
    82     if (form)
    86         QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
    83         {
    87 		QList<HbAbstractViewItem *> protoTypeList = form->itemPrototypes();
    84         QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(
    88 		protoTypeList.append(new CpRemoteLockDataFormViewItem());
    85                 Qt::Vertical);
       
    86         QList<HbAbstractViewItem *> protoTypeList = form->itemPrototypes();
       
    87         protoTypeList.append(new CpRemoteLockDataFormViewItem());
    89         form->setItemPrototypes(protoTypeList);
    88         form->setItemPrototypes(protoTypeList);
    90         form->setHeading(hbTrId("txt_cp_dblist_device_lock"));
    89         form->setHeading(hbTrId("txt_cp_dblist_device_lock"));
    91         
    90 
    92         //DataFormModel
    91         //DataFormModel
    93 		formModel = new HbDataFormModel();
    92         formModel = new HbDataFormModel();
    94 		
    93 
    95 		
    94         //lockcode
    96 		//lockcode
    95         HbDataFormModelItem
    97 		HbDataFormModelItem *lockCodeItem = new HbDataFormModelItem(
    96                 *lockCodeItem =
    98 		        static_cast<HbDataFormModelItem::DataItemType>(CpRemoteLockDataFormViewItem::CpCodeEditItem),
    97                         new HbDataFormModelItem(
    99 		        hbTrId("txt_devicelocking_dialog_lock_code"));		
    98                                 static_cast<HbDataFormModelItem::DataItemType> (CpRemoteLockDataFormViewItem::CpCodeEditItem),
   100 		lockCodeItem->setContentWidgetData("echomode",HbLineEdit::Password);
    99                                 hbTrId("txt_devicelocking_dialog_lock_code"));
   101 		lockCodeItem->setContentWidgetData("text","1234");
   100         lockCodeItem->setContentWidgetData("echomode", HbLineEdit::Password);
   102 		lockCodeItem->setContentWidgetData("readonly",true);
   101         lockCodeItem->setContentWidgetData("text", "1234");
   103 		form->addConnection(lockCodeItem,SIGNAL(clicked()),this,SLOT(onLockCodeClicked()));
   102         lockCodeItem->setContentWidgetData("readonly", true);
   104 		formModel->appendDataFormItem(lockCodeItem);
   103         form->addConnection(lockCodeItem, SIGNAL(clicked()), this,
   105 	
   104                 SLOT(onLockCodeClicked()));
   106 		
   105         formModel->appendDataFormItem(lockCodeItem);
   107 		//Autolock period
   106 
   108 		mAutolockPeriodItem= new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem,
   107         //Autolock period
   109                                                         hbTrId("txt_devicelocking_formlabel_automatic_locking"));
   108         mAutolockPeriodItem = new HbDataFormModelItem(
   110 		TInt autoLockVal;
   109                 HbDataFormModelItem::ComboBoxItem, hbTrId(
   111 		TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal);
   110                         "txt_devicelocking_formlabel_automatic_locking"));
   112 		TInt index = GetAutoLockIndex(autoLockVal);
   111         TInt autoLockVal;
   113 		Dprint((_L("Current AL period value %d"),autoLockVal));
   112         TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal);
   114 		//TODO: need to set autoLockVal in editor
   113         TInt index = GetAutoLockIndex(autoLockVal);
   115 		QStringList autolockPeriodList;
   114         Dprint((_L("Current AL period value %d"),autoLockVal));
   116 		autolockPeriodList<< hbTrId("txt_devicelocking_button_off")
   115         //TODO: need to set autoLockVal in editor
   117 		                  << hbTrId("txt_devicelocking_setlabel_val_when_keys_screen")
   116         QStringList autolockPeriodList;
   118 		                  << hbTrId("txt_devicelocking_setlabel_val_5_minutes")
   117         autolockPeriodList << hbTrId("txt_devicelocking_button_off")
   119 		                  << hbTrId("txt_devicelocking_setlabel_val_30_minutes")
   118                 << hbTrId("txt_devicelocking_setlabel_val_when_keys_screen")
   120 		                  << hbTrId("txt_devicelocking_setlabel_val_60_minutes");
   119                 << hbTrId("txt_devicelocking_setlabel_val_5_minutes")
   121 		mAutolockPeriodItem->setContentWidgetData(QString("items"),autolockPeriodList);
   120                 << hbTrId("txt_devicelocking_setlabel_val_30_minutes")
   122 		mAutolockPeriodItem->setContentWidgetData(QString("currentIndex"),index);
   121                 << hbTrId("txt_devicelocking_setlabel_val_60_minutes");
   123 		mAutolockPeriodItem->setContentWidgetData(QString("editable"),true);		
   122         mAutolockPeriodItem->setContentWidgetData(QString("items"),
   124 		QVariant themeComboData = mAutolockPeriodItem->contentWidgetData(QString("currentIndex"));
   123                 autolockPeriodList);
   125 		mThemeComboPrevIndex = themeComboData.toInt();
   124         mAutolockPeriodItem->setContentWidgetData(QString("currentIndex"),
   126 		
   125                 index);
   127 		form->addConnection(mAutolockPeriodItem,SIGNAL(currentIndexChanged(int)),this,SLOT(onAutoLockChanged(int)));
   126         mAutolockPeriodItem->setContentWidgetData(QString("editable"), true);
   128 		//form->addConnection(mAutolockPeriodItem,SIGNAL(editTextChanged(const QString&)), this, SLOT(onAutoTextChanged(const QString&)));
   127         QVariant themeComboData = mAutolockPeriodItem->contentWidgetData(
   129 		formModel->appendDataFormItem(mAutolockPeriodItem);
   128                 QString("currentIndex"));
   130 		
   129         mThemeComboPrevIndex = themeComboData.toInt();
   131 		
   130 
   132 		//LockWhenSimChange
   131         form->addConnection(mAutolockPeriodItem,
   133 		mLockWhenSimChangeItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem,
   132                 SIGNAL(currentIndexChanged(int)), this,
   134                                                   hbTrId("txt_devicelocking_formlabel_lock_when_sim_changed"));
   133                 SLOT(onAutoLockChanged(int)));
   135     	TBool lockVal = mUiSecuSettings->IsLockEnabledL(RMobilePhone::ELockPhoneToICC);
   134         //form->addConnection(mAutolockPeriodItem,SIGNAL(editTextChanged(const QString&)), this, SLOT(onAutoTextChanged(const QString&)));
   136     	Dprint((_L("LockWhenSimChange enabled %d"),lockVal));
   135         formModel->appendDataFormItem(mAutolockPeriodItem);
   137 		if(lockVal)
   136 
   138 		    {
   137         //LockWhenSimChange
   139             mLockWhenSimChangeItem->setContentWidgetData("text",hbTrId("txt_remotelocking_button_sim_changed_on"));
   138         mLockWhenSimChangeItem = new HbDataFormModelItem(
       
   139                 HbDataFormModelItem::ToggleValueItem, hbTrId(
       
   140                         "txt_devicelocking_formlabel_lock_when_sim_changed"));
       
   141         TBool lockVal = mUiSecuSettings->IsLockEnabledL(
       
   142                 RMobilePhone::ELockPhoneToICC);
       
   143         Dprint((_L("LockWhenSimChange enabled %d"),lockVal));
       
   144         if (lockVal)
       
   145             {
       
   146             mLockWhenSimChangeItem->setContentWidgetData("text", hbTrId(
       
   147                     "txt_remotelocking_button_sim_changed_on"));
   140             mLockWhenSimChangeItem->setContentWidgetData("additionalText",
   148             mLockWhenSimChangeItem->setContentWidgetData("additionalText",
   141                                                             hbTrId("txt_devicelocking_button_sim_changed_off"));
   149                     hbTrId("txt_devicelocking_button_sim_changed_off"));
   142 		    }
   150             }
   143 		else
   151         else
   144 		    {
   152             {
   145             mLockWhenSimChangeItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_sim_changed_off"));
   153             mLockWhenSimChangeItem->setContentWidgetData("text", hbTrId(
   146 		    mLockWhenSimChangeItem->setContentWidgetData("additionalText",
   154                     "txt_devicelocking_button_sim_changed_off"));
   147                                                             hbTrId("txt_remotelocking_button_sim_changed_on"));
   155             mLockWhenSimChangeItem->setContentWidgetData("additionalText",
   148 		    }
   156                     hbTrId("txt_remotelocking_button_sim_changed_on"));
   149 		mLockWhenSimChangeItem->setContentWidgetData("readonly",true);
   157             }
   150 		mPrevSIMLockData = mLockWhenSimChangeItem->contentWidgetData(QString("text"));
   158         mLockWhenSimChangeItem->setContentWidgetData("readonly", true);
   151 		
   159         mPrevSIMLockData = mLockWhenSimChangeItem->contentWidgetData(QString(
   152 		connect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)),
   160                 "text"));
   153                                      this,SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex)));
   161 
   154 		formModel->appendDataFormItem(mLockWhenSimChangeItem);
   162         connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),
   155 		
   163                 this, SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex)));
   156 		
   164         formModel->appendDataFormItem(mLockWhenSimChangeItem);
   157 		
   165 
   158 		//Remote Lock Setting
   166         //Remote Lock Setting
   159 		TBool enabled = true;
   167         TBool enabled = true;
   160 		TBool val = mRemoteLockSettings->GetEnabled(enabled);
   168         TBool val = mRemoteLockSettings->GetEnabled(enabled);
   161 		Dprint((_L("Remote Lock Setting enabled %d"),val));
   169         Dprint((_L("Remote Lock Setting enabled %d"),val));
   162 		mDeviceRemoteLockItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem,
   170         mDeviceRemoteLockItem = new HbDataFormModelItem(
   163                                                             hbTrId("txt_devicelocking_subhead_remote_locking"));
   171                 HbDataFormModelItem::ToggleValueItem, hbTrId(
   164 
   172                         "txt_devicelocking_subhead_remote_locking"));
   165 		if(val && enabled)
   173 
   166 		    {
   174         if (val && enabled)
   167             mDeviceRemoteLockItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_remote_on"));
   175             {
   168             mDeviceRemoteLockItem->setContentWidgetData("additionalText",hbTrId("txt_devicelocking_button_remote_off"));
   176             mDeviceRemoteLockItem->setContentWidgetData("text", hbTrId(
   169 		    }
   177                     "txt_devicelocking_button_remote_on"));
   170 		else
   178             mDeviceRemoteLockItem->setContentWidgetData("additionalText",
   171 		    {
   179                     hbTrId("txt_devicelocking_button_remote_off"));
   172             mDeviceRemoteLockItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_remote_off"));
   180             }
   173             mDeviceRemoteLockItem->setContentWidgetData("additionalText",hbTrId("txt_devicelocking_button_remote_on"));
   181         else
   174 	        }		    
   182             {
   175 
   183             mDeviceRemoteLockItem->setContentWidgetData("text", hbTrId(
   176 		mPrevRemLockData = mDeviceRemoteLockItem->contentWidgetData(QString("text"));
   184                     "txt_devicelocking_button_remote_off"));
   177 		QString s = mPrevRemLockData.toString();
   185             mDeviceRemoteLockItem->setContentWidgetData("additionalText",
   178         connect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)),this,SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex)));
   186                     hbTrId("txt_devicelocking_button_remote_on"));
   179 		formModel->appendDataFormItem(mDeviceRemoteLockItem);	
   187             }
   180 		
   188 
   181 		//Remote lock message
   189         mPrevRemLockData = mDeviceRemoteLockItem->contentWidgetData(QString(
   182 		mRemoteLockMessageItem = new HbDataFormModelItem(
   190                 "text"));
   183 		        static_cast<HbDataFormModelItem::DataItemType>(CpRemoteLockDataFormViewItem::CpCodeEditItem),
   191         QString s = mPrevRemLockData.toString();
   184 		        hbTrId("txt_devicelocking_formlabel_locking_message"));
   192         connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),
   185 		mRemoteLockMessageItem->setContentWidgetData("echoMode",HbLineEdit::Password);
   193                 this, SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex)));
   186 		mRemoteLockMessageItem->setContentWidgetData("text","1111");
   194         formModel->appendDataFormItem(mDeviceRemoteLockItem);
   187 		mRemoteLockMessageItem->setContentWidgetData("readOnly",true);
   195 
   188 		
   196         //Remote lock message
   189 		if(mPrevRemLockData.toString()== hbTrId("txt_devicelocking_button_remote_on"))
   197         mRemoteLockMessageItem
   190 		    mRemoteLockMessageItem->setEnabled(true);
   198                 = new HbDataFormModelItem(
   191 		else
   199                         static_cast<HbDataFormModelItem::DataItemType> (CpRemoteLockDataFormViewItem::CpCodeEditItem),
   192 		    mRemoteLockMessageItem->setEnabled(false);
   200                         hbTrId("txt_devicelocking_formlabel_locking_message"));
   193 		
   201         mRemoteLockMessageItem->setContentWidgetData("echoMode",
   194 		form->addConnection(mRemoteLockMessageItem,SIGNAL(clicked()),this,SLOT(onLockMessageClicked()));
   202                 HbLineEdit::Password);
   195 		formModel->appendDataFormItem(mRemoteLockMessageItem);
   203         mRemoteLockMessageItem->setContentWidgetData("text", "1111");
   196 		
   204         mRemoteLockMessageItem->setContentWidgetData("readOnly", true);
   197 		form->setModel(formModel);
   205 
   198 		layout->addItem(form);
   206         if (mPrevRemLockData.toString() == hbTrId(
   199 		setLayout(layout);
   207                 "txt_devicelocking_button_remote_on"))
   200 	}
   208             mRemoteLockMessageItem->setEnabled(true);
   201 }
   209         else
       
   210             mRemoteLockMessageItem->setEnabled(false);
       
   211 
       
   212         form->addConnection(mRemoteLockMessageItem, SIGNAL(clicked()), this,
       
   213                 SLOT(onLockMessageClicked()));
       
   214         formModel->appendDataFormItem(mRemoteLockMessageItem);
       
   215 
       
   216         form->setModel(formModel);
       
   217         layout->addItem(form);
       
   218         setLayout(layout);
       
   219         }
       
   220     }
   202 
   221 
   203 
   222 
   204 /*
   223 /*
   205  *****************************************************************
   224  *****************************************************************
   206  * Name        : ~CpDeviceLockPluginView()
   225  * Name        : ~CpDeviceLockPluginView()
   208  * Return value: None
   227  * Return value: None
   209  * Description : destructor
   228  * Description : destructor
   210  *****************************************************************
   229  *****************************************************************
   211  */
   230  */
   212 CpDeviceLockPluginView::~CpDeviceLockPluginView()
   231 CpDeviceLockPluginView::~CpDeviceLockPluginView()
   213 {
   232     {
   214     TSecUi::UnInitializeLib();
   233     TSecUi::UnInitializeLib();
   215 }
   234 }
   216 
   235 
   217 
   236 
   218 /*
   237 /*
   222  * Return value: None
   241  * Return value: None
   223  * Description : Enables user to change the lock code
   242  * Description : Enables user to change the lock code
   224  *****************************************************************
   243  *****************************************************************
   225  */
   244  */
   226 void CpDeviceLockPluginView::onLockCodeClicked()
   245 void CpDeviceLockPluginView::onLockCodeClicked()
   227 {
   246     {
   228     Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Enter"));
   247     Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Enter"));
   229     mUiSecuSettings->ChangeSecCodeL();
   248     mUiSecuSettings->ChangeSecCodeL();
   230     Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Exit"));
   249     Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Exit"));
   231 }
   250 }
   232 
   251 
   248         TInt lockValue = GetValueAtIndex(index);
   267         TInt lockValue = GetValueAtIndex(index);
   249         TInt newAutoLockVal = mUiSecuSettings->ChangeAutoLockPeriodL(
   268         TInt newAutoLockVal = mUiSecuSettings->ChangeAutoLockPeriodL(
   250                 lockValue);
   269                 lockValue);
   251         if (newAutoLockVal == lockValue)
   270         if (newAutoLockVal == lockValue)
   252             {
   271             {
   253         Dprint(_L("onAutoLockChanged().AL setting success !!"));
   272             Dprint(_L("onAutoLockChanged().AL setting success !!"));
   254             TInt err = iALPeriodRep->Set(KSettingsAutoLockTime, lockValue);
   273             TInt err = iALPeriodRep->Set(KSettingsAutoLockTime, lockValue);
   255             mThemeComboPrevIndex = index;
   274             mThemeComboPrevIndex = index;
   256             }
   275             }
   257         else
   276         else
   258             {
   277             {
   292     else
   311     else
   293         {
   312         {
   294         Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..ChangeRemoteLockStatusL failed"));
   313         Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..ChangeRemoteLockStatusL failed"));
   295         }
   314         }
   296     Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..Exit"));
   315     Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..Exit"));
   297     }
   316 }
   298 
   317 
   299 
   318 
   300 /*
   319 /*
   301  *************************************************************************
   320  *************************************************************************
   302  * Name        : onAutoTextChanged()
   321  * Name        : onAutoTextChanged()
   356         TBool remoteLockStatus(EFalse);
   375         TBool remoteLockStatus(EFalse);
   357         CRemoteLockSettings *remoteLockSetting = CRemoteLockSettings::NewL();
   376         CRemoteLockSettings *remoteLockSetting = CRemoteLockSettings::NewL();
   358         TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal);
   377         TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal);
   359         QVariant remLockData = mDeviceRemoteLockItem->contentWidgetData(
   378         QVariant remLockData = mDeviceRemoteLockItem->contentWidgetData(
   360                 QString("text"));
   379                 QString("text"));
   361         if (remLockData.toString() == hbTrId("txt_devicelocking_button_remote_on"))
   380         if (remLockData.toString() == hbTrId(
       
   381                 "txt_devicelocking_button_remote_on"))
   362             {
   382             {
   363             remoteLockStatus = ETrue;
   383             remoteLockStatus = ETrue;
   364             retVal = mUiSecuSettings->ChangeRemoteLockStatusL(
   384             retVal = mUiSecuSettings->ChangeRemoteLockStatusL(
   365                     remoteLockStatus, remoteLockCode, autoLockVal);
   385                     remoteLockStatus, remoteLockCode, autoLockVal);
   366             }
   386             }
   428     Q_UNUSED(aEndIn);
   448     Q_UNUSED(aEndIn);
   429     HbDataFormModelItem *item = formModel->itemFromIndex(aStartIn);
   449     HbDataFormModelItem *item = formModel->itemFromIndex(aStartIn);
   430 
   450 
   431     if ((item->type() == HbDataFormModelItem::ToggleValueItem)
   451     if ((item->type() == HbDataFormModelItem::ToggleValueItem)
   432             && (item->data(HbDataFormModelItem::LabelRole).toString()
   452             && (item->data(HbDataFormModelItem::LabelRole).toString()
   433                     == hbTrId("txt_devicelocking_formlabel_lock_when_sim_changed")))
   453                     == hbTrId(
       
   454                             "txt_devicelocking_formlabel_lock_when_sim_changed")))
   434         {
   455         {
   435         //The following If-Else condition should be removed once orbit team fix the issue with datachanged() signal
   456         //The following If-Else condition should be removed once orbit team fix the issue with datachanged() signal
   436         /****************************************************************************************************************/
   457         /****************************************************************************************************************/
   437         if ((mHack % 2) == 0) //need to capture second datachanged() signal , not first one.
   458         if ((mHack % 2) == 0) //need to capture second datachanged() signal , not first one.
   438             {
   459             {
   450             {
   471             {
   451             /* 
   472             /* 
   452              * disconnect to datachanged() signal as we are not interested in this signal
   473              * disconnect to datachanged() signal as we are not interested in this signal
   453              * generated as a part of setContentWidgetData() API call below
   474              * generated as a part of setContentWidgetData() API call below
   454              */
   475              */
   455             disconnect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex)));
   476             disconnect(formModel,
   456             QVariant txt = mLockWhenSimChangeItem->contentWidgetData(QString("text"));
   477                     SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,
   457             QVariant additionalText =mLockWhenSimChangeItem->contentWidgetData(QString("additionalText"));
   478                     SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex)));
   458 
   479             QVariant txt = mLockWhenSimChangeItem->contentWidgetData(QString(
   459             mLockWhenSimChangeItem->setContentWidgetData(QString("text"),additionalText);
   480                     "text"));
   460             mLockWhenSimChangeItem->setContentWidgetData(QString("additionalText"), txt);
   481             QVariant additionalText =
       
   482                     mLockWhenSimChangeItem->contentWidgetData(QString(
       
   483                             "additionalText"));
       
   484 
       
   485             mLockWhenSimChangeItem->setContentWidgetData(QString("text"),
       
   486                     additionalText);
       
   487             mLockWhenSimChangeItem->setContentWidgetData(QString(
       
   488                     "additionalText"), txt);
   461             /*
   489             /*
   462              * Now connect back to datachanged() signal .
   490              * Now connect back to datachanged() signal .
   463              */
   491              */
   464             connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),this, SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex)));
   492             connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),
   465             }
   493                     this, SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex)));
   466         }
   494             }
   467     }
   495         }
       
   496 }
   468 
   497 
   469 
   498 
   470 /*
   499 /*
   471  *************************************************************************
   500  *************************************************************************
   472  * Name        : GetAutoLockIndex()
   501  * Name        : GetAutoLockIndex()
   475  * Description : returns corresponding index for the given autolock value
   504  * Description : returns corresponding index for the given autolock value
   476  **************************************************************************
   505  **************************************************************************
   477  */
   506  */
   478 TInt CpDeviceLockPluginView::GetAutoLockIndex(TInt aValue)
   507 TInt CpDeviceLockPluginView::GetAutoLockIndex(TInt aValue)
   479     {
   508     {
   480         TInt index = 0;
   509     TInt index = 0;
   481         switch(aValue)
   510     switch (aValue)
   482             {
   511         {
   483             case 0:
   512         case 0:
   484                     index = 0;
   513             index = 0;
   485                     break;
   514             break;
   486             case 65535:
   515         case 65535:
   487                     index = 1;
   516             index = 1;
   488                     break;
   517             break;
   489             case 5:
   518         case 5:
   490                     index = 2;
   519             index = 2;
   491                     break;
   520             break;
   492             case 30:
   521         case 30:
   493                     index = 3;
   522             index = 3;
   494                     break;
   523             break;
   495             case 60:
   524         case 60:
   496                     index = 4;
   525             index = 4;
   497                     break;
   526             break;
   498             default:
   527         default:
   499                     break;
   528             break;
   500             }  
   529         }
   501         
   530 
   502         return index;    
   531     return index;
   503     }
   532     }
   504 
   533 
   505 
   534 
   506 /*
   535 /*
   507  *************************************************************************
   536  *************************************************************************
   512  *               index.
   541  *               index.
   513  **************************************************************************
   542  **************************************************************************
   514  */
   543  */
   515 TInt CpDeviceLockPluginView::GetValueAtIndex(TInt aIndex)
   544 TInt CpDeviceLockPluginView::GetValueAtIndex(TInt aIndex)
   516     {
   545     {
   517         TInt value = 0;
   546     TInt value = 0;
   518         
   547 
   519         switch(aIndex)
   548     switch (aIndex)
   520             {
   549         {
   521             case 0:
   550         case 0:
   522                     value = 0;
   551             value = 0;
   523                     break;
   552             break;
   524             case 1:
   553         case 1:
   525                     value = 65535;
   554             value = 65535;
   526                     break;
   555             break;
   527             case 2:
   556         case 2:
   528                     value = 5;
   557             value = 5;
   529                     break;
   558             break;
   530             case 3:
   559         case 3:
   531                     value = 30;
   560             value = 30;
   532                     break;
   561             break;
   533             case 4:
   562         case 4:
   534                     value = 60;
   563             value = 60;
   535                     break;
   564             break;
   536             default:
   565         default:
   537                     break;
   566             break;
   538             }
   567         }
   539         
   568 
   540         return value;
   569     return value;
   541     }
   570 }
       
   571 
       
   572 
       
   573 /*
       
   574  *************************************************************************
       
   575  * Name        : RollbackRemoteLockSettingState()
       
   576  * Parameters  : None
       
   577  * Return value: None
       
   578  * Description : If Remote Lock Settings fails or user cancels the settings
       
   579  *               then this function resets to previous value.
       
   580  **************************************************************************
       
   581  */
   542 void CpDeviceLockPluginView::RollbackRemoteLockSettingState()
   582 void CpDeviceLockPluginView::RollbackRemoteLockSettingState()
   543     {
   583     {
   544     /* 
   584     /* 
   545      * disconnect to datachanged() signal as we are not interested in this signal
   585      * disconnect to datachanged() signal as we are not interested in this signal
   546      * generated as a part of setContentWidgetData() API call below
   586      * generated as a part of setContentWidgetData() API call below
   547      */
   587      */
   548     disconnect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),this, SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex)));
   588     disconnect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),
       
   589             this, SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex)));
   549 
   590 
   550     QVariant txt = mDeviceRemoteLockItem->contentWidgetData(QString("text"));
   591     QVariant txt = mDeviceRemoteLockItem->contentWidgetData(QString("text"));
   551     QVariant additionaltxt = mDeviceRemoteLockItem->contentWidgetData(QString("additionalText"));
   592     QVariant additionaltxt = mDeviceRemoteLockItem->contentWidgetData(
   552     mDeviceRemoteLockItem->setContentWidgetData(QString("text"),additionaltxt);
   593             QString("additionalText"));
   553     mDeviceRemoteLockItem->setContentWidgetData(QString("additionalText"),txt);
   594     mDeviceRemoteLockItem->setContentWidgetData(QString("text"),
       
   595             additionaltxt);
       
   596     mDeviceRemoteLockItem->setContentWidgetData(QString("additionalText"),
       
   597             txt);
   554     /*
   598     /*
   555      * Now connect back to datachanged() signal .
   599      * Now connect back to datachanged() signal .
   556      */
   600      */
   557     connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex)));
   601     connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,
   558 
   602             SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex)));
   559     if (mPrevRemLockData.toString() == hbTrId("txt_devicelocking_button_remote_on"))
   603 
       
   604     if (mPrevRemLockData.toString() == hbTrId(
       
   605             "txt_devicelocking_button_remote_on"))
   560         mRemoteLockMessageItem->setEnabled(true);
   606         mRemoteLockMessageItem->setEnabled(true);
   561     else
   607     else
   562         mRemoteLockMessageItem->setEnabled(false);
   608         mRemoteLockMessageItem->setEnabled(false);
   563 
   609 
   564     }
   610     }