author | zautrix <zautrix> | 2004-09-20 19:27:24 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-09-20 19:27:24 (UTC) |
commit | ed49c55dac215ac2ed9286ebfc36e5a19417f0bb (patch) (side-by-side diff) | |
tree | 79f933ed5d4a9a9df524dbd71d41d12dde007401 /kaddressbook | |
parent | 138be6cfa921cd8a07fa0b18046d955e7d2dbd6e (diff) | |
download | kdepimpi-ed49c55dac215ac2ed9286ebfc36e5a19417f0bb.zip kdepimpi-ed49c55dac215ac2ed9286ebfc36e5a19417f0bb.tar.gz kdepimpi-ed49c55dac215ac2ed9286ebfc36e5a19417f0bb.tar.bz2 |
more DTM sync
-rw-r--r-- | kaddressbook/kabcore.cpp | 29 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 7 |
2 files changed, 30 insertions, 6 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index f8683e7..c1ead9d 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -3005,40 +3005,63 @@ bool KABCore::syncAB(QString filename, int mode) } #endif } void KABCore::confSync() { static KSyncPrefsDialog* sp = 0; if ( ! sp ) { sp = new KSyncPrefsDialog( this, "syncprefs", true ); } sp->usrReadConfig(); #ifndef DESKTOP_VERSION sp->showMaximized(); #else sp->show(); #endif sp->exec(); 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(); - 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() { if ( mModified ) save(); qDebug("pending syncPhone(); "); //mView->syncPhone(); setModified(); } diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index f01f306..e89bf41 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h @@ -439,46 +439,47 @@ class KABCore : public QWidget QPopupMenu *ExportMenu; //LR additional methods KAction *mActionRemoveVoice; KAction * mActionImportOL; #ifndef KAB_EMBEDDED KAddressBookService *mAddressBookService; #endif //KAB_EMBEDDED class KABCorePrivate; KABCorePrivate *d; bool mBlockSaveFlag; #ifdef KAB_EMBEDDED KAddressBookMain *mMainWindow; // should be the same like mGUIClient #endif //KAB_EMBEDDED // LR ******************************* // sync stuff! QPopupMenu *syncMenu; void fillSyncMenu(); QString mCurrentSyncDevice; QString mCurrentSyncName; void quickSyncLocalFile(); bool syncWithFile( QString fn , bool quick ); - void KABCore::syncLocalFile(); - void KABCore::syncPhone(); - void KABCore::syncSharp(); + void syncLocalFile(); + void syncPhone(); + void syncSharp(); + bool syncExternal(QString); void multiSync( bool askforPrefs ); int mCurrentSyncProfile ; void syncRemote( KSyncProfile* prof, bool ask = true); void edit_sync_options(); bool syncAB(QString filename, int mode); int ringSync(); QString getPassword( ); int mGlobalSyncMode; bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode); KABC::Addressee getLastSyncAddressee(); QDateTime mLastAddressbookSync; int takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full ); public slots: void confSync(); // ********************* }; #endif |