-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 | |||
921 | int addedEvent = 0; | 921 | int addedEvent = 0; |
922 | int addedEventR = 0; | 922 | int addedEventR = 0; |
923 | int deletedEventR = 0; | 923 | int deletedEventR = 0; |
924 | int deletedEventL = 0; | 924 | int deletedEventL = 0; |
925 | int changedLocal = 0; | 925 | int changedLocal = 0; |
926 | int changedRemote = 0; | 926 | int changedRemote = 0; |
927 | int filteredIN = 0; | ||
928 | int filteredOUT = 0; | ||
927 | //QPtrList<Event> el = local->rawEvents(); | 929 | //QPtrList<Event> el = local->rawEvents(); |
928 | Event* eventR; | 930 | Event* eventR; |
929 | QString uid; | 931 | QString uid; |
930 | int take; | 932 | int take; |
931 | Event* eventL; | 933 | Event* eventL; |
932 | Event* eventRSync; | 934 | Event* eventRSync; |
@@ -1098,12 +1100,14 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1098 | } else { | 1100 | } else { |
1099 | checkExternSyncEvent(eventRSyncSharp, inR); | 1101 | checkExternSyncEvent(eventRSyncSharp, inR); |
1100 | remote->deleteIncidence( inR ); | 1102 | remote->deleteIncidence( inR ); |
1101 | ++deletedEventR; | 1103 | ++deletedEventR; |
1102 | } | 1104 | } |
1103 | } | 1105 | } |
1106 | } else { | ||
1107 | ++filteredIN; | ||
1104 | } | 1108 | } |
1105 | } | 1109 | } |
1106 | } | 1110 | } |
1107 | inR = er.next(); | 1111 | inR = er.next(); |
1108 | } | 1112 | } |
1109 | QPtrList<Incidence> el = local->rawIncidences(); | 1113 | QPtrList<Incidence> el = local->rawIncidences(); |
@@ -1125,18 +1129,17 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1125 | uid = inL->uid(); | 1129 | uid = inL->uid(); |
1126 | bool skipIncidence = false; | 1130 | bool skipIncidence = false; |
1127 | if ( uid.left(15) == QString("last-syncEvent-") ) | 1131 | if ( uid.left(15) == QString("last-syncEvent-") ) |
1128 | skipIncidence = true; | 1132 | skipIncidence = true; |
1129 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" ) | 1133 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" ) |
1130 | skipIncidence = true; | 1134 | skipIncidence = true; |
1131 | if ( filterOUT && ! filterOUT->filterCalendarItem( inL ) ){ | ||
1132 | skipIncidence = true; | ||
1133 | } | ||
1134 | if ( !skipIncidence ) { | 1135 | if ( !skipIncidence ) { |
1135 | inR = remote->incidence( uid ); | 1136 | inR = remote->incidence( uid ); |
1136 | if ( ! inR ) { // no conflict ********** add or delete local | 1137 | if ( ! inR ) { |
1138 | if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){ | ||
1139 | // no conflict ********** add or delete local | ||
1137 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { | 1140 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
1138 | if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { | 1141 | if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { |
1139 | checkExternSyncEvent(eventLSyncSharp, inL); | 1142 | checkExternSyncEvent(eventLSyncSharp, inL); |
1140 | local->deleteIncidence( inL ); | 1143 | local->deleteIncidence( inL ); |
1141 | ++deletedEventL; | 1144 | ++deletedEventL; |
1142 | } else { | 1145 | } else { |
@@ -1163,12 +1166,15 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1163 | inR = inL->clone(); | 1166 | inR = inL->clone(); |
1164 | inR->setIDStr( ":" ); | 1167 | inR->setIDStr( ":" ); |
1165 | remote->addIncidence( inR ); | 1168 | remote->addIncidence( inR ); |
1166 | } | 1169 | } |
1167 | } | 1170 | } |
1168 | } | 1171 | } |
1172 | } else { | ||
1173 | ++filteredOUT; | ||
1174 | } | ||
1169 | } | 1175 | } |
1170 | } | 1176 | } |
1171 | inL = el.next(); | 1177 | inL = el.next(); |
1172 | } | 1178 | } |
1173 | int delFut = 0; | 1179 | int delFut = 0; |
1174 | int remRem = 0; | 1180 | int remRem = 0; |
@@ -1215,13 +1221,13 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1215 | qDebug("********** %d %d ", mGlobalSyncMode == SYNC_MODE_NORMAL, mSyncManager->syncWithDesktop() ); | 1221 | qDebug("********** %d %d ", mGlobalSyncMode == SYNC_MODE_NORMAL, mSyncManager->syncWithDesktop() ); |
1216 | if ( mGlobalSyncMode == SYNC_MODE_NORMAL && !mSyncManager->syncWithDesktop()) // kde is abnormal... | 1222 | if ( mGlobalSyncMode == SYNC_MODE_NORMAL && !mSyncManager->syncWithDesktop()) // kde is abnormal... |
1217 | remote->addEvent( eventRSync ); | 1223 | remote->addEvent( eventRSync ); |
1218 | else | 1224 | else |
1219 | delete eventRSync; | 1225 | delete eventRSync; |
1220 | QString mes; | 1226 | QString mes; |
1221 | 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 ); | 1227 | 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 ); |
1222 | QString delmess; | 1228 | QString delmess; |
1223 | if ( delFut ) { | 1229 | if ( delFut ) { |
1224 | 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); | 1230 | 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); |
1225 | mes += delmess; | 1231 | mes += delmess; |
1226 | } | 1232 | } |
1227 | mes = i18n("Local calendar changed!\n") +mes; | 1233 | mes = i18n("Local calendar changed!\n") +mes; |