summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile30
-rw-r--r--korganizer/calendarview.cpp47
-rw-r--r--libkcal/sharpformat.cpp15
-rw-r--r--libkcal/syncdefines.h22
-rw-r--r--libkdepim/ksyncprofile.h10
5 files changed, 62 insertions, 62 deletions
diff --git a/Makefile b/Makefile
index 826e70e..19c57e5 100644
--- a/Makefile
+++ b/Makefile
@@ -26,19 +26,13 @@ SUBDIRS_MICROKDE = \
26 kaddressbook 26 kaddressbook
27 27
28SUBDIRS_QTOPIA_PLUGIN = \ 28SUBDIRS_QTOPIA_PLUGIN = \
29 kabc/converter/qtopia \ 29 kabc/plugins/qtopia
30 kabc/plugins/qtopia \
31 kaddressbook/xxport/qtopia
32 30
33SUBDIRS_OPIE_PLUGIN = \ 31SUBDIRS_OPIE_PLUGIN = \
34 kabc/converter/opie \ 32 kabc/plugins/opie
35 kabc/plugins/opie \
36 kaddressbook/xxport/opie
37 33
38SUBDIRS_SHARP_PLUGIN = \ 34SUBDIRS_SHARP_PLUGIN = \
39 kabc/converter/sharpdtm \ 35 kabc/plugins/sharpdtm
40 kabc/plugins/sharpdtm \
41 kaddressbook/xxport/sharpdtm
42 36
43SUBDIRS_LDAP_PLUGIN = \ 37SUBDIRS_LDAP_PLUGIN = \
44 kabc/plugins/ldap 38 kabc/plugins/ldap
@@ -148,10 +142,10 @@ variable_test: variable_info
148 ifdef BUILD_NO_SHARP_PLUGIN 142 ifdef BUILD_NO_SHARP_PLUGIN
149 @echo SHARP PLUGIN will not be build, because BUILD_NO_SHARP_PLUGIN is set to $(BUILD_NO_SHARP_PLUGIN) 143 @echo SHARP PLUGIN will not be build, because BUILD_NO_SHARP_PLUGIN is set to $(BUILD_NO_SHARP_PLUGIN)
150 else 144 else
151 ifndef SHARPDTMSDK 145 ifndef SHARPDTMSDK
152 @echo SHARP PLUGIN can not be build, because SHARPDTMSDK is set to $(SHARPDTMSDK) 146 @echo SHARP PLUGIN can not be build, because SHARPDTMSDK is set to $(SHARPDTMSDK)
153 $(error SHARPDTMSDK is not defined) 147 $(error SHARPDTMSDK is not defined)
154 endif 148 endif
155 endif 149 endif
156 @echo -------------------------------------- 150 @echo --------------------------------------
157 151
@@ -196,9 +190,6 @@ tmake: objects \
196 libical/src/libical/Makefile$(PLATFORM) \ 190 libical/src/libical/Makefile$(PLATFORM) \
197 libical/src/libicalss/Makefile$(PLATFORM) \ 191 libical/src/libicalss/Makefile$(PLATFORM) \
198 kabc/Makefile$(PLATFORM) \ 192 kabc/Makefile$(PLATFORM) \
199 kabc/converter/opie/Makefile$(PLATFORM) \
200 kabc/converter/qtopia/Makefile$(PLATFORM) \
201 kabc/converter/sharpdtm/Makefile$(PLATFORM) \
202 kabc/formats/binary/Makefile$(PLATFORM) \ 193 kabc/formats/binary/Makefile$(PLATFORM) \
203 kabc/plugins/file/Makefile$(PLATFORM) \ 194 kabc/plugins/file/Makefile$(PLATFORM) \
204 kabc/plugins/dir/Makefile$(PLATFORM) \ 195 kabc/plugins/dir/Makefile$(PLATFORM) \
@@ -213,7 +204,6 @@ tmake: objects \
213 kmicromail/Makefile$(PLATFORM) \ 204 kmicromail/Makefile$(PLATFORM) \
214 kmicromail/libetpan/Makefile$(PLATFORM) \ 205 kmicromail/libetpan/Makefile$(PLATFORM) \
215 kmicromail/libmailwrapper/Makefile$(PLATFORM) 206 kmicromail/libmailwrapper/Makefile$(PLATFORM)
216
217 207
218 208
219 209
@@ -245,16 +235,6 @@ libical/src/libicalss/Makefile$(PLATFORM): libical/src/libicalss/libicalssE.pro
245kabc/Makefile$(PLATFORM): kabc/kabcE.pro 235kabc/Makefile$(PLATFORM): kabc/kabcE.pro
246 cd kabc; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcE.pro -o Makefile$(PLATFORM) 236 cd kabc; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcE.pro -o Makefile$(PLATFORM)
247 237
248kabc/converter/opie/Makefile$(PLATFORM): kabc/converter/opie/opieE.pro
249 cd kabc/converter/opie; tmake "CONFIG+=$(RELEASE_DEBUG)" opieE.pro -o Makefile$(PLATFORM)
250
251kabc/converter/qtopia/Makefile$(PLATFORM): kabc/converter/qtopia/qtopiaE.pro
252 cd kabc/converter/qtopia; tmake "CONFIG+=$(RELEASE_DEBUG)" qtopiaE.pro -o Makefile$(PLATFORM)
253
254kabc/converter/sharpdtm/Makefile$(PLATFORM): kabc/converter/sharpdtm/sharpdtmE.pro
255 cd kabc/converter/sharpdtm; tmake "CONFIG+=$(RELEASE_DEBUG)" sharpdtmE.pro -o Makefile$(PLATFORM)
256
257
258kabc/formats/binary/Makefile$(PLATFORM): kabc/formats/binary/kabcformat_binaryE.pro 238kabc/formats/binary/Makefile$(PLATFORM): kabc/formats/binary/kabcformat_binaryE.pro
259 cd kabc/formats/binary; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcformat_binaryE.pro -o Makefile$(PLATFORM) 239 cd kabc/formats/binary; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcformat_binaryE.pro -o Makefile$(PLATFORM)
260 240
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 58b3d70..fd68dc4 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -129,9 +129,7 @@ using namespace KCal;
129extern int globalFlagBlockAgenda; 129extern int globalFlagBlockAgenda;
130extern int globalFlagBlockStartup; 130extern int globalFlagBlockStartup;
131 131
132#define SYNC_MODE_NORMAL 0 132
133#define SYNC_MODE_SHARP 1
134#define SYNC_MODE_QTOPIA 2
135 133
136class KOBeamPrefs : public QDialog 134class KOBeamPrefs : public QDialog
137{ 135{
@@ -727,10 +725,10 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
727 // 2 take remote 725 // 2 take remote
728 // 3 cancel 726 // 3 cancel
729 QDateTime lastSync = mLastCalendarSync; 727 QDateTime lastSync = mLastCalendarSync;
730 if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { 728 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
731 bool remCh, locCh; 729 bool remCh, locCh;
732 remCh = ( remote->zaurusUid() != local->zaurusUid() ); 730 remCh = ( remote->zaurusUid() != local->zaurusUid() );
733 locCh = ( local->zaurusStat() != local->revision() ); 731 locCh = ( local->lastModified() > mLastCalendarSync );
734 //qDebug("locCh %d remCh %d locuid %d remuid %d", locCh, remCh,local->zaurusUid(), remote->zaurusUid() ); 732 //qDebug("locCh %d remCh %d locuid %d remuid %d", locCh, remCh,local->zaurusUid(), remote->zaurusUid() );
735 if ( !remCh && ! locCh ) { 733 if ( !remCh && ! locCh ) {
736 //qDebug("both not changed "); 734 //qDebug("both not changed ");
@@ -750,8 +748,8 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
750 } 748 }
751 } 749 }
752 full = true; 750 full = true;
753 if ( mode < 3 ) 751 if ( mode < SYNC_PREF_ASK )
754 mode = 3; 752 mode = SYNC_PREF_ASK;
755 } else { 753 } else {
756 if ( local->lastModified() == remote->lastModified() ) 754 if ( local->lastModified() == remote->lastModified() )
757 if ( local->revision() == remote->revision() ) 755 if ( local->revision() == remote->revision() )
@@ -774,10 +772,10 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
774 equ = (*((Journal*) local) == *((Journal*) remote)); 772 equ = (*((Journal*) local) == *((Journal*) remote));
775 if ( equ ) { 773 if ( equ ) {
776 //qDebug("equal "); 774 //qDebug("equal ");
777 if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { 775 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
778 local->setZaurusUid( remote->zaurusUid() ); 776 local->setZaurusUid( remote->zaurusUid() );
779 } 777 }
780 if ( mode < 4 ) 778 if ( mode < SYNC_PREF_FORCE_LOCAL )
781 return 0; 779 return 0;
782 780
783 }//else //debug only 781 }//else //debug only
@@ -785,31 +783,31 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
785 } 783 }
786 int result; 784 int result;
787 bool localIsNew; 785 bool localIsNew;
788 if ( full && mode < 2 ) 786 if ( full && mode < SYNC_PREF_NEWEST )
789 mode = 3; 787 mode = SYNC_PREF_ASK;
790 788
791 switch( mode ) { 789 switch( mode ) {
792 case 0: 790 case SYNC_PREF_LOCAL:
793 if ( lastSync > remote->lastModified() ) 791 if ( lastSync > remote->lastModified() )
794 return 1; 792 return 1;
795 if ( lastSync > local->lastModified() ) 793 if ( lastSync > local->lastModified() )
796 return 2; 794 return 2;
797 return 1; 795 return 1;
798 break; 796 break;
799 case 1: 797 case SYNC_PREF_REMOTE:
800 if ( lastSync > remote->lastModified() ) 798 if ( lastSync > remote->lastModified() )
801 return 1; 799 return 1;
802 if ( lastSync > local->lastModified() ) 800 if ( lastSync > local->lastModified() )
803 return 2; 801 return 2;
804 return 2; 802 return 2;
805 break; 803 break;
806 case 2: 804 case SYNC_PREF_NEWEST:
807 if ( local->lastModified() > remote->lastModified() ) 805 if ( local->lastModified() > remote->lastModified() )
808 return 1; 806 return 1;
809 else 807 else
810 return 2; 808 return 2;
811 break; 809 break;
812 case 3: 810 case SYNC_PREF_ASK:
813 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), local->lastModified().toString().latin1(), remote->lastModified().toString().latin1() ); 811 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), local->lastModified().toString().latin1(), remote->lastModified().toString().latin1() );
814 if ( lastSync > remote->lastModified() ) 812 if ( lastSync > remote->lastModified() )
815 return 1; 813 return 1;
@@ -835,14 +833,15 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
835 return result; 833 return result;
836 834
837 break; 835 break;
838 case 4: 836 case SYNC_PREF_FORCE_LOCAL:
839 return 1; 837 return 1;
840 break; 838 break;
841 case 5: 839 case SYNC_PREF_FORCE_REMOTE:
842 return 2; 840 return 2;
843 break; 841 break;
844 842
845 default: 843 default:
844 // SYNC_PREF_TAKE_BOTH not implemented
846 break; 845 break;
847 } 846 }
848 return 0; 847 return 0;
@@ -996,13 +995,13 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
996 } 995 }
997 } 996 }
998 } else { // no conflict 997 } else { // no conflict
999 if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { 998 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1000 QString des = eventLSync->description(); 999 QString des = eventLSync->description();
1001 QString pref = "e"; 1000 QString pref = "e";
1002 if ( inR->type() == "Todo" ) 1001 if ( inR->type() == "Todo" )
1003 pref = "t"; 1002 pref = "t";
1004 if ( des.find(pref+QString::number( inR->zaurusId() ) +"," ) >= 0 && mode != 5) { // delete it 1003 if ( des.find(pref+QString::number( inR->zaurusId() ) +"," ) >= 0 && mode != 5) { // delete it
1005 inR->setZaurusStat( -3 ); 1004 inR->setZaurusStat( SYNC_TEMPSTATE_DELETE );
1006 //remote->deleteIncidence( inR ); 1005 //remote->deleteIncidence( inR );
1007 ++deletedEventR; 1006 ++deletedEventR;
1008 } else { 1007 } else {
@@ -1045,12 +1044,12 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1045 bool skipIncidence = false; 1044 bool skipIncidence = false;
1046 if ( uid.left(21) == QString("last-syncEvent-device") ) 1045 if ( uid.left(21) == QString("last-syncEvent-device") )
1047 skipIncidence = true; 1046 skipIncidence = true;
1048 if ( mGlobalSyncMode == SYNC_MODE_SHARP && inL->type() == "Journal" ) 1047 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" )
1049 skipIncidence = true; 1048 skipIncidence = true;
1050 if ( !skipIncidence ) { 1049 if ( !skipIncidence ) {
1051 inR = remote->incidence( uid ); 1050 inR = remote->incidence( uid );
1052 if ( ! inR ) { 1051 if ( ! inR ) {
1053 if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { 1052 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1054 if ( inL->zaurusId() >= 0 && mode != 4 ) { 1053 if ( inL->zaurusId() >= 0 && mode != 4 ) {
1055 local->deleteIncidence( inL ); 1054 local->deleteIncidence( inL );
1056 ++deletedEventL; 1055 ++deletedEventL;
@@ -1141,7 +1140,7 @@ bool CalendarView::syncCalendar(QString filename, int mode)
1141void CalendarView::syncSharp() 1140void CalendarView::syncSharp()
1142{ 1141{
1143#ifndef DESKTOP_VERSION 1142#ifndef DESKTOP_VERSION
1144 mGlobalSyncMode = SYNC_MODE_SHARP; 1143 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
1145 //mCurrentSyncDevice = "sharp-DTM"; 1144 //mCurrentSyncDevice = "sharp-DTM";
1146 if ( KOPrefs::instance()->mAskForPreferences ) 1145 if ( KOPrefs::instance()->mAskForPreferences )
1147 edit_sync_options(); 1146 edit_sync_options();
@@ -1160,17 +1159,19 @@ void CalendarView::syncSharp()
1160 { 1159 {
1161 QPtrList<Incidence> iL = mCalendar->rawIncidences(); 1160 QPtrList<Incidence> iL = mCalendar->rawIncidences();
1162 Incidence* inc = iL.first(); 1161 Incidence* inc = iL.first();
1162 /* obsolete
1163 while ( inc ) { 1163 while ( inc ) {
1164 inc->setZaurusStat( inc->revision () ); 1164 inc->setZaurusStat( inc->revision () );
1165 inc = iL.next(); 1165 inc = iL.next();
1166 } 1166 }
1167 */
1167 // pending: clean last sync event description 1168 // pending: clean last sync event description
1168 sharpFormat.save(calendar); 1169 sharpFormat.save(calendar);
1169 iL = calendar->rawIncidences(); 1170 iL = calendar->rawIncidences();
1170 inc = iL.first(); 1171 inc = iL.first();
1171 Incidence* loc; 1172 Incidence* loc;
1172 while ( inc ) { 1173 while ( inc ) {
1173 if ( inc->zaurusStat() == -4 ) { 1174 if ( inc->zaurusStat() == SYNC_TEMPSTATE_NEW_ID ) {
1174 loc = mCalendar->incidence(inc->uid() ); 1175 loc = mCalendar->incidence(inc->uid() );
1175 if ( loc ) { 1176 if ( loc ) {
1176 loc->setZaurusId( inc->zaurusId() ); 1177 loc->setZaurusId( inc->zaurusId() );
diff --git a/libkcal/sharpformat.cpp b/libkcal/sharpformat.cpp
index f83f72e..973f19d 100644
--- a/libkcal/sharpformat.cpp
+++ b/libkcal/sharpformat.cpp
@@ -42,6 +42,7 @@
42#include "calendarlocal.h" 42#include "calendarlocal.h"
43 43
44#include "sharpformat.h" 44#include "sharpformat.h"
45#include "syncdefines.h"
45 46
46using namespace KCal; 47using namespace KCal;
47 48
@@ -91,7 +92,7 @@ class SharpParser : public QObject
91 event = new Event; 92 event = new Event;
92 event->setZaurusId( attList[0].toInt() ); 93 event->setZaurusId( attList[0].toInt() );
93 event->setZaurusUid( cSum ); 94 event->setZaurusUid( cSum );
94 event->setZaurusStat( -2 ); 95 event->setZaurusStat(SYNC_TEMPSTATE_NEW_EXTERNAL );
95 96
96 event->setSummary( attList[2] ); 97 event->setSummary( attList[2] );
97 event->setLocation( attList[3] ); 98 event->setLocation( attList[3] );
@@ -202,7 +203,7 @@ class SharpParser : public QObject
202 203
203 todo->setZaurusId( attList[0].toInt() ); 204 todo->setZaurusId( attList[0].toInt() );
204 todo->setZaurusUid( cSum ); 205 todo->setZaurusUid( cSum );
205 todo->setZaurusStat( -2 ); 206 todo->setZaurusStat( SYNC_TEMPSTATE_NEW_EXTERNAL );
206 207
207 todo->setSummary( attList[7] ); 208 todo->setSummary( attList[7] );
208 todo->setDescription( attList[8]); 209 todo->setDescription( attList[8]);
@@ -467,7 +468,7 @@ int SharpFormat::getNumFromRecord( QString answer, Incidence* inc )
467 retval = newnum; 468 retval = newnum;
468 inc->setZaurusId( newnum ); 469 inc->setZaurusId( newnum );
469 inc->setZaurusUid( getCsum( templist ) ); 470 inc->setZaurusUid( getCsum( templist ) );
470 inc->setZaurusStat( -4 ); 471 inc->setZaurusStat( SYNC_TEMPSTATE_NEW_ID );
471 } 472 }
472 } 473 }
473 } 474 }
@@ -506,11 +507,11 @@ bool SharpFormat::save( Calendar *calendar)
506 int procCount = 0; 507 int procCount = 0;
507 while ( ev ) { 508 while ( ev ) {
508 //qDebug("i %d ", ++i); 509 //qDebug("i %d ", ++i);
509 if ( ev->zaurusStat() != -2 ) { 510 if ( ev->zaurusStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) {
510 status.setText ( message + QString::number ( ++procCount ) ); 511 status.setText ( message + QString::number ( ++procCount ) );
511 qApp->processEvents(); 512 qApp->processEvents();
512 QString eString = getEventString( ev ); 513 QString eString = getEventString( ev );
513 if ( ev->zaurusStat() == -3 ) { // delete 514 if ( ev->zaurusStat() == SYNC_TEMPSTATE_DELETE ) { // delete
514 // deleting empty strings does not work. 515 // deleting empty strings does not work.
515 // we write first and x and then delete the record with the x 516 // we write first and x and then delete the record with the x
516 eString = eString.replace( QRegExp(",\"\""),",\"x\"" ); 517 eString = eString.replace( QRegExp(",\"\""),",\"x\"" );
@@ -592,11 +593,11 @@ bool SharpFormat::save( Calendar *calendar)
592 message = i18n("Processing todo # "); 593 message = i18n("Processing todo # ");
593 procCount = 0; 594 procCount = 0;
594 while ( to ) { 595 while ( to ) {
595 if ( to->zaurusStat() != -2 ) { 596 if ( to->zaurusStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) {
596 status.setText ( message + QString::number ( ++procCount ) ); 597 status.setText ( message + QString::number ( ++procCount ) );
597 qApp->processEvents(); 598 qApp->processEvents();
598 QString eString = getTodoString( to ); 599 QString eString = getTodoString( to );
599 if ( to->zaurusStat() == -3 ) { // delete 600 if ( to->zaurusStat() == SYNC_TEMPSTATE_DELETE ) { // delete
600 // deleting empty strings does not work. 601 // deleting empty strings does not work.
601 // we write first and x and then delete the record with the x 602 // we write first and x and then delete the record with the x
602 eString = eString.replace( QRegExp(",\"\""),",\"x\"" ); 603 eString = eString.replace( QRegExp(",\"\""),",\"x\"" );
diff --git a/libkcal/syncdefines.h b/libkcal/syncdefines.h
new file mode 100644
index 0000000..57642ec
--- a/dev/null
+++ b/libkcal/syncdefines.h
@@ -0,0 +1,22 @@
1
2#ifndef _KSYNC_DEFINES_H_
3#define _KSYNC_DEFINES_H_
4
5#define SYNC_PREF_LOCAL 0
6#define SYNC_PREF_REMOTE 1
7#define SYNC_PREF_NEWEST 2
8#define SYNC_PREF_ASK 3
9#define SYNC_PREF_FORCE_LOCAL 4
10#define SYNC_PREF_FORCE_REMOTE 5
11#define SYNC_PREF_TAKE_BOTH 6
12
13#define SYNC_MODE_NORMAL 0
14#define SYNC_MODE_EXTERNAL 1
15
16#define SYNC_TEMPSTATE_INITIAL 0
17#define SYNC_TEMPSTATE_NEW_EXTERNAL -2
18#define SYNC_TEMPSTATE_DELETE -3
19#define SYNC_TEMPSTATE_NEW_ID -4
20
21
22#endif
diff --git a/libkdepim/ksyncprofile.h b/libkdepim/ksyncprofile.h
index 238ffad..3f7f1ac 100644
--- a/libkdepim/ksyncprofile.h
+++ b/libkdepim/ksyncprofile.h
@@ -27,13 +27,9 @@
27#include <qobject.h> 27#include <qobject.h>
28#include <qstring.h> 28#include <qstring.h>
29 29
30#define SYNC_PREF_LOCAL 0 30#include <libkcal/syncdefines.h>
31#define SYNC_PREF_REMOTE 1 31
32#define SYNC_PREF_NEWEST 2 32
33#define SYNC_PREF_ASK 3
34#define SYNC_PREF_FORCE_LOCAL 4
35#define SYNC_PREF_FORCE_REMOTE 5
36#define SYNC_PREF_TAKE_BOTH 6
37 33
38class KConfig; 34class KConfig;
39 35