-rw-r--r-- | kabc/addressee.cpp | 23 | ||||
-rw-r--r-- | kabc/plugins/sharpdtm/sharpdtmconverter.cpp | 20 |
2 files changed, 29 insertions, 14 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index 3b238f5..82b4b9b 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp @@ -286,4 +286,7 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) { + // merge all standard non-outlook fields. + //if isSubSet (e.g. mobile phone sync) merge all fields detach(); + if ( isSubSet ) { if ( mData->name.isEmpty() ) mData->name = ad.mData->name; @@ -295,3 +298,9 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) if ( mData->suffix.isEmpty() ) mData->suffix = ad.mData->suffix; + if ( mData->title .isEmpty() ) mData->title = ad.mData->title ; + if ( mData->role.isEmpty() ) mData->role = ad.mData->role ; if ( mData->nickName.isEmpty() ) mData->nickName = ad.mData->nickName; + if ( mData->organization.isEmpty() ) mData->organization = ad.mData->organization ; + if ( mData->note.isEmpty() ) mData->note = ad.mData->note ; + if ( !mData->secrecy.isValid() ) mData->secrecy = ad.mData->secrecy; + if ( ( !mData->url.isValid() && ad.mData->url.isValid() ) ) mData->url = ad.mData->url ; if ( !mData->birthday.isValid() ) @@ -299,2 +308,4 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) mData->birthday = ad.mData->birthday; + + } if ( mData->mailer.isEmpty() ) mData->mailer = ad.mData->mailer; @@ -302,10 +313,4 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) if ( !mData->geo.isValid() ) mData->geo = ad.mData->geo; - if ( mData->title .isEmpty() ) mData->title = ad.mData->title ; - if ( mData->role.isEmpty() ) mData->role = ad.mData->role ; - if ( mData->organization.isEmpty() ) mData->organization = ad.mData->organization ; - if ( mData->note.isEmpty() ) mData->note = ad.mData->note ; if ( mData->productId.isEmpty() ) mData->productId = ad.mData->productId; if ( mData->sortString.isEmpty() ) mData->sortString = ad.mData->sortString; - if ( !mData->secrecy.isValid() ) mData->secrecy = ad.mData->secrecy; - if ( ( !mData->url.isValid() && ad.mData->url.isValid() ) ) mData->url = ad.mData->url ; QStringList t; @@ -315,2 +320,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) // ********** phone numbers + if ( isSubSet ) { PhoneNumber::List phoneAD = ad.phoneNumbers(); @@ -332,2 +338,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) } + } if ( isSubSet ) { @@ -342,2 +349,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) // ************* categories; + if ( isSubSet ) { t = mData->categories; @@ -347,2 +355,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) mData->categories.append( tAD[iii] ); + } QStringList::ConstIterator it; @@ -391,2 +400,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) } + if ( isSubSet ) { KABC::Address::List::Iterator addressIterA; @@ -408,2 +418,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false) } + } //qDebug("merge contact %s ", ad.uid().latin1()); diff --git a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp index ae4cfbb..8165b4c 100644 --- a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp +++ b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp @@ -82,3 +82,4 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa //qDebug("SharpDTMConverter::sharpToAddressee check if the fileAs transformation works!!"); - addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); // needs fix + addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); + addr.setName(db->readField(ZdbAdrs::FullName)); @@ -224,7 +225,8 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa //qDebug("SharpDTMConverter::sharpToAddressee: may be int db->readUshortField(\"ZdbAdrs::Gender\") is here better suited"); - - if (gen == "male") + if (gen == "1") addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); - else if (gen == "female") + else if (gen == "2") addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); + else + addr.insertCustom( "KADDRESSBOOK", "X-Gender", "undef"); @@ -236,3 +238,5 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); - } + } else + addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", " "); + @@ -300,3 +304,3 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da database->writeField(ZdbAdrs::FileAs, formattedName); - database->writeField(ZdbAdrs::FullName, formattedName); + database->writeField(ZdbAdrs::FullName, addr.name()); @@ -375,5 +379,5 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da if (gt == "male") - database->writeField(ZdbAdrs::Gender, "male"); + database->writeField(ZdbAdrs::Gender, "1"); else if (gt == "female") - database->writeField(ZdbAdrs::Gender, "female"); + database->writeField(ZdbAdrs::Gender, "2"); else |