-rw-r--r-- | korganizer/calendarview.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index cfd9290..d5d31e2 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -1126,2 +1126,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int } + int delFut = 0; if ( KOPrefs::instance()->mWriteBackInFuture ) { @@ -1140,5 +1141,14 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int } - else dt = inR->dtStart(); - if ( dt < cur || dt > end ) + else if (inR->type() == "Event" ) { + bool ok; + dt = inR->getNextOccurence( cur, &ok ); + if ( !ok ) + dt = cur.addSecs( -62 ); + } + else + dt = inR->dtStart(); + if ( dt < cur || dt > end ) { remote->deleteIncidence( inR ); + ++delFut; + } inR = er.next(); @@ -1160,2 +1170,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int 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 ); + QString delmess; + if ( delFut ) { + delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are in the past or\nmore than %d weeks in the future.\n"),delFut, KOPrefs::instance()->mWriteBackInFuture ); + mes += delmess; + } if ( KOPrefs::instance()->mShowSyncSummary ) { @@ -1247,8 +1262,6 @@ void CalendarView::syncExternal( int mode ) Incidence* inc = iL.first(); - /* obsolete while ( inc ) { - inc->setZaurusStat( inc->revision () ); + inc->removeID(mCurrentSyncDevice); inc = iL.next(); } - */ #ifndef DESKTOP_VERSION |