-rw-r--r-- | korganizer/calendarview.cpp | 15 | ||||
-rw-r--r-- | libkcal/event.cpp | 1 |
2 files changed, 12 insertions, 4 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 94cc97d..ce41fbd 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -1015,3 +1015,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int skipIncidence = true; - + QString idS; qApp->processEvents(); @@ -1028,3 +1028,6 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int if ( take == 1 ) {// take local - inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); + if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) + inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); + else + idS = inR->IDStr(); remote->deleteIncidence( inR ); @@ -1034,2 +1037,4 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); + if ( mGlobalSyncMode != SYNC_MODE_EXTERNAL ) + inR->setIDStr( idS ); remote->addIncidence( inR ); @@ -1039,4 +1044,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inR->setRevision( maxrev ); + idS = inL->IDStr(); local->deleteIncidence( inL ); - local->addIncidence( inR->clone() ); + inL = inR->clone(); + inL->setIDStr( idS ); + local->addIncidence( inL ); ++changedLocal; @@ -1102,2 +1110,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { + checkExternSyncEvent(eventLSyncSharp, inL); local->deleteIncidence( inL ); diff --git a/libkcal/event.cpp b/libkcal/event.cpp index dd67252..dfa265b 100644 --- a/libkcal/event.cpp +++ b/libkcal/event.cpp @@ -46,3 +46,2 @@ Incidence *Event::clone() { - kdDebug(5800) << "Event::clone()" << endl; return new Event(*this); |