summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2004-09-19 20:27:44 (UTC)
committer zautrix <zautrix>2004-09-19 20:27:44 (UTC)
commit3da2cfeab2edbe64a17251662e56668fe143f7a3 (patch) (unidiff)
tree37e8d4445fca84bd4e93af38c96c5c489f9cbca8 /kaddressbook
parentafa28a62314117555d6b32291188eedd1a576284 (diff)
downloadkdepimpi-3da2cfeab2edbe64a17251662e56668fe143f7a3.zip
kdepimpi-3da2cfeab2edbe64a17251662e56668fe143f7a3.tar.gz
kdepimpi-3da2cfeab2edbe64a17251662e56668fe143f7a3.tar.bz2
more AB sync
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp25
1 files changed, 2 insertions, 23 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index b3d88de..8f3ca9b 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -2923,23 +2923,17 @@ bool KABCore::syncAB(QString filename, int mode)
2923 AddressBook abLocal(filename,"syncContact"); 2923 AddressBook abLocal(filename,"syncContact");
2924 bool syncOK = false; 2924 bool syncOK = false;
2925 if ( abLocal.load() ) { 2925 if ( abLocal.load() ) {
2926 qDebug("AB loaded %s,sync mode %d",filename.latin1(), mode ); 2926 qDebug("AB loaded %s,sync mode %d",filename.latin1(), mode );
2927 bool external = false; 2927 bool external = false;
2928 2928
2929 if ( filename.right(4) == ".xml") { 2929 if ( filename.right(4) == ".xml") {
2930 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 2930 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
2931 AddressBook::Iterator it; 2931 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice );
2932 for ( it = abLocal.begin(); it != abLocal.end(); ++it ) {
2933 (*it).setID( mCurrentSyncDevice, (*it).externalUID() );
2934 (*it).computeCsum( mCurrentSyncDevice );
2935 }
2936 abLocal.mergeAB( mAddressBook ,mCurrentSyncDevice );
2937
2938 } else { 2932 } else {
2939 Addressee lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice ); 2933 Addressee lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice );
2940 if ( ! lse.isEmpty() ) { 2934 if ( ! lse.isEmpty() ) {
2941 if ( lse.familyName().left(4) == "!E: " ) 2935 if ( lse.familyName().left(4) == "!E: " )
2942 external = true; 2936 external = true;
2943 } else { 2937 } else {
2944 bool found = false; 2938 bool found = false;
2945 QDateTime dt( QDate( 2004,1,1)); 2939 QDateTime dt( QDate( 2004,1,1));
@@ -2973,32 +2967,17 @@ bool KABCore::syncAB(QString filename, int mode)
2973 if ( KABPrefs::instance()->mWriteBackFile ) 2967 if ( KABPrefs::instance()->mWriteBackFile )
2974 { 2968 {
2975 if ( external && filename.right(4) != ".xml") 2969 if ( external && filename.right(4) != ".xml")
2976 abLocal.removeDeletedAddressees(); 2970 abLocal.removeDeletedAddressees();
2977 qDebug("Saving remote AB "); 2971 qDebug("Saving remote AB ");
2978 abLocal.saveAB(); 2972 abLocal.saveAB();
2979 if ( external && filename.right(4) == ".xml") { 2973 if ( external && filename.right(4) == ".xml") {
2980 // afterwrite processing 2974 // afterwrite processing
2981 AddressBook::Iterator it; 2975 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice );
2982 for ( it = abLocal.begin(); it != abLocal.end(); ++it ) {
2983 if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_NEW_ID ||
2984 (*it).tempSyncStat() == SYNC_TEMPSTATE_NEW_CSUM ) {
2985 Addressee ad = mAddressBook->findByUid( ( (*it).uid() ));
2986 if ( ad.isEmpty() ) {
2987 qDebug("ERROR ad empty ");
2988 } else {
2989 (*it).computeCsum( mCurrentSyncDevice );
2990 if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_NEW_ID )
2991 ad.setID( mCurrentSyncDevice, (*it).externalUID() );
2992 ad.setCsum( mCurrentSyncDevice, (*it).getCsum( mCurrentSyncDevice ) );
2993 mAddressBook->insertAddressee( ad );
2994 }
2995 }
2996 }
2997 } 2976 }
2998 } 2977 }
2999 } 2978 }
3000 setModified(); 2979 setModified();
3001 2980
3002 } 2981 }
3003 if ( syncOK ) 2982 if ( syncOK )
3004 mViewManager->refreshView(); 2983 mViewManager->refreshView();