diff -r b46a585f6909 -r efe85016a067 phonebookui/pbkcommonui/src/cntfamilyeditormodel.cpp --- 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