phonebookui/pbkcommonui/src/cntsettingsmodel.cpp
changeset 46 efe85016a067
parent 37 fd64c38c277d
child 47 7cbcb2896f0e
--- a/phonebookui/pbkcommonui/src/cntsettingsmodel.cpp	Fri Jun 11 13:29:23 2010 +0300
+++ b/phonebookui/pbkcommonui/src/cntsettingsmodel.cpp	Wed Jun 23 18:02:44 2010 +0300
@@ -14,48 +14,64 @@
 * Description:  
 *
 */
-#include "cntsettingsview.h"
-#include <hbdataformmodelitem.h>
-#include <hbglobal.h>
+
+#include "cntsettingsmodel.h"
+#include <cntuids.h>
+#include <qstringlist.h>
+#include <xqsettingskey.h>
+#include "cntdebug.h"
 
-CntDefaultSettingsModel::CntDefaultSettingsModel()
+CntSettingsModel::CntSettingsModel() :
+HbDataFormModel()
 {
+    //create a model class    
+    HbDataFormModelItem* ord = new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem, hbTrId("txt_phob_setlabel_name_display_order"));
+    
     QStringList orderList;
+    // This order should be maintained as per the UI spec
     orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_last_name") );
     orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_last_name_separator") );
     orderList.append( hbTrId("txt_phob_setlabel_name_display_order_val_first_nam") );
-    /*
-    QStringList showList;
-    showList.append(hbTrId("txt_phob_setlabel_show_val_status_update"));
-    showList.append(hbTrId("txt_phob_setlabel_show_val_name_and_phonenumber"));
-    showList.append(hbTrId("txt_phob_setlabel_show_val_name_only"));
-    */
-    mOrder = new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem,  hbTrId("txt_phob_setlabel_name_display_order"));
-    mOrder->setContentWidgetData( "items", orderList );
+    
+    ord->setContentWidgetData( "items", orderList );
+    appendDataFormItem(ord, invisibleRootItem());
+    mNameOrderkey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
+                             KCRUiContacts.iUid,
+                             KCntNameOrdering);
+    int settingValue = mSettings.readItemValue(*mNameOrderkey, XQSettingsManager::TypeInt).toInt();
 
-    /*
-    HbDataFormModelItem* show = new HbDataFormModelItem( HbDataFormModelItem::ComboBoxItem, hbTrId("txt_phob_setlabel_show") );
-    show->setContentWidgetData( "items", showList );
-    */
+    if (settingValue == CntOrderLastFirst) {
+        ord->setContentWidgetData("currentIndex", 0 );
+    } else if (settingValue == CntOrderLastCommaFirst) {
+        ord->setContentWidgetData("currentIndex", 1 );
+    } else if (settingValue == CntOrderFirstLast) {
+        ord->setContentWidgetData("currentIndex", 2 );
+    }
     
-    appendDataFormItem( mOrder, invisibleRootItem() );
-    /* appendDataFormItem( show, invisibleRootItem() );
-     */
+    connect(this, SIGNAL(dataChanged(QModelIndex , QModelIndex)), this, SLOT(handleDataChanged(QModelIndex , QModelIndex)));
 }
 
-CntDefaultSettingsModel::~CntDefaultSettingsModel()
+CntSettingsModel::~CntSettingsModel()
 {
-    
+    delete mNameOrderkey;
 }
 
-void CntDefaultSettingsModel::saveSettings()
+void CntSettingsModel::handleDataChanged(QModelIndex topLeft, QModelIndex bottomRight)
 {
-    QString selected = mOrder->contentWidgetData( "currentText" ).toString();
-    
+    Q_UNUSED(bottomRight)
+    bool written(true);
+            
+    if (topLeft.row() == 0) {
+        int selected = itemFromIndex(topLeft)->contentWidgetData( "currentIndex" ).toInt();
+        if (selected == 0) {
+            written = mSettings.writeItemValue(*mNameOrderkey, QVariant(CntOrderLastFirst));
+        } else if (selected == 1) {
+            written = mSettings.writeItemValue(*mNameOrderkey, QVariant(CntOrderLastCommaFirst));
+        } else if (selected == 2) {
+            written = mSettings.writeItemValue(*mNameOrderkey, QVariant(CntOrderFirstLast));
+        }
+        if (!written) {
+            CNT_LOG_ARGS(QString("failed writting cenrep key"))
+        }
+    }
 }
-
-void CntDefaultSettingsModel::loadSettings()
-{
-    mOrder->setContentWidgetData("currentText", hbTrId("txt_phob_setlabel_name_display_order_val_last_name_separator") );
-}
-// End of File