phonebookui/pbkcommonui/src/cntfamilyeditormodel.cpp
changeset 46 efe85016a067
parent 40 b46a585f6909
--- a/phonebookui/pbkcommonui/src/cntfamilyeditormodel.cpp	Fri Jun 11 13:29:23 2010 +0300
+++ b/phonebookui/pbkcommonui/src/cntfamilyeditormodel.cpp	Wed Jun 23 18:02:44 2010 +0300
@@ -29,8 +29,7 @@
     }
 
     mFamily = familyList.first();
-    QStringList children = mFamily.children();
-
+    
     HbDataFormModelItem* spouseItem = new HbDataFormModelItem(HbDataFormModelItem::TextItem,
         hbTrId("txt_phob_formlabel_spouse"));
     spouseItem->setContentWidgetData("text", mFamily.spouse());
@@ -38,7 +37,7 @@
 
     HbDataFormModelItem* childrenItem = new HbDataFormModelItem(HbDataFormModelItem::TextItem,
         hbTrId("txt_phob_formlabel_children"));
-    childrenItem->setContentWidgetData("text", children.join(", "));
+    childrenItem->setContentWidgetData("text", mFamily.children().join(", "));
     childrenItem->setContentWidgetData("maxLength", CNT_CHILDREN_MAXLENGTH);
 
     HbDataFormModelItem* root = invisibleRootItem();
@@ -53,14 +52,23 @@
 void CntFamilyEditorModel::saveContactDetails()
 {
     HbDataFormModelItem* root = invisibleRootItem();
-    mFamily.setSpouse( root->childAt(0)->contentWidgetData("text").toString() );
-
+    QString spouse = root->childAt(0)->contentWidgetData("text").toString();
     QString children = root->childAt(1)->contentWidgetData("text").toString();
-    mFamily.setChildren( children.split(", ", QString::SkipEmptyParts) );
     
-    if ( !mFamily.isEmpty() ) {
+    if ( spouse != mFamily.spouse() || children != mFamily.children().join(", "))
+    {
+        mFamily.setSpouse( spouse );
+        QString children = root->childAt(1)->contentWidgetData("text").toString();
+        mFamily.setChildren( children.split(", ", QString::SkipEmptyParts) );
+        
         mContact->saveDetail( &mFamily );
     }
+    
+    if ( mFamily.spouse().isEmpty() && mFamily.children().isEmpty() )
+    {
+        mContact->removeDetail( &mFamily );
+    }
+    
 }
 
 QContactDetail CntFamilyEditorModel::detail() const