summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kabcore.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/kabcore.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index f8683e7..c1ead9d 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -3023,17 +3023,40 @@ void KABCore::confSync()
KABPrefs::instance()->mSyncProfileNames = sp->getSyncProfileNames();
KABPrefs::instance()->mLocalMachineName = sp->getLocalMachineName ();
fillSyncMenu();
}
void KABCore::syncSharp()
{
+ if ( ! syncExternal("sharp") )
+ qDebug("ERROR sync sharp ");;
+}
+bool KABCore::syncExternal(QString resource)
+{
if ( mModified )
save();
- qDebug("pending syncSharp() ");
- //mView->syncSharp();
+ 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()
{
if ( mModified )
save();