summaryrefslogtreecommitdiffabout
Unidiff
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
@@ -15,10 +15,14 @@ Now pi-sync behaviour should be:
151) Local sends file request ( as usual ) 151) Local sends file request ( as usual )
162) Remote sends file which contains data of all enabled ( the calendar where the "eye" column is checked ) calendars. 162) Remote sends file which contains data of all enabled ( the calendar where the "eye" column is checked ) calendars.
173) Local syncs with data, adds new entries to default calendar and sends file back ( as usual ). 173) Local syncs with data, adds new entries to default calendar and sends file back ( as usual ).
18 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.
184) Remote updates the data and adds new entries to default calendar. Readonly entries are not changed on remote. 194) Remote updates the data and adds new entries to default calendar. Readonly entries are not changed on remote.
19 If the data which remote receives contains entries which are on disabled calendars on remote this entries are updated and not added as duplicates to the default calendar. 20 If the data which remote receives contains entries which are on disabled calendars on remote this entries are updated and not added as duplicates to the default calendar.
20 21
21Summary: If you have different calendars on remote and local and some of them disabled you may get some "strange" bahaviour. 22Summary:
23No 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.
24If you have different calendars on remote and local and some of them disabled you may get some "strange" bahaviour.
25Well, the syncing has become quite complicated ... you should have no problems if you enable all calendars.
22 26
23********** VERSION 2.1.13 ************ 27********** VERSION 2.1.13 ************
24 28
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index a350c3b..7044e90 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1441,7 +1441,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1441 QString idS; 1441 QString idS;
1442 qApp->processEvents(); 1442 qApp->processEvents();
1443 if ( !skipIncidence ) { 1443 if ( !skipIncidence ) {
1444 inL = local->incidence( uid ); 1444 inL = local->incidenceForUid( uid , false );
1445 if ( inL ) { // maybe conflict - same uid in both calendars 1445 if ( inL ) { // maybe conflict - same uid in both calendars
1446 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) { 1446 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) {
1447 //qDebug("take %d %s ", take, inL->summary().latin1()); 1447 //qDebug("take %d %s ", take, inL->summary().latin1());
@@ -1464,6 +1464,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1464 inR->setPilotId( 2 ); 1464 inR->setPilotId( 2 );
1465 ++changedRemote; 1465 ++changedRemote;
1466 } else {// take remote ********************** 1466 } else {// take remote **********************
1467 if ( !inL->isReadOnly() ) {
1467 idS = inL->IDStr(); 1468 idS = inL->IDStr();
1468 int pid = inL->pilotId(); 1469 int pid = inL->pilotId();
1469 int calID = inL->calID(); 1470 int calID = inL->calID();
@@ -1481,6 +1482,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1481 ++changedLocal; 1482 ++changedLocal;
1482 } 1483 }
1483 } 1484 }
1485 }
1484 } else { // no conflict ********** add or delete remote 1486 } else { // no conflict ********** add or delete remote
1485 if ( !filterIN || filterIN->filterCalendarItem( inR ) ){ 1487 if ( !filterIN || filterIN->filterCalendarItem( inR ) ){
1486 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1488 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
@@ -1549,7 +1551,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1549 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->typeID() == journalID ) 1551 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->typeID() == journalID )
1550 skipIncidence = true; 1552 skipIncidence = true;
1551 if ( !skipIncidence ) { 1553 if ( !skipIncidence ) {
1552 inR = remote->incidence( uid ); 1554 inR = remote->incidenceForUid( uid , true );
1553 if ( ! inR ) { 1555 if ( ! inR ) {
1554 if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){ 1556 if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){
1555 // no conflict ********** add or delete local 1557 // no conflict ********** add or delete local