-rw-r--r-- | kaddressbook/kabcore.cpp | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index f8683e7..c1ead9d 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -3026,11 +3026,34 @@ void KABCore::confSync() } void KABCore::syncSharp() { + if ( ! syncExternal("sharp") ) + qDebug("ERROR sync sharp ");; +} +bool KABCore::syncExternal(QString resource) +{ if ( mModified ) save(); - qDebug("pending syncSharp() "); - //mView->syncSharp(); - setModified(); + if ( KABPrefs::instance()->mAskForPreferences ) + edit_sync_options(); + qDebug("syncSharp() "); + AddressBook abLocal( resource,"syncContact"); + bool syncOK = false; + if ( abLocal.load() ) { + qDebug("AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1()); + mGlobalSyncMode = SYNC_MODE_EXTERNAL; + abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice ); + syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, KABPrefs::instance()->mSyncAlgoPrefs ); + if ( syncOK ) { + if ( KABPrefs::instance()->mWriteBackFile ) { + abLocal.saveAB(); + abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ); + } + } + setModified(); + } + if ( syncOK ) + mViewManager->refreshView(); + return syncOK; } void KABCore::syncPhone() |