|
1 /* |
|
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0"" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 #include "cpdevicelockpluginview.h" |
|
19 #include <QStringList> |
|
20 #include <hblineedit.h> |
|
21 #include <hbdataform.h> |
|
22 #include <hbdataformmodel.h> |
|
23 #include <hbdataformmodelitem.h> |
|
24 #include "cpremotelockdataformviewitem.h" |
|
25 #include <hblabel.h> |
|
26 #include <hbpushbutton.h> |
|
27 #include <hbmessagebox> |
|
28 #include <hbdataform.h> |
|
29 #include <QGraphicsLinearLayout> |
|
30 //#include <seccodeeditdataformviewitem.h> |
|
31 #include <secuisecuritysettings.h> |
|
32 #include <secuisecurityhandler.h> |
|
33 #include <etelmm.h> |
|
34 #include <rmmcustomapi.h> |
|
35 #include <hbinputdialog.h> |
|
36 #include <secui.h> |
|
37 #include <RemoteLockSettings.h> |
|
38 #include <e32cmn.h> |
|
39 #include <centralrepository.h> |
|
40 #include <settingsinternalcrkeys.h> |
|
41 #include <hbcombobox.h> |
|
42 #include<hbaction.h> |
|
43 #include <RemoteLockSettings.h> |
|
44 #include "debug.h" |
|
45 #include <qapplication.h> |
|
46 #include <qtranslator.h> |
|
47 |
|
48 |
|
49 |
|
50 /* |
|
51 ***************************************************************** |
|
52 * Name : CpDeviceLockPluginView() |
|
53 * Parameters : QGraphicsItem* |
|
54 * Return value: None |
|
55 * Description : constructor |
|
56 ***************************************************************** |
|
57 */ |
|
58 CpDeviceLockPluginView::CpDeviceLockPluginView(QGraphicsItem *parent /*= 0*/) |
|
59 : CpBaseSettingView(0,parent) |
|
60 { |
|
61 QTranslator *translator = new QTranslator(); |
|
62 QString lang = QLocale::system().name(); |
|
63 QString path = "Z:/resource/qt/translations/"; |
|
64 bool fine = translator->load("devicelocking_en.qm", path); |
|
65 if (fine) |
|
66 qApp->installTranslator(translator); |
|
67 |
|
68 QTranslator *commontranslator = new QTranslator(); |
|
69 |
|
70 fine = commontranslator->load("common_" + lang, path); |
|
71 if (fine) |
|
72 qApp->installTranslator(commontranslator); |
|
73 |
|
74 |
|
75 |
|
76 TSecUi::InitializeLibL(); |
|
77 mUiSecuSettings = CSecuritySettings::NewL(); |
|
78 mRemoteLockSettings = CRemoteLockSettings::NewL(); |
|
79 iALPeriodRep = CRepository::NewL( KCRUidSecuritySettings ); |
|
80 |
|
81 |
|
82 mRemoteLockSettingClicked = false; |
|
83 mHack = 0; |
|
84 if (HbDataForm *form = settingForm()) |
|
85 { |
|
86 QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical); |
|
87 QList<HbAbstractViewItem *> protoTypeList = form->itemPrototypes(); |
|
88 protoTypeList.append(new CpRemoteLockDataFormViewItem()); |
|
89 form->setItemPrototypes(protoTypeList); |
|
90 form->setHeading(hbTrId("txt_cp_dblist_device_lock")); |
|
91 |
|
92 //DataFormModel |
|
93 formModel = new HbDataFormModel(); |
|
94 |
|
95 |
|
96 //lockcode |
|
97 HbDataFormModelItem *lockCodeItem = new HbDataFormModelItem( |
|
98 static_cast<HbDataFormModelItem::DataItemType>(CpRemoteLockDataFormViewItem::CpCodeEditItem), |
|
99 hbTrId("txt_devicelocking_dialog_lock_code")); |
|
100 lockCodeItem->setContentWidgetData("echomode",HbLineEdit::Password); |
|
101 lockCodeItem->setContentWidgetData("text","1234"); |
|
102 lockCodeItem->setContentWidgetData("readonly",true); |
|
103 form->addConnection(lockCodeItem,SIGNAL(clicked()),this,SLOT(onLockCodeClicked())); |
|
104 formModel->appendDataFormItem(lockCodeItem); |
|
105 |
|
106 |
|
107 //Autolock period |
|
108 mAutolockPeriodItem= new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem, |
|
109 hbTrId("txt_devicelocking_formlabel_automatic_locking")); |
|
110 TInt autoLockVal; |
|
111 TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal); |
|
112 TInt index = GetAutoLockIndex(autoLockVal); |
|
113 Dprint((_L("Current AL period value %d"),autoLockVal)); |
|
114 //TODO: need to set autoLockVal in editor |
|
115 QStringList autolockPeriodList; |
|
116 autolockPeriodList<< hbTrId("txt_devicelocking_button_off") |
|
117 << hbTrId("txt_devicelocking_setlabel_val_when_keys_screen") |
|
118 << hbTrId("txt_devicelocking_setlabel_val_5_minutes") |
|
119 << hbTrId("txt_devicelocking_setlabel_val_30_minutes") |
|
120 << hbTrId("txt_devicelocking_setlabel_val_60_minutes"); |
|
121 mAutolockPeriodItem->setContentWidgetData(QString("items"),autolockPeriodList); |
|
122 mAutolockPeriodItem->setContentWidgetData(QString("currentIndex"),index); |
|
123 mAutolockPeriodItem->setContentWidgetData(QString("editable"),true); |
|
124 QVariant themeComboData = mAutolockPeriodItem->contentWidgetData(QString("currentIndex")); |
|
125 mThemeComboPrevIndex = themeComboData.toInt(); |
|
126 |
|
127 form->addConnection(mAutolockPeriodItem,SIGNAL(currentIndexChanged(int)),this,SLOT(onAutoLockChanged(int))); |
|
128 //form->addConnection(mAutolockPeriodItem,SIGNAL(editTextChanged(const QString&)), this, SLOT(onAutoTextChanged(const QString&))); |
|
129 formModel->appendDataFormItem(mAutolockPeriodItem); |
|
130 |
|
131 |
|
132 //LockWhenSimChange |
|
133 mLockWhenSimChangeItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem, |
|
134 hbTrId("txt_devicelocking_formlabel_lock_when_sim_changed")); |
|
135 TBool lockVal = mUiSecuSettings->IsLockEnabledL(RMobilePhone::ELockPhoneToICC); |
|
136 Dprint((_L("LockWhenSimChange enabled %d"),lockVal)); |
|
137 if(lockVal) |
|
138 { |
|
139 mLockWhenSimChangeItem->setContentWidgetData("text",hbTrId("txt_remotelocking_button_sim_changed_on")); |
|
140 mLockWhenSimChangeItem->setContentWidgetData("additionalText", |
|
141 hbTrId("txt_devicelocking_button_sim_changed_off")); |
|
142 } |
|
143 else |
|
144 { |
|
145 mLockWhenSimChangeItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_sim_changed_off")); |
|
146 mLockWhenSimChangeItem->setContentWidgetData("additionalText", |
|
147 hbTrId("txt_remotelocking_button_sim_changed_on")); |
|
148 } |
|
149 mLockWhenSimChangeItem->setContentWidgetData("readonly",true); |
|
150 mPrevSIMLockData = mLockWhenSimChangeItem->contentWidgetData(QString("text")); |
|
151 |
|
152 connect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)), |
|
153 this,SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); |
|
154 formModel->appendDataFormItem(mLockWhenSimChangeItem); |
|
155 |
|
156 |
|
157 |
|
158 //Remote Lock Setting |
|
159 TBool enabled = true; |
|
160 TBool val = mRemoteLockSettings->GetEnabled(enabled); |
|
161 Dprint((_L("Remote Lock Setting enabled %d"),val)); |
|
162 mDeviceRemoteLockItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem, |
|
163 hbTrId("txt_devicelocking_subhead_remote_locking")); |
|
164 |
|
165 if(val && enabled) |
|
166 { |
|
167 mDeviceRemoteLockItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_remote_on")); |
|
168 mDeviceRemoteLockItem->setContentWidgetData("additionalText",hbTrId("txt_devicelocking_button_remote_off")); |
|
169 } |
|
170 else |
|
171 { |
|
172 mDeviceRemoteLockItem->setContentWidgetData("text",hbTrId("txt_devicelocking_button_remote_off")); |
|
173 mDeviceRemoteLockItem->setContentWidgetData("additionalText",hbTrId("txt_devicelocking_button_remote_on")); |
|
174 } |
|
175 |
|
176 mPrevRemLockData = mDeviceRemoteLockItem->contentWidgetData(QString("text")); |
|
177 QString s = mPrevRemLockData.toString(); |
|
178 connect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)),this,SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); |
|
179 formModel->appendDataFormItem(mDeviceRemoteLockItem); |
|
180 |
|
181 //Remote lock message |
|
182 mRemoteLockMessageItem = new HbDataFormModelItem( |
|
183 static_cast<HbDataFormModelItem::DataItemType>(CpRemoteLockDataFormViewItem::CpCodeEditItem), |
|
184 hbTrId("txt_devicelocking_formlabel_locking_message")); |
|
185 mRemoteLockMessageItem->setContentWidgetData("echoMode",HbLineEdit::Password); |
|
186 mRemoteLockMessageItem->setContentWidgetData("text","1111"); |
|
187 mRemoteLockMessageItem->setContentWidgetData("readOnly",true); |
|
188 |
|
189 if(mPrevRemLockData.toString()== hbTrId("txt_devicelocking_button_remote_on")) |
|
190 mRemoteLockMessageItem->setEnabled(true); |
|
191 else |
|
192 mRemoteLockMessageItem->setEnabled(false); |
|
193 |
|
194 form->addConnection(mRemoteLockMessageItem,SIGNAL(clicked()),this,SLOT(onLockMessageClicked())); |
|
195 formModel->appendDataFormItem(mRemoteLockMessageItem); |
|
196 |
|
197 form->setModel(formModel); |
|
198 layout->addItem(form); |
|
199 setLayout(layout); |
|
200 } |
|
201 } |
|
202 |
|
203 |
|
204 /* |
|
205 ***************************************************************** |
|
206 * Name : ~CpDeviceLockPluginView() |
|
207 * Parameters : None |
|
208 * Return value: None |
|
209 * Description : destructor |
|
210 ***************************************************************** |
|
211 */ |
|
212 CpDeviceLockPluginView::~CpDeviceLockPluginView() |
|
213 { |
|
214 TSecUi::UnInitializeLib(); |
|
215 } |
|
216 |
|
217 |
|
218 /* |
|
219 ***************************************************************** |
|
220 * Name : onLockCodeClicked() |
|
221 * Parameters : None |
|
222 * Return value: None |
|
223 * Description : Enables user to change the lock code |
|
224 ***************************************************************** |
|
225 */ |
|
226 void CpDeviceLockPluginView::onLockCodeClicked() |
|
227 { |
|
228 Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Enter")); |
|
229 mUiSecuSettings->ChangeSecCodeL(); |
|
230 Dprint(_L("CpDeviceLockPluginView::onLockCodeClicked()..Exit")); |
|
231 } |
|
232 |
|
233 |
|
234 /* |
|
235 ************************************************************************ |
|
236 * Name : onAutoLockChanged() |
|
237 * Parameters : int |
|
238 * Return value: None |
|
239 * Description : handles the data when automatic lock timings are changed |
|
240 ************************************************************************ |
|
241 */ |
|
242 void CpDeviceLockPluginView::onAutoLockChanged(int index) |
|
243 { |
|
244 Dprint(_L("CpDeviceLockPluginView::onAutoLockChanged()..Enter")); |
|
245 if (index != mThemeComboPrevIndex) |
|
246 { |
|
247 //TODO: need to set user entered/selected value |
|
248 TInt lockValue = GetValueAtIndex(index); |
|
249 TInt newAutoLockVal = mUiSecuSettings->ChangeAutoLockPeriodL( |
|
250 lockValue); |
|
251 if (newAutoLockVal == lockValue) |
|
252 { |
|
253 Dprint(_L("onAutoLockChanged().AL setting success !!")); |
|
254 TInt err = iALPeriodRep->Set(KSettingsAutoLockTime, lockValue); |
|
255 mThemeComboPrevIndex = index; |
|
256 } |
|
257 else |
|
258 { |
|
259 Dprint(_L("onAutoLockChanged()..Setting to previous value")); |
|
260 QVariant data(mThemeComboPrevIndex); |
|
261 mAutolockPeriodItem->setContentWidgetData( |
|
262 QString("currentIndex"), data); |
|
263 } |
|
264 |
|
265 } |
|
266 Dprint(_L("CpDeviceLockPluginView::onAutoLockChanged()..Exit")); |
|
267 } |
|
268 |
|
269 |
|
270 /* |
|
271 ************************************************************************* |
|
272 * Name : onLockMessageClicked() |
|
273 * Parameters : None |
|
274 * Return value: None |
|
275 * Description : verifies security code and enables user to change the lock |
|
276 * message |
|
277 ************************************************************************** |
|
278 */ |
|
279 void CpDeviceLockPluginView::onLockMessageClicked() |
|
280 { |
|
281 Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..Exit")); |
|
282 TBuf<KRLockMaxLockCodeLength> remoteLockCode; |
|
283 TBool remoteLockStatus(EFalse); |
|
284 TInt retVal = KErrNone; |
|
285 TInt autoLockVal = -1; |
|
286 retVal = mUiSecuSettings->ChangeRemoteLockStatusL(remoteLockStatus, |
|
287 remoteLockCode, autoLockVal); |
|
288 if (retVal) |
|
289 { |
|
290 Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..ChangeRemoteLockStatusL sucess")); |
|
291 } |
|
292 else |
|
293 { |
|
294 Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..ChangeRemoteLockStatusL failed")); |
|
295 } |
|
296 Dprint(_L("CpDeviceLockPluginView::onLockMessageClicked()..Exit")); |
|
297 } |
|
298 |
|
299 |
|
300 /* |
|
301 ************************************************************************* |
|
302 * Name : onAutoTextChanged() |
|
303 * Parameters : QString& |
|
304 * Return value: None |
|
305 * Description : |
|
306 ************************************************************************** |
|
307 */ |
|
308 /* |
|
309 *This slot can be enabled once fix from obit team for this siganl is available |
|
310 */ |
|
311 |
|
312 #if 0 |
|
313 void CpDeviceLockPluginView::onAutoTextChanged(const QString& aText) |
|
314 { |
|
315 Dprint(_L("CpDeviceLockPluginView::onAutoTextChanged()..Enter")); |
|
316 //TBool ret = DisplaySecurityDialog(); |
|
317 Dprint(_L("CpDeviceLockPluginView::onAutoTextChanged()..Exit")); |
|
318 |
|
319 } |
|
320 #endif |
|
321 |
|
322 /* |
|
323 ************************************************************************* |
|
324 * Name : onRemoteLockDataChanged() |
|
325 * Parameters : QModelIndex |
|
326 * Return value: None |
|
327 * Description : handles the data when remote lock settings is changed |
|
328 ************************************************************************** |
|
329 */ |
|
330 void CpDeviceLockPluginView::onRemoteLockDataChanged(QModelIndex aStartIn,QModelIndex aEndIn) |
|
331 { |
|
332 Q_UNUSED(aEndIn); |
|
333 Dprint(_L("CpDeviceLockPluginView::onRemoteLockDataChanged..Enter")); |
|
334 HbDataFormModelItem *item = formModel->itemFromIndex(aStartIn); |
|
335 |
|
336 if ((item->type() == HbDataFormModelItem::ToggleValueItem) |
|
337 && (item->data(HbDataFormModelItem::LabelRole).toString() |
|
338 == hbTrId("txt_devicelocking_subhead_remote_locking"))) |
|
339 { |
|
340 |
|
341 //The following If-Else condition should be removed once orbit team fix the issue with datachanged() signal |
|
342 /****************************************************************************************************************/ |
|
343 if ((mHack % 2) == 0) //need to capture second datachanged() signal , not first one. |
|
344 { |
|
345 mHack++; |
|
346 return; |
|
347 } |
|
348 else |
|
349 { |
|
350 mHack++; |
|
351 } |
|
352 /****************************************************************************************************************/ |
|
353 TInt autoLockVal; |
|
354 TInt retVal = KErrNone; |
|
355 TBuf<KRLockMaxLockCodeLength> remoteLockCode; |
|
356 TBool remoteLockStatus(EFalse); |
|
357 CRemoteLockSettings *remoteLockSetting = CRemoteLockSettings::NewL(); |
|
358 TInt err = iALPeriodRep->Get(KSettingsAutoLockTime, autoLockVal); |
|
359 QVariant remLockData = mDeviceRemoteLockItem->contentWidgetData( |
|
360 QString("text")); |
|
361 if (remLockData.toString() == hbTrId("txt_devicelocking_button_remote_on")) |
|
362 { |
|
363 remoteLockStatus = ETrue; |
|
364 retVal = mUiSecuSettings->ChangeRemoteLockStatusL( |
|
365 remoteLockStatus, remoteLockCode, autoLockVal); |
|
366 } |
|
367 else |
|
368 { |
|
369 remoteLockStatus = EFalse; |
|
370 retVal = mUiSecuSettings->ChangeRemoteLockStatusL( |
|
371 remoteLockStatus, remoteLockCode, autoLockVal); |
|
372 } |
|
373 if (retVal == KErrNone) |
|
374 { |
|
375 if (remoteLockStatus) |
|
376 { |
|
377 if (remoteLockSetting->SetEnabledL(remoteLockCode)) |
|
378 { |
|
379 Dprint(_L("CpDeviceLockPluginView::onRemoteLockDataChanged..remoteLockSetting->SetEnabledL success")); |
|
380 mPrevRemLockData |
|
381 = mDeviceRemoteLockItem->contentWidgetData( |
|
382 QString("text")); |
|
383 } |
|
384 else |
|
385 { |
|
386 RollbackRemoteLockSettingState(); |
|
387 Dprint(_L("CpDeviceLockPluginView::onRemoteLockDataChanged..remoteLockSetting->SetEnabledL failed")); |
|
388 } |
|
389 } |
|
390 else |
|
391 { |
|
392 if (mRemoteLockSettings->SetDisabled()) |
|
393 { |
|
394 Dprint(_L("CpDeviceLockPluginView::onRemoteLockDataChanged..remoteLockSetting->SetDisabled success")); |
|
395 mPrevRemLockData |
|
396 = mDeviceRemoteLockItem->contentWidgetData( |
|
397 QString("text")); |
|
398 } |
|
399 else |
|
400 { |
|
401 RollbackRemoteLockSettingState(); |
|
402 Dprint(_L("CpDeviceLockPluginView::onRemoteLockDataChanged..remoteLockSetting->SetDisabled failed")); |
|
403 } |
|
404 } |
|
405 } |
|
406 else |
|
407 { |
|
408 Dprint(_L("CpDeviceLockPluginView::onRemoteLockDataChanged..RollbackRemoteLockSettingState")); |
|
409 RollbackRemoteLockSettingState(); |
|
410 } |
|
411 delete remoteLockSetting; |
|
412 } |
|
413 Dprint(_L("CpDeviceLockPluginView::onRemoteLockDataChanged..Exit")); |
|
414 } |
|
415 |
|
416 |
|
417 /* |
|
418 ************************************************************************* |
|
419 * Name : onSIMLockDataChanged() |
|
420 * Parameters : QModelIndex |
|
421 * Return value: None |
|
422 * Description : handles the data afer Lock when SIM changed settings is |
|
423 * changed |
|
424 ************************************************************************** |
|
425 */ |
|
426 void CpDeviceLockPluginView::onSIMLockDataChanged(QModelIndex aStartIn, QModelIndex aEndIn) |
|
427 { |
|
428 Q_UNUSED(aEndIn); |
|
429 HbDataFormModelItem *item = formModel->itemFromIndex(aStartIn); |
|
430 |
|
431 if ((item->type() == HbDataFormModelItem::ToggleValueItem) |
|
432 && (item->data(HbDataFormModelItem::LabelRole).toString() |
|
433 == hbTrId("txt_devicelocking_formlabel_lock_when_sim_changed"))) |
|
434 { |
|
435 //The following If-Else condition should be removed once orbit team fix the issue with datachanged() signal |
|
436 /****************************************************************************************************************/ |
|
437 if ((mHack % 2) == 0) //need to capture second datachanged() signal , not first one. |
|
438 { |
|
439 mHack++; |
|
440 return; |
|
441 } |
|
442 else |
|
443 { |
|
444 mHack++; |
|
445 } |
|
446 /****************************************************************************************************************/ |
|
447 |
|
448 TBool ret = mUiSecuSettings->ChangeSimSecurityL(); |
|
449 if (!ret) |
|
450 { |
|
451 /* |
|
452 * disconnect to datachanged() signal as we are not interested in this signal |
|
453 * generated as a part of setContentWidgetData() API call below |
|
454 */ |
|
455 disconnect(formModel,SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); |
|
456 QVariant txt = mLockWhenSimChangeItem->contentWidgetData(QString("text")); |
|
457 QVariant additionalText =mLockWhenSimChangeItem->contentWidgetData(QString("additionalText")); |
|
458 |
|
459 mLockWhenSimChangeItem->setContentWidgetData(QString("text"),additionalText); |
|
460 mLockWhenSimChangeItem->setContentWidgetData(QString("additionalText"), txt); |
|
461 /* |
|
462 * Now connect back to datachanged() signal . |
|
463 */ |
|
464 connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),this, SLOT(onSIMLockDataChanged(QModelIndex,QModelIndex))); |
|
465 } |
|
466 } |
|
467 } |
|
468 |
|
469 |
|
470 /* |
|
471 ************************************************************************* |
|
472 * Name : GetAutoLockIndex() |
|
473 * Parameters : TInt |
|
474 * Return value: TInt |
|
475 * Description : returns corresponding index for the given autolock value |
|
476 ************************************************************************** |
|
477 */ |
|
478 TInt CpDeviceLockPluginView::GetAutoLockIndex(TInt aValue) |
|
479 { |
|
480 TInt index = 0; |
|
481 switch(aValue) |
|
482 { |
|
483 case 0: |
|
484 index = 0; |
|
485 break; |
|
486 case 65535: |
|
487 index = 1; |
|
488 break; |
|
489 case 5: |
|
490 index = 2; |
|
491 break; |
|
492 case 30: |
|
493 index = 3; |
|
494 break; |
|
495 case 60: |
|
496 index = 4; |
|
497 break; |
|
498 default: |
|
499 break; |
|
500 } |
|
501 |
|
502 return index; |
|
503 } |
|
504 |
|
505 |
|
506 /* |
|
507 ************************************************************************* |
|
508 * Name : GetValueAtIndex() |
|
509 * Parameters : TInt |
|
510 * Return value: TInt |
|
511 * Description : returns the corresponding autolock value for the given |
|
512 * index. |
|
513 ************************************************************************** |
|
514 */ |
|
515 TInt CpDeviceLockPluginView::GetValueAtIndex(TInt aIndex) |
|
516 { |
|
517 TInt value = 0; |
|
518 |
|
519 switch(aIndex) |
|
520 { |
|
521 case 0: |
|
522 value = 0; |
|
523 break; |
|
524 case 1: |
|
525 value = 65535; |
|
526 break; |
|
527 case 2: |
|
528 value = 5; |
|
529 break; |
|
530 case 3: |
|
531 value = 30; |
|
532 break; |
|
533 case 4: |
|
534 value = 60; |
|
535 break; |
|
536 default: |
|
537 break; |
|
538 } |
|
539 |
|
540 return value; |
|
541 } |
|
542 void CpDeviceLockPluginView::RollbackRemoteLockSettingState() |
|
543 { |
|
544 /* |
|
545 * disconnect to datachanged() signal as we are not interested in this signal |
|
546 * generated as a part of setContentWidgetData() API call below |
|
547 */ |
|
548 disconnect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),this, SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); |
|
549 |
|
550 QVariant txt = mDeviceRemoteLockItem->contentWidgetData(QString("text")); |
|
551 QVariant additionaltxt = mDeviceRemoteLockItem->contentWidgetData(QString("additionalText")); |
|
552 mDeviceRemoteLockItem->setContentWidgetData(QString("text"),additionaltxt); |
|
553 mDeviceRemoteLockItem->setContentWidgetData(QString("additionalText"),txt); |
|
554 /* |
|
555 * Now connect back to datachanged() signal . |
|
556 */ |
|
557 connect(formModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this,SLOT(onRemoteLockDataChanged(QModelIndex,QModelIndex))); |
|
558 |
|
559 if (mPrevRemLockData.toString() == hbTrId("txt_devicelocking_button_remote_on")) |
|
560 mRemoteLockMessageItem->setEnabled(true); |
|
561 else |
|
562 mRemoteLockMessageItem->setEnabled(false); |
|
563 |
|
564 } |