summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/calendarview.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 02c5e45..685bb60 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1064,49 +1064,49 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1064 } 1064 }
1065 local->addIncidence( inL ); 1065 local->addIncidence( inL );
1066 ++changedLocal; 1066 ++changedLocal;
1067 } 1067 }
1068 } 1068 }
1069 } else { // no conflict ********** add or delete remote 1069 } else { // no conflict ********** add or delete remote
1070 if ( !filterIN || filterIN->filterCalendarItem( inR ) ){
1070 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1071 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1071 QString des = eventLSync->description(); 1072 QString des = eventLSync->description();
1072 QString pref = "e"; 1073 QString pref = "e";
1073 if ( inR->type() == "Todo" ) 1074 if ( inR->type() == "Todo" )
1074 pref = "t"; 1075 pref = "t";
1075 if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it 1076 if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it
1076 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE ); 1077 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE );
1077 //remote->deleteIncidence( inR ); 1078 //remote->deleteIncidence( inR );
1078 ++deletedEventR; 1079 ++deletedEventR;
1079 } else { 1080 } else {
1080 if ( !filterIN || filterIN->filterCalendarItem( inR ) ){
1081 inR->setLastModified( modifiedCalendar ); 1081 inR->setLastModified( modifiedCalendar );
1082 inL = inR->clone(); 1082 inL = inR->clone();
1083 inL->setIDStr( ":" ); 1083 inL->setIDStr( ":" );
1084 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); 1084 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) );
1085 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) ); 1085 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) );
1086 local->addIncidence( inL ); 1086 local->addIncidence( inL );
1087 ++addedEvent; 1087 ++addedEvent;
1088 } 1088
1089 } 1089 }
1090 } else { 1090 } else {
1091 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) { 1091 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) {
1092 if ( !filterIN || filterIN->filterCalendarItem( inR ) ){
1093 inR->setLastModified( modifiedCalendar ); 1092 inR->setLastModified( modifiedCalendar );
1094 inL = inR->clone(); 1093 inL = inR->clone();
1095 inL->setIDStr( ":" ); 1094 inL->setIDStr( ":" );
1096 local->addIncidence( inL ); 1095 local->addIncidence( inL );
1097 ++addedEvent; 1096 ++addedEvent;
1098 } 1097
1099 } else { 1098 } else {
1100 checkExternSyncEvent(eventRSyncSharp, inR); 1099 checkExternSyncEvent(eventRSyncSharp, inR);
1101 remote->deleteIncidence( inR ); 1100 remote->deleteIncidence( inR );
1102 ++deletedEventR; 1101 ++deletedEventR;
1103 } 1102 }
1104 } 1103 }
1105 } 1104 }
1106 } 1105 }
1106 }
1107 inR = er.next(); 1107 inR = er.next();
1108 } 1108 }
1109 QPtrList<Incidence> el = local->rawIncidences(); 1109 QPtrList<Incidence> el = local->rawIncidences();
1110 inL = el.first(); 1110 inL = el.first();
1111 modulo = (el.count()/10)+1; 1111 modulo = (el.count()/10)+1;
1112 bar.setCaption (i18n("Add / remove events") ); 1112 bar.setCaption (i18n("Add / remove events") );
@@ -1125,53 +1125,52 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1125 uid = inL->uid(); 1125 uid = inL->uid();
1126 bool skipIncidence = false; 1126 bool skipIncidence = false;
1127 if ( uid.left(15) == QString("last-syncEvent-") ) 1127 if ( uid.left(15) == QString("last-syncEvent-") )
1128 skipIncidence = true; 1128 skipIncidence = true;
1129 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" ) 1129 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" )
1130 skipIncidence = true; 1130 skipIncidence = true;
1131 if ( filterOUT && ! filterOUT->filterCalendarItem( inL ) ){
1132 skipIncidence = true;
1133 }
1131 if ( !skipIncidence ) { 1134 if ( !skipIncidence ) {
1132 inR = remote->incidence( uid ); 1135 inR = remote->incidence( uid );
1133 if ( ! inR ) { // no conflict ********** add or delete local 1136 if ( ! inR ) { // no conflict ********** add or delete local
1134 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1137 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1135 if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { 1138 if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) {
1136 checkExternSyncEvent(eventLSyncSharp, inL); 1139 checkExternSyncEvent(eventLSyncSharp, inL);
1137 local->deleteIncidence( inL ); 1140 local->deleteIncidence( inL );
1138 ++deletedEventL; 1141 ++deletedEventL;
1139 } else { 1142 } else {
1140 if ( ! mSyncManager->mWriteBackExistingOnly ) { 1143 if ( ! mSyncManager->mWriteBackExistingOnly ) {
1141 if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){
1142 inL->removeID(mCurrentSyncDevice ); 1144 inL->removeID(mCurrentSyncDevice );
1143 ++addedEventR; 1145 ++addedEventR;
1144 //qDebug("remote added Incidence %s ", inL->summary().latin1()); 1146 //qDebug("remote added Incidence %s ", inL->summary().latin1());
1145 inL->setLastModified( modifiedCalendar ); 1147 inL->setLastModified( modifiedCalendar );
1146 inR = inL->clone(); 1148 inR = inL->clone();
1147 inR->setIDStr( ":" ); 1149 inR->setIDStr( ":" );
1148 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); 1150 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
1149 remote->addIncidence( inR ); 1151 remote->addIncidence( inR );
1150 } 1152 }
1151 } 1153 }
1152 }
1153 } else { 1154 } else {
1154 if ( inL->lastModified() < mLastCalendarSync && mode != 4 ) { 1155 if ( inL->lastModified() < mLastCalendarSync && mode != 4 ) {
1155 checkExternSyncEvent(eventLSyncSharp, inL); 1156 checkExternSyncEvent(eventLSyncSharp, inL);
1156 local->deleteIncidence( inL ); 1157 local->deleteIncidence( inL );
1157 ++deletedEventL; 1158 ++deletedEventL;
1158 } else { 1159 } else {
1159 if ( ! mSyncManager->mWriteBackExistingOnly ) { 1160 if ( ! mSyncManager->mWriteBackExistingOnly ) {
1160 if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){
1161 ++addedEventR; 1161 ++addedEventR;
1162 inL->setLastModified( modifiedCalendar ); 1162 inL->setLastModified( modifiedCalendar );
1163 inR = inL->clone(); 1163 inR = inL->clone();
1164 inR->setIDStr( ":" ); 1164 inR->setIDStr( ":" );
1165 remote->addIncidence( inR ); 1165 remote->addIncidence( inR );
1166 } 1166 }
1167 } 1167 }
1168 } 1168 }
1169 } 1169 }
1170 } 1170 }
1171 }
1172 inL = el.next(); 1171 inL = el.next();
1173 } 1172 }
1174 int delFut = 0; 1173 int delFut = 0;
1175 int remRem = 0; 1174 int remRem = 0;
1176 if ( mSyncManager->mWriteBackInFuture ) { 1175 if ( mSyncManager->mWriteBackInFuture ) {
1177 er = remote->rawIncidences(); 1176 er = remote->rawIncidences();