-rw-r--r-- | kaddressbook/kabcore.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index e61f65f..aa04631 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -254,25 +254,25 @@ class KAex2phonePrefs : public QDialog | |||
254 | lay->addWidget( temphb ); | 254 | lay->addWidget( temphb ); |
255 | temphb = new QHBox( this ); | 255 | temphb = new QHBox( this ); |
256 | new QLabel( i18n("Connection: "), temphb ); | 256 | new QLabel( i18n("Connection: "), temphb ); |
257 | mPhoneConnection = new QLineEdit( temphb); | 257 | mPhoneConnection = new QLineEdit( temphb); |
258 | lay->addWidget( temphb ); | 258 | lay->addWidget( temphb ); |
259 | temphb = new QHBox( this ); | 259 | temphb = new QHBox( this ); |
260 | new QLabel( i18n("Model(opt.): "), temphb ); | 260 | new QLabel( i18n("Model(opt.): "), temphb ); |
261 | mPhoneModel = new QLineEdit( temphb); | 261 | mPhoneModel = new QLineEdit( temphb); |
262 | lay->addWidget( temphb ); | 262 | lay->addWidget( temphb ); |
263 | // mWriteToSim = new QCheckBox( i18n("Write Contacts to SIM card\n(if not, write to phone memory)"), this ); | 263 | // mWriteToSim = new QCheckBox( i18n("Write Contacts to SIM card\n(if not, write to phone memory)"), this ); |
264 | // lay->addWidget( mWriteToSim ); | 264 | // lay->addWidget( mWriteToSim ); |
265 | lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ncontact data on phone!"), this ) ); | 265 | lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ncontact data on phone!"), this ) ); |
266 | lab->setAlignment (AlignHCenter ); | 266 | lab->setAlignment (AlignHCenter); |
267 | QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); | 267 | QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); |
268 | lay->addWidget( ok ); | 268 | lay->addWidget( ok ); |
269 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); | 269 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); |
270 | lay->addWidget( cancel ); | 270 | lay->addWidget( cancel ); |
271 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); | 271 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); |
272 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); | 272 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); |
273 | resize( 220, 240 ); | 273 | resize( 220, 240 ); |
274 | 274 | ||
275 | } | 275 | } |
276 | 276 | ||
277 | public: | 277 | public: |
278 | QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; | 278 | QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; |
@@ -556,24 +556,26 @@ void KABCore::saveSettings() | |||
556 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); | 556 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); |
557 | KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); | 557 | KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); |
558 | KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); | 558 | KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); |
559 | #ifndef KAB_EMBEDDED | 559 | #ifndef KAB_EMBEDDED |
560 | 560 | ||
561 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); | 561 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); |
562 | KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); | 562 | KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); |
563 | #endif //KAB_EMBEDDED | 563 | #endif //KAB_EMBEDDED |
564 | mExtensionManager->saveSettings(); | 564 | mExtensionManager->saveSettings(); |
565 | mViewManager->saveSettings(); | 565 | mViewManager->saveSettings(); |
566 | 566 | ||
567 | KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); | 567 | KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); |
568 | KABPrefs::instance()->writeConfig(); | ||
569 | qDebug("KABPrefs::instance()->writeConfig() "); | ||
568 | } | 570 | } |
569 | 571 | ||
570 | KABC::AddressBook *KABCore::addressBook() const | 572 | KABC::AddressBook *KABCore::addressBook() const |
571 | { | 573 | { |
572 | return mAddressBook; | 574 | return mAddressBook; |
573 | } | 575 | } |
574 | 576 | ||
575 | KConfig *KABCore::config() | 577 | KConfig *KABCore::config() |
576 | { | 578 | { |
577 | #ifndef KAB_EMBEDDED | 579 | #ifndef KAB_EMBEDDED |
578 | return KABPrefs::instance()->config(); | 580 | return KABPrefs::instance()->config(); |
579 | #else //KAB_EMBEDDED | 581 | #else //KAB_EMBEDDED |
@@ -2676,24 +2678,25 @@ int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, i | |||
2676 | // 3 cancel | 2678 | // 3 cancel |
2677 | QDateTime lastSync = mLastAddressbookSync; | 2679 | QDateTime lastSync = mLastAddressbookSync; |
2678 | QDateTime localMod = local->revision(); | 2680 | QDateTime localMod = local->revision(); |
2679 | QDateTime remoteMod = remote->revision(); | 2681 | QDateTime remoteMod = remote->revision(); |
2680 | 2682 | ||
2681 | QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); | 2683 | QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); |
2682 | 2684 | ||
2683 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { | 2685 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
2684 | bool remCh, locCh; | 2686 | bool remCh, locCh; |
2685 | remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) ); | 2687 | remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) ); |
2686 | //qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() ); | 2688 | //qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() ); |
2687 | locCh = ( localMod > mLastAddressbookSync ); | 2689 | locCh = ( localMod > mLastAddressbookSync ); |
2690 | //qDebug("cahnged rem %d loc %d",remCh, locCh ); | ||
2688 | if ( !remCh && ! locCh ) { | 2691 | if ( !remCh && ! locCh ) { |
2689 | //qDebug("both not changed "); | 2692 | //qDebug("both not changed "); |
2690 | lastSync = localMod.addDays(1); | 2693 | lastSync = localMod.addDays(1); |
2691 | if ( mode <= SYNC_PREF_ASK ) | 2694 | if ( mode <= SYNC_PREF_ASK ) |
2692 | return 0; | 2695 | return 0; |
2693 | } else { | 2696 | } else { |
2694 | if ( locCh ) { | 2697 | if ( locCh ) { |
2695 | //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1()); | 2698 | //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1()); |
2696 | lastSync = localMod.addDays( -1 ); | 2699 | lastSync = localMod.addDays( -1 ); |
2697 | if ( !remCh ) | 2700 | if ( !remCh ) |
2698 | remoteMod =( lastSync.addDays( -1 ) ); | 2701 | remoteMod =( lastSync.addDays( -1 ) ); |
2699 | } else { | 2702 | } else { |
@@ -2753,26 +2756,27 @@ int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, i | |||
2753 | return 2; | 2756 | return 2; |
2754 | break; | 2757 | break; |
2755 | case SYNC_PREF_NEWEST: | 2758 | case SYNC_PREF_NEWEST: |
2756 | if ( localMod > remoteMod ) | 2759 | if ( localMod > remoteMod ) |
2757 | return 1; | 2760 | return 1; |
2758 | else | 2761 | else |
2759 | return 2; | 2762 | return 2; |
2760 | break; | 2763 | break; |
2761 | case SYNC_PREF_ASK: | 2764 | case SYNC_PREF_ASK: |
2762 | //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); | 2765 | //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); |
2763 | if ( lastSync > remoteMod ) | 2766 | if ( lastSync > remoteMod ) |
2764 | return 1; | 2767 | return 1; |
2765 | if ( lastSync > localMod ) | 2768 | if ( lastSync > localMod ) { |
2766 | return 2; | 2769 | return 2; |
2770 | } | ||
2767 | localIsNew = localMod >= remoteMod; | 2771 | localIsNew = localMod >= remoteMod; |
2768 | //qDebug("conflict! ************************************** "); | 2772 | //qDebug("conflict! ************************************** "); |
2769 | { | 2773 | { |
2770 | KABC::AddresseeChooser acd ( *local,*remote, localIsNew , this ); | 2774 | KABC::AddresseeChooser acd ( *local,*remote, localIsNew , this ); |
2771 | result = acd.executeD(localIsNew); | 2775 | result = acd.executeD(localIsNew); |
2772 | return result; | 2776 | return result; |
2773 | } | 2777 | } |
2774 | break; | 2778 | break; |
2775 | case SYNC_PREF_FORCE_LOCAL: | 2779 | case SYNC_PREF_FORCE_LOCAL: |
2776 | return 1; | 2780 | return 1; |
2777 | break; | 2781 | break; |
2778 | case SYNC_PREF_FORCE_REMOTE: | 2782 | case SYNC_PREF_FORCE_REMOTE: |
@@ -2997,28 +3001,30 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
2997 | syncManager->showProgressBar(0, i18n("Add / remove addressees"), el.count()); | 3001 | syncManager->showProgressBar(0, i18n("Add / remove addressees"), el.count()); |
2998 | incCounter = 0; | 3002 | incCounter = 0; |
2999 | while ( incCounter < el.count()) { | 3003 | while ( incCounter < el.count()) { |
3000 | qApp->processEvents(); | 3004 | qApp->processEvents(); |
3001 | if (syncManager->isProgressBarCanceled()) | 3005 | if (syncManager->isProgressBarCanceled()) |
3002 | return false; | 3006 | return false; |
3003 | if ( incCounter % modulo == 0 ) | 3007 | if ( incCounter % modulo == 0 ) |
3004 | syncManager->showProgressBar(incCounter); | 3008 | syncManager->showProgressBar(incCounter); |
3005 | uid = el[ incCounter ]; | 3009 | uid = el[ incCounter ]; |
3006 | bool skipIncidence = false; | 3010 | bool skipIncidence = false; |
3007 | if ( uid.left(19) == QString("last-syncAddressee-") ) | 3011 | if ( uid.left(19) == QString("last-syncAddressee-") ) |
3008 | skipIncidence = true; | 3012 | skipIncidence = true; |
3009 | if ( !filterOUT.name().isEmpty() && ! filterOUT.filterAddressee( inL ) ) | 3013 | if ( ! skipIncidence ) { |
3010 | skipIncidence = true; | ||
3011 | if ( !skipIncidence ) { | ||
3012 | inL = local->findByUid( uid ); | 3014 | inL = local->findByUid( uid ); |
3015 | if ( (!filterOUT.name().isEmpty()) && (! filterOUT.filterAddressee( inL ) ) ) | ||
3016 | skipIncidence = true; | ||
3017 | } | ||
3018 | if ( !skipIncidence ) { | ||
3013 | if ( !inL.resource() || inL.resource()->includeInSync() ) { | 3019 | if ( !inL.resource() || inL.resource()->includeInSync() ) { |
3014 | inR = remote->findByUid( uid ); | 3020 | inR = remote->findByUid( uid ); |
3015 | if ( inR.isEmpty() ) { // no conflict ********** add or delete local | 3021 | if ( inR.isEmpty() ) { // no conflict ********** add or delete local |
3016 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { | 3022 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
3017 | if ( !inL.getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { | 3023 | if ( !inL.getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { |
3018 | // pending checkExternSyncAddressee(addresseeLSyncSharp, inL); | 3024 | // pending checkExternSyncAddressee(addresseeLSyncSharp, inL); |
3019 | local->removeAddressee( inL ); | 3025 | local->removeAddressee( inL ); |
3020 | ++deletedAddresseeL; | 3026 | ++deletedAddresseeL; |
3021 | } else { | 3027 | } else { |
3022 | if ( ! syncManager->mWriteBackExistingOnly ) { | 3028 | if ( ! syncManager->mWriteBackExistingOnly ) { |
3023 | inL.removeID(mCurrentSyncDevice ); | 3029 | inL.removeID(mCurrentSyncDevice ); |
3024 | ++addedAddresseeR; | 3030 | ++addedAddresseeR; |