summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt6
-rw-r--r--korganizer/calendarview.cpp6
2 files changed, 9 insertions, 3 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 8fab725..2ce78c7 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -17,2 +17,3 @@ Now pi-sync behaviour should be:
3) Local syncs with data, adds new entries to default calendar and sends file back ( as usual ).
+ If the data which local receives contains entries which are on disabled calendars on local this entries are updated and not added as duplicates to the default calendar.
4) Remote updates the data and adds new entries to default calendar. Readonly entries are not changed on remote.
@@ -20,3 +21,6 @@ Now pi-sync behaviour should be:
-Summary: If you have different calendars on remote and local and some of them disabled you may get some "strange" bahaviour.
+Summary:
+No new item ( new created after the last sync ) in a disabled calendar is propagated to the sync partner. Readonly items are synced and added/changed on the sync partner if it is not readonly on the sync partner.
+If you have different calendars on remote and local and some of them disabled you may get some "strange" bahaviour.
+Well, the syncing has become quite complicated ... you should have no problems if you enable all calendars.
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index a350c3b..7044e90 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1443,3 +1443,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
if ( !skipIncidence ) {
- inL = local->incidence( uid );
+ inL = local->incidenceForUid( uid , false );
if ( inL ) { // maybe conflict - same uid in both calendars
@@ -1466,2 +1466,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
} else {// take remote **********************
+ if ( !inL->isReadOnly() ) {
idS = inL->IDStr();
@@ -1483,2 +1484,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
}
+ }
} else { // no conflict ********** add or delete remote
@@ -1551,3 +1553,3 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
if ( !skipIncidence ) {
- inR = remote->incidence( uid );
+ inR = remote->incidenceForUid( uid , true );
if ( ! inR ) {