summaryrefslogtreecommitdiffabout
path: root/korganizer/calendarview.cpp
Unidiff
Diffstat (limited to 'korganizer/calendarview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index ccacc52..a350c3b 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1203,56 +1203,56 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
1203 mode = SYNC_PREF_ASK; 1203 mode = SYNC_PREF_ASK;
1204 1204
1205 switch( mode ) { 1205 switch( mode ) {
1206 case SYNC_PREF_LOCAL: 1206 case SYNC_PREF_LOCAL:
1207 if ( lastSync > remoteMod ) 1207 if ( lastSync > remoteMod )
1208 return 1; 1208 return 1;
1209 if ( lastSync > localMod ) 1209 if ( lastSync > localMod )
1210 return 2; 1210 return 2;
1211 return 1; 1211 return 1;
1212 break; 1212 break;
1213 case SYNC_PREF_REMOTE: 1213 case SYNC_PREF_REMOTE:
1214 if ( lastSync > localMod ) 1214 if ( lastSync > localMod )
1215 return 2; 1215 return 2;
1216 if ( lastSync > remoteMod ) 1216 if ( lastSync > remoteMod )
1217 return 1; 1217 return 1;
1218 return 2; 1218 return 2;
1219 break; 1219 break;
1220 case SYNC_PREF_NEWEST: 1220 case SYNC_PREF_NEWEST:
1221 if ( localMod >= remoteMod ) 1221 if ( localMod >= remoteMod )
1222 return 1; 1222 return 1;
1223 else 1223 else
1224 return 2; 1224 return 2;
1225 break; 1225 break;
1226 case SYNC_PREF_ASK: 1226 case SYNC_PREF_ASK:
1227 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); 1227 qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() );
1228 if ( lastSync > remoteMod && lastSync > localMod) 1228 if ( lastSync > remoteMod && lastSync > localMod)
1229 return 0; 1229 return 0;
1230 if ( lastSync > remoteMod ) 1230 if ( lastSync > remoteMod )
1231 return 1; 1231 return 1;
1232 if ( lastSync > localMod ) 1232 if ( lastSync > localMod )
1233 return 2; 1233 return 2;
1234 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); 1234 qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() );
1235 localIsNew = localMod >= remoteMod; 1235 localIsNew = localMod >= remoteMod;
1236 if ( localIsNew ) 1236 if ( localIsNew )
1237 getEventViewerDialog()->setColorMode( 1 ); 1237 getEventViewerDialog()->setColorMode( 1 );
1238 else 1238 else
1239 getEventViewerDialog()->setColorMode( 2 ); 1239 getEventViewerDialog()->setColorMode( 2 );
1240 getEventViewerDialog()->setIncidence(local); 1240 getEventViewerDialog()->setIncidence(local);
1241 if ( localIsNew ) 1241 if ( localIsNew )
1242 getEventViewerDialog()->setColorMode( 2 ); 1242 getEventViewerDialog()->setColorMode( 2 );
1243 else 1243 else
1244 getEventViewerDialog()->setColorMode( 1 ); 1244 getEventViewerDialog()->setColorMode( 1 );
1245 getEventViewerDialog()->addIncidence(remote); 1245 getEventViewerDialog()->addIncidence(remote);
1246 getEventViewerDialog()->setColorMode( 0 ); 1246 getEventViewerDialog()->setColorMode( 0 );
1247 //qDebug("local %d remote %d ",local->relatedTo(),remote->relatedTo() ); 1247 //qDebug("local %d remote %d ",local->relatedTo(),remote->relatedTo() );
1248 getEventViewerDialog()->setCaption( mCurrentSyncDevice +i18n(" : Conflict! Please choose entry!")); 1248 getEventViewerDialog()->setCaption( mCurrentSyncDevice +i18n(" : Conflict! Please choose entry!"));
1249 getEventViewerDialog()->showMe(); 1249 getEventViewerDialog()->showMe();
1250 result = getEventViewerDialog()->executeS( localIsNew ); 1250 result = getEventViewerDialog()->executeS( localIsNew );
1251 return result; 1251 return result;
1252 1252
1253 break; 1253 break;
1254 case SYNC_PREF_FORCE_LOCAL: 1254 case SYNC_PREF_FORCE_LOCAL:
1255 return 1; 1255 return 1;
1256 break; 1256 break;
1257 case SYNC_PREF_FORCE_REMOTE: 1257 case SYNC_PREF_FORCE_REMOTE:
1258 return 2; 1258 return 2;
@@ -1338,71 +1338,72 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1338 Event* eventR; 1338 Event* eventR;
1339 QString uid; 1339 QString uid;
1340 int take; 1340 int take;
1341 Event* eventRSync; 1341 Event* eventRSync;
1342 Event* eventLSync; 1342 Event* eventLSync;
1343 clearAllViews(); 1343 clearAllViews();
1344 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents(); 1344 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents();
1345 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents(); 1345 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents();
1346 bool fullDateRange = false; 1346 bool fullDateRange = false;
1347 local->resetTempSyncStat(); 1347 local->resetTempSyncStat();
1348 mLastCalendarSync = QDateTime::currentDateTime(); 1348 mLastCalendarSync = QDateTime::currentDateTime();
1349 if ( mSyncManager->syncWithDesktop() ) { 1349 if ( mSyncManager->syncWithDesktop() ) {
1350 remote->resetPilotStat(1); 1350 remote->resetPilotStat(1);
1351 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1351 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1352 mLastCalendarSync = KSyncManager::mRequestedSyncEvent; 1352 mLastCalendarSync = KSyncManager::mRequestedSyncEvent;
1353 qDebug("KO: using extern time for calendar sync: %s ", mLastCalendarSync.toString().latin1() ); 1353 qDebug("KO: using extern time for calendar sync: %s ", mLastCalendarSync.toString().latin1() );
1354 } else { 1354 } else {
1355 qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime "); 1355 qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime ");
1356 } 1356 }
1357 } 1357 }
1358 QDateTime modifiedCalendar = mLastCalendarSync; 1358 QDateTime modifiedCalendar = mLastCalendarSync;
1359 eventLSync = getLastSyncEvent(); 1359 eventLSync = getLastSyncEvent();
1360 eventR = remote->event("last-syncEvent-"+mCurrentSyncName ); 1360 eventR = remote->event("last-syncEvent-"+mCurrentSyncName );
1361 if ( eventR ) { 1361 if ( eventR ) {
1362 qDebug("last-syncEvent on remote found ");
1362 eventRSync = (Event*) eventR->clone(); 1363 eventRSync = (Event*) eventR->clone();
1363 remote->deleteEvent(eventR ); 1364 remote->deleteEvent(eventR );
1364 1365
1365 } else { 1366 } else {
1366 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncManager->syncWithDesktop()) { 1367 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncManager->syncWithDesktop()) {
1367 eventRSync = (Event*)eventLSync->clone(); 1368 eventRSync = (Event*)eventLSync->clone();
1368 } else { 1369 } else {
1369 fullDateRange = true; 1370 fullDateRange = true;
1370 eventRSync = new Event(); 1371 eventRSync = new Event();
1371 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event")); 1372 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event"));
1372 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName ); 1373 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName );
1373 eventRSync->setDtStart( mLastCalendarSync ); 1374 eventRSync->setDtStart( mLastCalendarSync );
1374 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) ); 1375 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
1375 eventRSync->setCategories( i18n("SyncEvent") ); 1376 eventRSync->setCategories( i18n("SyncEvent") );
1376 } 1377 }
1377 } 1378 }
1378 if ( eventLSync->dtStart() == mLastCalendarSync ) 1379 if ( eventLSync->dtStart() == mLastCalendarSync )
1379 fullDateRange = true; 1380 fullDateRange = true;
1380 1381
1381 if ( ! fullDateRange ) { 1382 if ( ! fullDateRange ) {
1382 if ( eventLSync->dtStart() != eventRSync->dtStart() ) { 1383 if ( eventLSync->dtStart() != eventRSync->dtStart() ) {
1383 1384
1384 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() ); 1385 qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() );
1385 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec()); 1386 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec());
1386 fullDateRange = true; 1387 fullDateRange = true;
1387 } 1388 }
1388 } 1389 }
1389 if ( mSyncManager->syncWithDesktop() ) { 1390 if ( mSyncManager->syncWithDesktop() ) {
1390 fullDateRange = ( eventLSync->dtStart() <= mLastCalendarSync && eventLSync->dtStart().addSecs(1) >= mLastCalendarSync ); 1391 fullDateRange = ( eventLSync->dtStart() <= mLastCalendarSync && eventLSync->dtStart().addSecs(1) >= mLastCalendarSync );
1391 } 1392 }
1392 if ( fullDateRange ) 1393 if ( fullDateRange )
1393 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365); 1394 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365);
1394 else 1395 else
1395 mLastCalendarSync = eventLSync->dtStart(); 1396 mLastCalendarSync = eventLSync->dtStart();
1396 // for resyncing if own file has changed 1397 // for resyncing if own file has changed
1397 if ( mCurrentSyncDevice == "deleteaftersync" ) { 1398 if ( mCurrentSyncDevice == "deleteaftersync" ) {
1398 mLastCalendarSync = loadedFileVersion; 1399 mLastCalendarSync = loadedFileVersion;
1399 //qDebug("setting mLastCalendarSync "); 1400 //qDebug("setting mLastCalendarSync ");
1400 } 1401 }
1401 //qDebug("*************************** "); 1402 //qDebug("*************************** ");
1402 qDebug("KO: mLastCalendarSync %s .Full: %d",mLastCalendarSync.toString().latin1(), fullDateRange); 1403 qDebug("KO: mLastCalendarSync %s .Full: %d",mLastCalendarSync.toString().latin1(), fullDateRange);
1403 QPtrList<Incidence> er = remote->rawIncidences(); 1404 QPtrList<Incidence> er = remote->rawIncidences();
1404 Incidence* inR = er.first(); 1405 Incidence* inR = er.first();
1405 Incidence* inL; 1406 Incidence* inL;
1406 QProgressBar bar( er.count(),0 ); 1407 QProgressBar bar( er.count(),0 );
1407 bar.setCaption (i18n("Syncing - close to abort!") ); 1408 bar.setCaption (i18n("Syncing - close to abort!") );
1408 1409