-rw-r--r-- | korganizer/calendarview.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 685bb60..da1edea 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -921,12 +921,14 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int int addedEvent = 0; int addedEventR = 0; int deletedEventR = 0; int deletedEventL = 0; int changedLocal = 0; int changedRemote = 0; + int filteredIN = 0; + int filteredOUT = 0; //QPtrList<Event> el = local->rawEvents(); Event* eventR; QString uid; int take; Event* eventL; Event* eventRSync; @@ -1098,12 +1100,14 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int } else { checkExternSyncEvent(eventRSyncSharp, inR); remote->deleteIncidence( inR ); ++deletedEventR; } } + } else { + ++filteredIN; } } } inR = er.next(); } QPtrList<Incidence> el = local->rawIncidences(); @@ -1125,18 +1129,17 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int uid = inL->uid(); bool skipIncidence = false; if ( uid.left(15) == QString("last-syncEvent-") ) skipIncidence = true; if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" ) skipIncidence = true; - if ( filterOUT && ! filterOUT->filterCalendarItem( inL ) ){ - skipIncidence = true; - } if ( !skipIncidence ) { inR = remote->incidence( uid ); - if ( ! inR ) { // no conflict ********** add or delete local + if ( ! inR ) { + if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){ + // no conflict ********** add or delete local if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { checkExternSyncEvent(eventLSyncSharp, inL); local->deleteIncidence( inL ); ++deletedEventL; } else { @@ -1163,12 +1166,15 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inR = inL->clone(); inR->setIDStr( ":" ); remote->addIncidence( inR ); } } } + } else { + ++filteredOUT; + } } } inL = el.next(); } int delFut = 0; int remRem = 0; @@ -1215,13 +1221,13 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int qDebug("********** %d %d ", mGlobalSyncMode == SYNC_MODE_NORMAL, mSyncManager->syncWithDesktop() ); if ( mGlobalSyncMode == SYNC_MODE_NORMAL && !mSyncManager->syncWithDesktop()) // kde is abnormal... remote->addEvent( eventRSync ); else delete eventRSync; QString mes; - mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n"),addedEvent, addedEventR, changedLocal, changedRemote, deletedEventL, deletedEventR ); + mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n"),addedEvent, addedEventR, changedLocal, changedRemote, deletedEventL, deletedEventR, filteredIN, filteredOUT ); QString delmess; if ( delFut ) { delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are more\nthan %d weeks in the past or\nmore than %d weeks in the future.\nAfter skipping, remote has\n%d calendar/todo items."), delFut,mSyncManager->mWriteBackInPast,mSyncManager->mWriteBackInFuture, remRem-delFut); mes += delmess; } mes = i18n("Local calendar changed!\n") +mes; |