12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: |
14 * Description: |
15 * |
15 * |
16 */ |
16 */ |
17 #include "cntsettingsview.h" |
|
18 #include <hbdataformmodelitem.h> |
|
19 #include <hbglobal.h> |
|
20 |
17 |
21 CntDefaultSettingsModel::CntDefaultSettingsModel() |
18 #include "cntsettingsmodel.h" |
|
19 #include <cntuids.h> |
|
20 #include <qstringlist.h> |
|
21 #include <xqsettingskey.h> |
|
22 #include "cntdebug.h" |
|
23 |
|
24 CntSettingsModel::CntSettingsModel() : |
|
25 HbDataFormModel() |
22 { |
26 { |
|
27 //create a model class |
|
28 HbDataFormModelItem* ord = new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem, hbTrId("txt_phob_setlabel_name_display_order")); |
|
29 |
23 QStringList orderList; |
30 QStringList orderList; |
|
31 // This order should be maintained as per the UI spec |
24 orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_last_name") ); |
32 orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_last_name") ); |
25 orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_last_name_separator") ); |
33 orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_last_name_separator") ); |
26 orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_first_nam") ); |
34 orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_first_nam") ); |
27 /* |
35 |
28 QStringList showList; |
36 ord->setContentWidgetData( "items", orderList ); |
29 showList.append(hbTrId("txt_phob_setlabel_show_val_status_update")); |
37 appendDataFormItem(ord, invisibleRootItem()); |
30 showList.append(hbTrId("txt_phob_setlabel_show_val_name_and_phonenumber")); |
38 mNameOrderkey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository, |
31 showList.append(hbTrId("txt_phob_setlabel_show_val_name_only")); |
39 KCRUiContacts.iUid, |
32 */ |
40 KCntNameOrdering); |
33 mOrder = new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem, hbTrId("txt_phob_setlabel_name_display_order")); |
41 int settingValue = mSettings.readItemValue(*mNameOrderkey, XQSettingsManager::TypeInt).toInt(); |
34 mOrder->setContentWidgetData( "items", orderList ); |
|
35 |
42 |
36 /* |
43 if (settingValue == CntOrderLastFirst) { |
37 HbDataFormModelItem* show = new HbDataFormModelItem( HbDataFormModelItem::ComboBoxItem, hbTrId("txt_phob_setlabel_show") ); |
44 ord->setContentWidgetData("currentIndex", 0 ); |
38 show->setContentWidgetData( "items", showList ); |
45 } else if (settingValue == CntOrderLastCommaFirst) { |
39 */ |
46 ord->setContentWidgetData("currentIndex", 1 ); |
|
47 } else if (settingValue == CntOrderFirstLast) { |
|
48 ord->setContentWidgetData("currentIndex", 2 ); |
|
49 } |
40 |
50 |
41 appendDataFormItem( mOrder, invisibleRootItem() ); |
51 connect(this, SIGNAL(dataChanged(QModelIndex , QModelIndex)), this, SLOT(handleDataChanged(QModelIndex , QModelIndex))); |
42 /* appendDataFormItem( show, invisibleRootItem() ); |
|
43 */ |
|
44 } |
52 } |
45 |
53 |
46 CntDefaultSettingsModel::~CntDefaultSettingsModel() |
54 CntSettingsModel::~CntSettingsModel() |
47 { |
55 { |
48 |
56 delete mNameOrderkey; |
49 } |
57 } |
50 |
58 |
51 void CntDefaultSettingsModel::saveSettings() |
59 void CntSettingsModel::handleDataChanged(QModelIndex topLeft, QModelIndex bottomRight) |
52 { |
60 { |
53 QString selected = mOrder->contentWidgetData( "currentText" ).toString(); |
61 Q_UNUSED(bottomRight) |
54 |
62 bool written(true); |
|
63 |
|
64 if (topLeft.row() == 0) { |
|
65 int selected = itemFromIndex(topLeft)->contentWidgetData( "currentIndex" ).toInt(); |
|
66 if (selected == 0) { |
|
67 written = mSettings.writeItemValue(*mNameOrderkey, QVariant(CntOrderLastFirst)); |
|
68 } else if (selected == 1) { |
|
69 written = mSettings.writeItemValue(*mNameOrderkey, QVariant(CntOrderLastCommaFirst)); |
|
70 } else if (selected == 2) { |
|
71 written = mSettings.writeItemValue(*mNameOrderkey, QVariant(CntOrderFirstLast)); |
|
72 } |
|
73 if (!written) { |
|
74 CNT_LOG_ARGS(QString("failed writting cenrep key")) |
|
75 } |
|
76 } |
55 } |
77 } |
56 |
|
57 void CntDefaultSettingsModel::loadSettings() |
|
58 { |
|
59 mOrder->setContentWidgetData("currentText", hbTrId("txt_phob_setlabel_name_display_order_val_last_name_separator") ); |
|
60 } |
|
61 // End of File |
|