summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp53
-rw-r--r--korganizer/koprefs.h1
-rw-r--r--korganizer/mainwindow.cpp6
-rw-r--r--libkcal/phoneformat.cpp15
4 files changed, 55 insertions, 20 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index db07713..cfd9290 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -731,2 +731,4 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) );
+ if ( remCh )
+ qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() );
locCh = ( local->lastModified() > mLastCalendarSync );
@@ -734,3 +736,3 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
if ( !remCh && ! locCh ) {
- //qDebug("both not changed ");
+ qDebug("both not changed ");
lastSync = local->lastModified().addDays(1);
@@ -738,3 +740,3 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
if ( locCh ) {
- //qDebug("loc changed %d %d", local->zaurusStat(), local->revision() );
+ qDebug("loc changed %d", local->revision() );
lastSync = local->lastModified().addDays( -1 );
@@ -743,3 +745,3 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
} else {
- //qDebug(" not loc changed ");
+ qDebug(" not loc changed ");
lastSync = local->lastModified().addDays( 1 );
@@ -786,2 +788,4 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
bool localIsNew;
+ qDebug("mLastCalendarSync %s lastsync %s --- local %s remote %s ",mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() );
+
if ( full && mode < SYNC_PREF_NEWEST )
@@ -817,3 +821,3 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
//qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), local->lastModified().toString().latin1(), remote->lastModified().toString().latin1() );
- localIsNew = local->lastModified() > remote->lastModified();
+ localIsNew = local->lastModified() >= remote->lastModified();
if ( localIsNew )
@@ -944,2 +948,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
QDateTime modifiedCalendar = mLastCalendarSync;;
+ eventLSync = getLastSyncEvent();
eventR = remote->event("last-syncEvent-"+mCurrentSyncName );
@@ -950,11 +955,14 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
} else {
- fullDateRange = true;
- eventRSync = new Event();
- eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event"));
- eventRSync->setUid("last-syncEvent-"+mCurrentSyncName );
- eventRSync->setDtStart( mLastCalendarSync );
- eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
- eventRSync->setCategories( i18n("SyncEvent") );
+ if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
+ eventRSync = (Event*)eventLSync->clone();
+ } else {
+ fullDateRange = true;
+ eventRSync = new Event();
+ eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event"));
+ eventRSync->setUid("last-syncEvent-"+mCurrentSyncName );
+ eventRSync->setDtStart( mLastCalendarSync );
+ eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
+ eventRSync->setCategories( i18n("SyncEvent") );
+ }
}
- eventLSync = getLastSyncEvent();
if ( eventLSync->dtStart() == mLastCalendarSync )
@@ -1118,3 +1126,22 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
}
-
+ if ( KOPrefs::instance()->mWriteBackInFuture ) {
+ er = remote->rawIncidences();
+ inR = er.first();
+ QDateTime dt;
+ QDateTime cur = QDateTime::currentDateTime();
+ QDateTime end = cur.addSecs( KOPrefs::instance()->mWriteBackInFuture * 3600 *24 *7 );
+ while ( inR ) {
+ if ( inR->type() == "Todo" ) {
+ Todo * t = (Todo*)inR;
+ if ( t->hasDueDate() )
+ dt = t->dtDue();
+ else
+ dt = cur.addSecs( 62 );
+ }
+ else dt = inR->dtStart();
+ if ( dt < cur || dt > end )
+ remote->deleteIncidence( inR );
+ inR = er.next();
+ }
+ }
bar.hide();
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index 446fe2e..a9ac52f 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -201,2 +201,3 @@ class KOPrefs : public KPimPrefs
bool mWriteBackFile;
+ int mWriteBackInFuture;
bool mAskForPreferences;
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index d8aa43a..aa30b52 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -916,2 +916,5 @@ int MainWindow::ringSync()
KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting();
+ KOPrefs::instance()->mWriteBackInFuture = 0;
+ if ( temp->getWriteBackFuture() )
+ KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
KOPrefs::instance()->mShowSyncSummary = false;
@@ -1019,2 +1022,5 @@ void MainWindow::slotSyncMenu( int action )
KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting();
+ KOPrefs::instance()->mWriteBackInFuture = 0;
+ if ( temp->getWriteBackFuture() )
+ KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync();
diff --git a/libkcal/phoneformat.cpp b/libkcal/phoneformat.cpp
index ef69bce..6d0da5c 100644
--- a/libkcal/phoneformat.cpp
+++ b/libkcal/phoneformat.cpp
@@ -277,4 +277,2 @@ ulong PhoneFormat::getCsum( const QStringList & attList)
}
- if ( i == 0 )
- qDebug("csum: i == 0 %d ", cSum);
@@ -469,3 +467,2 @@ void PhoneFormat::afterSave( Incidence* inc)
inc->removeID( mProfileName );
-#if 0
if ( inc->type() == "Event")
@@ -475,3 +472,3 @@ void PhoneFormat::afterSave( Incidence* inc)
inc->setCsum( mProfileName, QString::number( csum ));
-#endif
+
inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
@@ -516,3 +513,7 @@ bool PhoneFormat::save( Calendar *calendar)
calendar->deleteTodo( to );
- }
+ } else {
+ if ( to->isCompleted()) {
+ calendar->deleteTodo( to );
+ }
+ }
to = tl.next();
@@ -565,3 +566,3 @@ bool PhoneFormat::save( Calendar *calendar)
QString cSum = QString::number( csum );
- ev->setCsum( mProfileName, cSum );
+ //ev->setCsum( mProfileName, cSum );
//qDebug("Event cSum %s ", cSum.latin1());
@@ -601,3 +602,3 @@ bool PhoneFormat::save( Calendar *calendar)
QString cSum = QString::number( csum );
- to->setCsum( mProfileName, cSum );
+ //to->setCsum( mProfileName, cSum );
qDebug("Todo cSum %s ", cSum.latin1());