-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 @@ -2869,8 +2869,8 @@ int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, i break; case SYNC_PREF_REMOTE: - if ( lastSync > remoteMod ) - return 1; if ( lastSync > localMod ) return 2; + if ( lastSync > remoteMod ) + return 1; return 2; break; @@ -2883,4 +2883,6 @@ int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, i 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; diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 76cce26..00ef145 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -817,4 +817,12 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b //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; @@ -829,12 +837,12 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b 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 @@ -843,4 +851,6 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b 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; |