-rw-r--r-- | kaddressbook/kabcore.cpp | 93 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 2 |
2 files changed, 60 insertions, 35 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 1196360..53c63ff 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -2515,5 +2515,24 @@ QString KABCore::getPassword( ) | |||
2515 | } | 2515 | } |
2516 | #include <libkcal/syncdefines.h> | ||
2517 | |||
2518 | KABC::Addressee KABCore::getLastSyncAddressee() | ||
2519 | { | ||
2520 | Addressee lse; | ||
2521 | //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() ); | ||
2522 | lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice ); | ||
2523 | if (lse.isEmpty()) { | ||
2524 | lse.setUid( "last-syncEvent-"+mCurrentSyncDevice ); | ||
2525 | QString sum = ""; | ||
2526 | if ( KABPrefs::instance()->mExternSyncProfiles.contains( mCurrentSyncDevice ) ) | ||
2527 | sum = "E: "; | ||
2528 | lse.setFamilyName(sum+mCurrentSyncDevice + i18n(" - sync event")); | ||
2529 | lse.setRevision( mLastAddressbookSync ); | ||
2530 | lse.setCategories( i18n("SyncEvent") ); | ||
2531 | mAddressBook->insertAddressee( lse ); | ||
2532 | } | ||
2533 | return lse; | ||
2534 | } | ||
2535 | |||
2516 | bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode) | 2536 | bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode) |
2517 | { | 2537 | { |
2518 | #if 0 | ||
2519 | bool syncOK = true; | 2538 | bool syncOK = true; |
@@ -2526,19 +2545,19 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
2526 | //QPtrList<Addressee> el = local->rawAddressees(); | 2545 | //QPtrList<Addressee> el = local->rawAddressees(); |
2527 | Addressee* addresseeR; | 2546 | Addressee addresseeR; |
2528 | QString uid; | 2547 | QString uid; |
2529 | int take; | 2548 | int take; |
2530 | Addressee* addresseeL; | 2549 | Addressee addresseeL; |
2531 | Addressee* addresseeRSync; | 2550 | Addressee addresseeRSync; |
2532 | Addressee* addresseeLSync; | 2551 | Addressee addresseeLSync; |
2533 | QPtrList<Addressee> addresseeRSyncSharp = remote->getExternLastSyncAddressees(); | 2552 | KABC::Addressee::List addresseeRSyncSharp = remote->getExternLastSyncAddressees(); |
2534 | QPtrList<Addressee> addresseeLSyncSharp = local->getExternLastSyncAddressees(); | 2553 | KABC::Addressee::List addresseeLSyncSharp = local->getExternLastSyncAddressees(); |
2535 | bool fullDateRange = false; | 2554 | bool fullDateRange = false; |
2536 | local->resetTempSyncStat(); | 2555 | local->resetTempSyncStat(); |
2537 | mLastCalendarSync = QDateTime::currentDateTime(); | 2556 | mLastAddressbookSync = QDateTime::currentDateTime(); |
2538 | QDateTime modifiedCalendar = mLastCalendarSync;; | 2557 | QDateTime modifiedCalendar = mLastAddressbookSync;; |
2539 | addresseeLSync = getLastSyncAddressee(); | 2558 | addresseeLSync = getLastSyncAddressee(); |
2540 | addresseeR = remote->addressee("last-syncAddressee-"+mCurrentSyncName ); | 2559 | addresseeR = remote->findByUid("last-syncAddressee-"+mCurrentSyncName ); |
2541 | if ( addresseeR ) { | 2560 | if ( !addresseeR.isEmpty() ) { |
2542 | addresseeRSync = (Addressee*) addresseeR->clone(); | 2561 | addresseeRSync = addresseeR; |
2543 | remote->deleteAddressee(addresseeR ); | 2562 | remote->removeAddressee(addresseeR ); |
2544 | 2563 | ||
@@ -2546,18 +2565,17 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
2546 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { | 2565 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
2547 | addresseeRSync = (Addressee*)addresseeLSync->clone(); | 2566 | addresseeRSync = addresseeLSync ; |
2548 | } else { | 2567 | } else { |
2549 | fullDateRange = true; | 2568 | fullDateRange = true; |
2550 | addresseeRSync = new Addressee(); | 2569 | Addressee newAdd; |
2551 | addresseeRSync->setSummary(mCurrentSyncName + i18n(" - sync addressee")); | 2570 | addresseeRSync = newAdd; |
2552 | addresseeRSync->setUid("last-syncAddressee-"+mCurrentSyncName ); | 2571 | addresseeRSync.setFamilyName(mCurrentSyncName + i18n(" - sync addressee")); |
2553 | addresseeRSync->setDtStart( mLastCalendarSync ); | 2572 | addresseeRSync.setUid("last-syncAddressee-"+mCurrentSyncName ); |
2554 | addresseeRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) ); | 2573 | addresseeRSync.setRevision( mLastAddressbookSync ); |
2555 | addresseeRSync->setCategories( i18n("SyncAddressee") ); | 2574 | addresseeRSync.setCategories( i18n("SyncAddressee") ); |
2556 | } | 2575 | } |
2557 | } | 2576 | } |
2558 | if ( addresseeLSync->dtStart() == mLastCalendarSync ) | 2577 | if ( addresseeLSync.revision() == mLastAddressbookSync ) |
2559 | fullDateRange = true; | 2578 | fullDateRange = true; |
2560 | |||
2561 | if ( ! fullDateRange ) { | 2579 | if ( ! fullDateRange ) { |
2562 | if ( addresseeLSync->dtStart() != addresseeRSync->dtStart() ) { | 2580 | if ( addresseeLSync.revision() != addresseeRSync.revision() ) { |
2563 | 2581 | ||
@@ -2569,12 +2587,17 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
2569 | if ( fullDateRange ) | 2587 | if ( fullDateRange ) |
2570 | mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365); | 2588 | mLastAddressbookSync = QDateTime::currentDateTime().addDays( -100*365); |
2571 | else | 2589 | else |
2572 | mLastCalendarSync = addresseeLSync->dtStart(); | 2590 | mLastAddressbookSync = addresseeLSync.revision(); |
2573 | // for resyncing if own file has changed | 2591 | // for resyncing if own file has changed |
2592 | // PENDING fixme later when implemented | ||
2593 | #if 0 | ||
2574 | if ( mCurrentSyncDevice == "deleteaftersync" ) { | 2594 | if ( mCurrentSyncDevice == "deleteaftersync" ) { |
2575 | mLastCalendarSync = loadedFileVersion; | 2595 | mLastAddressbookSync = loadedFileVersion; |
2576 | qDebug("setting mLastCalendarSync "); | 2596 | qDebug("setting mLastAddressbookSync "); |
2577 | } | 2597 | } |
2598 | #endif | ||
2599 | |||
2600 | #if 0 | ||
2578 | //qDebug("*************************** "); | 2601 | //qDebug("*************************** "); |
2579 | qDebug("mLastCalendarSync %s ",mLastCalendarSync.toString().latin1() ); | 2602 | qDebug("mLastAddressbookSync %s ",mLastAddressbookSync.toString().latin1() ); |
2580 | QPtrList<Incidence> er = remote->rawIncidences(); | 2603 | QPtrList<Incidence> er = remote->rawIncidences(); |
@@ -2659,3 +2682,3 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
2659 | } else { | 2682 | } else { |
2660 | if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) { | 2683 | if ( inR->lastModified() > mLastAddressbookSync || mode == 5 ) { |
2661 | inR->setLastModified( modifiedCalendar ); | 2684 | inR->setLastModified( modifiedCalendar ); |
@@ -2715,3 +2738,3 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
2715 | } else { | 2738 | } else { |
2716 | if ( inL->lastModified() < mLastCalendarSync && mode != 4 ) { | 2739 | if ( inL->lastModified() < mLastAddressbookSync && mode != 4 ) { |
2717 | checkExternSyncAddressee(addresseeLSyncSharp, inL); | 2740 | checkExternSyncAddressee(addresseeLSyncSharp, inL); |
@@ -2762,8 +2785,8 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
2762 | bar.hide(); | 2785 | bar.hide(); |
2763 | mLastCalendarSync = QDateTime::currentDateTime().addSecs( 1 ); | 2786 | mLastAddressbookSync = QDateTime::currentDateTime().addSecs( 1 ); |
2764 | addresseeLSync->setReadOnly( false ); | 2787 | addresseeLSync->setReadOnly( false ); |
2765 | addresseeLSync->setDtStart( mLastCalendarSync ); | 2788 | addresseeLSync->setDtStart( mLastAddressbookSync ); |
2766 | addresseeRSync->setDtStart( mLastCalendarSync ); | 2789 | addresseeRSync->setDtStart( mLastAddressbookSync ); |
2767 | addresseeLSync->setDtEnd( mLastCalendarSync.addSecs( 3600 ) ); | 2790 | addresseeLSync->setDtEnd( mLastAddressbookSync.addSecs( 3600 ) ); |
2768 | addresseeRSync->setDtEnd( mLastCalendarSync.addSecs( 3600 ) ); | 2791 | addresseeRSync->setDtEnd( mLastAddressbookSync.addSecs( 3600 ) ); |
2769 | addresseeRSync->setLocation( i18n("Remote from: ")+mCurrentSyncName ) ; | 2792 | addresseeRSync->setLocation( i18n("Remote from: ")+mCurrentSyncName ) ; |
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index 4487a8a..c67cee6 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h | |||
@@ -474,2 +474,4 @@ class KABCore : public QWidget | |||
474 | bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode); | 474 | bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode); |
475 | KABC::Addressee getLastSyncAddressee(); | ||
476 | QDateTime mLastAddressbookSync; | ||
475 | public slots: | 477 | public slots: |