summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kabc/addressbook.cpp13
-rw-r--r--kabc/addressbook.h2
-rw-r--r--kabc/addressee.cpp0
-rw-r--r--kaddressbook/kabcore.cpp14
4 files changed, 21 insertions, 8 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)
{
@@ -931,5 +938,9 @@ void AddressBook::postExternSync( AddressBook* aBook , const QString& csd)
} else {
+ (*it).setIDStr(":");
(*it).computeCsum( csd );
+ if ( setID ) {
if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_NEW_ID )
ad.setID( csd, (*it).externalUID() );
+ } else
+ ad.setID( csd, "_" );
ad.setCsum( csd, (*it).getCsum( csd ) );
diff --git a/kabc/addressbook.h b/kabc/addressbook.h
index f124dc9..75f8b51 100644
--- a/kabc/addressbook.h
+++ b/kabc/addressbook.h
@@ -309,3 +309,3 @@ class AddressBook : public QObject
void preExternSync( AddressBook* aBook, const QString& csd, bool isSubset );
- void postExternSync( AddressBook* aBook, const QString& csd );
+ void postExternSync( AddressBook* aBook, const QString& csd , bool setID );
signals:
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp
index a660a9d..d5a110a 100644
--- a/kabc/addressee.cpp
+++ b/kabc/addressee.cpp
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index ea87929..b0cb986 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -2515,3 +2515,3 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo
if ( syncManager->syncWithDesktop() ) {
- remote->removeSyncInfo( QString());//remove all info
+ // remote->removeSyncInfo( QString());//remove all info
if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
@@ -2520,3 +2520,3 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo
} else {
- qDebug("ERROR: KSyncManager::mRequestedSyncEvent has invalid datatime ");
+ qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime ");
}
@@ -2623,2 +2623,3 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo
inR.setIDStr( "changed" );
+ //inR.insertCustom( "KADDRESSBOOK", "X-KDESYNC","changed" );
} else {
@@ -2814,5 +2815,5 @@ bool KABCore::sync(KSyncManager* manager, QString filename, int mode)
qDebug("Error writing back AB to file ");
- if ( isXML ) {
+ if ( external ) {
// afterwrite processing
- abLocal.postExternSync( mAddressBook,mCurrentSyncDevice );
+ abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ,isXML);
}
@@ -2832,2 +2833,3 @@ void KABCore::removeSyncInfo( QString syncProfile)
mAddressBook->removeSyncInfo( syncProfile );
+ setModified();
}
@@ -2854,3 +2856,3 @@ bool KABCore::syncExternal(KSyncManager* manager, QString resource)
abLocal.saveAB();
- abLocal.postExternSync( mAddressBook,mCurrentSyncDevice );
+ abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true );
}
@@ -2893,3 +2895,3 @@ bool KABCore::syncPhone()
//abLocal.preparePhoneSync( mCurrentSyncDevice, false );
- abLocal.postExternSync( mAddressBook,mCurrentSyncDevice );
+ abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true );
}