summaryrefslogtreecommitdiffabout
path: root/kabc/addressbook.cpp
Side-by-side diff
Diffstat (limited to 'kabc/addressbook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addressbook.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/kabc/addressbook.cpp b/kabc/addressbook.cpp
index 9b196b5..5774c36 100644
--- a/kabc/addressbook.cpp
+++ b/kabc/addressbook.cpp
@@ -876,2 +876,9 @@ void AddressBook::removeSyncAddressees( bool removeDeleted )
//qDebug("skipping %s ",(*it).uid().latin1() );
+ if ( removeDeleted ) {
+ // we have no postprocessing in the resource, we have to do it here
+ // we have to compute csum for all, because it could be the first sync
+ (*it).setTempSyncStat( SYNC_TEMPSTATE_NEW_CSUM );
+
+
+ }
++it;
@@ -919,3 +926,3 @@ void AddressBook::preExternSync( AddressBook* aBook, const QString& csd , bool i
}
-void AddressBook::postExternSync( AddressBook* aBook , const QString& csd)
+void AddressBook::postExternSync( AddressBook* aBook , const QString& csd, bool setID)
{
@@ -924,3 +931,3 @@ void AddressBook::postExternSync( AddressBook* aBook , const QString& csd)
for ( it = begin(); it != end(); ++it ) {
- // qDebug("check uid %s ", (*it).uid().latin1() );
+ //qDebug("check uid %s ", (*it).uid().latin1() );
if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_NEW_ID ||
@@ -931,5 +938,9 @@ void AddressBook::postExternSync( AddressBook* aBook , const QString& csd)
} else {
+ (*it).setIDStr(":");
(*it).computeCsum( csd );
- if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_NEW_ID )
- ad.setID( csd, (*it).externalUID() );
+ if ( setID ) {
+ if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_NEW_ID )
+ ad.setID( csd, (*it).externalUID() );
+ } else
+ ad.setID( csd, "_" );
ad.setCsum( csd, (*it).getCsum( csd ) );