-rw-r--r-- | kaddressbook/kabcore.cpp | 6 | ||||
-rw-r--r-- | korganizer/calendarview.cpp | 16 |
2 files changed, 17 insertions, 5 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index eba74a6..20b107e 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -2868,10 +2868,10 @@ int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, i return 1; break; case SYNC_PREF_REMOTE: - if ( lastSync > remoteMod ) - return 1; if ( lastSync > localMod ) return 2; + if ( lastSync > remoteMod ) + return 1; return 2; break; case SYNC_PREF_NEWEST: @@ -2882,6 +2882,8 @@ int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, i break; case SYNC_PREF_ASK: //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); + if ( lastSync > remoteMod && lastSync > localMod) + return 0; if ( lastSync > remoteMod ) return 1; if ( lastSync > localMod ) { diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 76cce26..00ef145 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -816,6 +816,14 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b bool localIsNew; //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , localMod.toString().latin1() , remoteMod.toString().latin1() ); + + // ************************************************ + // ************************************************ + // ************************************************ + // We may have that lastSync > remoteMod AND lastSync > localMod + // BUT remoteMod != localMod + + if ( full && mode < SYNC_PREF_NEWEST ) mode = SYNC_PREF_ASK; @@ -828,20 +836,22 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b return 1; break; case SYNC_PREF_REMOTE: - if ( lastSync > remoteMod ) - return 1; if ( lastSync > localMod ) return 2; + if ( lastSync > remoteMod ) + return 1; return 2; break; case SYNC_PREF_NEWEST: - if ( localMod > remoteMod ) + if ( localMod >= remoteMod ) return 1; else return 2; break; case SYNC_PREF_ASK: //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); + if ( lastSync > remoteMod && lastSync > localMod) + return 0; if ( lastSync > remoteMod ) return 1; if ( lastSync > localMod ) |