From 5a78d90ce7a9824e52e70f40f41aa6e17f0d3d0d Mon Sep 17 00:00:00 2001 From: zautrix Date: Sun, 19 Sep 2004 11:44:45 +0000 Subject: more AB sync --- (limited to 'kabc/addressee.cpp') diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index 711c261..0157721 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp @@ -273,20 +273,24 @@ void Addressee::computeCsum(const QString &dev) setCsum( dev, QString::number (cs )); } -void Addressee::mergeContact( Addressee ad ) +void Addressee::mergeContact( const Addressee& ad ) { + + detach(); + if ( mData->name.isEmpty() ) mData->name = ad.mData->name; + if ( mData->formattedName.isEmpty() ) mData->formattedName = ad.mData->formattedName; + if ( mData->familyName.isEmpty() ) mData->familyName = ad.mData->familyName; + if ( mData->givenName.isEmpty() ) mData->givenName = ad.mData->givenName ; + if ( mData->additionalName ) mData->additionalName = ad.mData->additionalName; + if ( mData->prefix.isEmpty() ) mData->prefix = ad.mData->prefix; + if ( mData->suffix.isEmpty() ) mData->suffix = ad.mData->suffix; + if ( mData->nickName.isEmpty() ) mData->nickName = ad.mData->nickName; + if ( !mData->birthday.isValid() ) + if ( ad.mData->birthday.isValid()) + mData->birthday = ad.mData->birthday; + if ( mData->mailer.isEmpty() ) mData->mailer = ad.mData->mailer; #if 0 - if ( !mData->name.isEmpty() ) l.append(mData->name); - if ( !mData->formattedName.isEmpty() ) l.append(mData->formattedName ); - if ( !mData->familyName.isEmpty() ) l.append( mData->familyName ); - if ( !mData->givenName.isEmpty() ) l.append(mData->givenName ); - if ( !mData->additionalName ) l.append( mData->additionalName ); - if ( !mData->prefix.isEmpty() ) l.append( mData->prefix ); - if ( !mData->suffix.isEmpty() ) l.append( mData->suffix ); - if ( !mData->nickName.isEmpty() ) l.append( mData->nickName ); - if ( mData->birthday.isValid() ) l.append( mData->birthday.toString() ); - if ( !mData->mailer.isEmpty() ) l.append( mData->mailer ); - if ( mData->timeZone.isValid() ) l.append( mData->timeZone.asString() ); + if ( !mData->timeZone.isValid() ) l.append( mData->timeZone.asString() ); if ( mData->geo.isValid() ) l.append( mData->geo.asString() ); if ( !mData->title .isEmpty() ) l.append( mData->title ); if ( !mData->role.isEmpty() ) l.append( mData->role ); -- cgit v0.9.0.2