author | zautrix <zautrix> | 2004-08-07 11:30:06 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-08-07 11:30:06 (UTC) |
commit | 835cc1b2c671bf2ab228362cf4ea2e4a04a1d5e5 (patch) (unidiff) | |
tree | 816191299c688a7de051703af11d0ba4f8c8247f | |
parent | 55ad0e5d505055016a0e5032bcc8f9355dfff210 (diff) | |
download | kdepimpi-835cc1b2c671bf2ab228362cf4ea2e4a04a1d5e5.zip kdepimpi-835cc1b2c671bf2ab228362cf4ea2e4a04a1d5e5.tar.gz kdepimpi-835cc1b2c671bf2ab228362cf4ea2e4a04a1d5e5.tar.bz2 |
More sync stuff converted
-rw-r--r-- | korganizer/calendarview.cpp | 20 | ||||
-rw-r--r-- | libkcal/incidencebase.cpp | 96 | ||||
-rw-r--r-- | libkcal/incidencebase.h | 13 | ||||
-rw-r--r-- | libkcal/sharpformat.cpp | 20 |
4 files changed, 45 insertions, 104 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index fab4540..5150455 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -728,5 +728,5 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b | |||
728 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { | 728 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
729 | bool remCh, locCh; | 729 | bool remCh, locCh; |
730 | remCh = ( remote->zaurusUid() != local->zaurusUid() ); | 730 | remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) ); |
731 | locCh = ( local->lastModified() > mLastCalendarSync ); | 731 | locCh = ( local->lastModified() > mLastCalendarSync ); |
732 | //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() ); |
@@ -774,5 +774,5 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b | |||
774 | //qDebug("equal "); | 774 | //qDebug("equal "); |
775 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { | 775 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
776 | local->setZaurusUid( remote->zaurusUid() ); | 776 | local->setCsum( mCurrentSyncDevice, remote->getCsum(mCurrentSyncDevice) ); |
777 | } | 777 | } |
778 | if ( mode < SYNC_PREF_FORCE_LOCAL ) | 778 | if ( mode < SYNC_PREF_FORCE_LOCAL ) |
@@ -896,11 +896,11 @@ void CalendarView::checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* t | |||
896 | 896 | ||
897 | while ( eve ) { | 897 | while ( eve ) { |
898 | int id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name | 898 | QString id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name |
899 | if ( id >= 0 ) { | 899 | if ( !id.isEmpty() ) { |
900 | QString des = eve->description(); | 900 | QString des = eve->description(); |
901 | QString pref = "e"; | 901 | QString pref = "e"; |
902 | if ( toDelete->type() == "Todo" ) | 902 | if ( toDelete->type() == "Todo" ) |
903 | pref = "t"; | 903 | pref = "t"; |
904 | des += pref+ QString::number ( id ) + ","; | 904 | des += pref+ id + ","; |
905 | eve->setReadOnly( false ); | 905 | eve->setReadOnly( false ); |
906 | eve->setDescription( des ); | 906 | eve->setDescription( des ); |
@@ -1014,5 +1014,5 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1014 | return false; | 1014 | return false; |
1015 | if ( take == 1 ) {// take local | 1015 | if ( take == 1 ) {// take local |
1016 | inL->setZaurusUid( inR->zaurusUid() ); | 1016 | inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); |
1017 | remote->deleteIncidence( inR ); | 1017 | remote->deleteIncidence( inR ); |
1018 | if ( inL->revision() < maxrev ) | 1018 | if ( inL->revision() < maxrev ) |
@@ -1034,5 +1034,5 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1034 | if ( inR->type() == "Todo" ) | 1034 | if ( inR->type() == "Todo" ) |
1035 | pref = "t"; | 1035 | pref = "t"; |
1036 | if ( des.find(pref+QString::number( inR->getID(mCurrentSyncDevice) ) +"," ) >= 0 && mode != 5) { // delete it | 1036 | if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it |
1037 | inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE ); | 1037 | inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE ); |
1038 | //remote->deleteIncidence( inR ); | 1038 | //remote->deleteIncidence( inR ); |
@@ -1084,10 +1084,10 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1084 | if ( ! inR ) { | 1084 | if ( ! inR ) { |
1085 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { | 1085 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
1086 | if ( inL->getID(mCurrentSyncDevice) >= 0 && mode != 4 ) { | 1086 | if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { |
1087 | local->deleteIncidence( inL ); | 1087 | local->deleteIncidence( inL ); |
1088 | ++deletedEventL; | 1088 | ++deletedEventL; |
1089 | } else { | 1089 | } else { |
1090 | if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) { | 1090 | if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) { |
1091 | inL->setID(mCurrentSyncDevice, -1 ); | 1091 | inL->removeID(mCurrentSyncDevice ); |
1092 | ++addedEventR; | 1092 | ++addedEventR; |
1093 | inL->setLastModified( modifiedCalendar ); | 1093 | inL->setLastModified( modifiedCalendar ); |
@@ -1209,5 +1209,5 @@ void CalendarView::syncSharp() | |||
1209 | if ( loc ) { | 1209 | if ( loc ) { |
1210 | loc->setID(mCurrentSyncDevice, inc->getID(mCurrentSyncDevice) ); | 1210 | loc->setID(mCurrentSyncDevice, inc->getID(mCurrentSyncDevice) ); |
1211 | loc->setZaurusUid( inc->zaurusUid() ); | 1211 | loc->setCsum( mCurrentSyncDevice, inc->getCsum(mCurrentSyncDevice) ); |
1212 | } | 1212 | } |
1213 | } | 1213 | } |
diff --git a/libkcal/incidencebase.cpp b/libkcal/incidencebase.cpp index 5d8785b..15c4fa8 100644 --- a/libkcal/incidencebase.cpp +++ b/libkcal/incidencebase.cpp | |||
@@ -22,4 +22,5 @@ | |||
22 | #include <klocale.h> | 22 | #include <klocale.h> |
23 | #include <kdebug.h> | 23 | #include <kdebug.h> |
24 | #include <kidmanager.h> | ||
24 | 25 | ||
25 | #include "calformat.h" | 26 | #include "calformat.h" |
@@ -38,6 +39,5 @@ IncidenceBase::IncidenceBase() : | |||
38 | mDuration = 0; | 39 | mDuration = 0; |
39 | mHasDuration = false; | 40 | mHasDuration = false; |
40 | mPilotId = 0; | 41 | mPilotId = 0; |
41 | mZaurusUid = 0; | ||
42 | mExternalId = ":"; | 42 | mExternalId = ":"; |
43 | mTempSyncStat = 0; | 43 | mTempSyncStat = 0; |
@@ -62,5 +62,4 @@ IncidenceBase::IncidenceBase(const IncidenceBase &i) : | |||
62 | mLastModified = i.mLastModified; | 62 | mLastModified = i.mLastModified; |
63 | mPilotId = i.mPilotId; | 63 | mPilotId = i.mPilotId; |
64 | mZaurusUid = i.mZaurusUid; | ||
65 | mTempSyncStat = i.mTempSyncStat; | 64 | mTempSyncStat = i.mTempSyncStat; |
66 | mSyncStatus = i.mSyncStatus; | 65 | mSyncStatus = i.mSyncStatus; |
@@ -342,14 +341,4 @@ int IncidenceBase::pilotId() const | |||
342 | } | 341 | } |
343 | 342 | ||
344 | int IncidenceBase::zaurusUid() const | ||
345 | { | ||
346 | return mZaurusUid; | ||
347 | } | ||
348 | void IncidenceBase::setZaurusUid( int id ) | ||
349 | { | ||
350 | if (mReadOnly) return; | ||
351 | mZaurusUid = id; | ||
352 | } | ||
353 | |||
354 | int IncidenceBase::tempSyncStat() const | 343 | int IncidenceBase::tempSyncStat() const |
355 | { | 344 | { |
@@ -362,72 +351,27 @@ void IncidenceBase::setTempSyncStat( int id ) | |||
362 | } | 351 | } |
363 | 352 | ||
364 | void IncidenceBase::setID( const QString & prof , int id ) | 353 | void IncidenceBase::removeID(const QString &prof) |
365 | { | 354 | { |
366 | int num = mExternalId.find( ":"+prof+";" ); | 355 | mExternalId = KIdManager::removeId ( mExternalId, prof); |
367 | if ( num >= 0 ) { | 356 | |
368 | int len = prof.length()+2; | 357 | } |
369 | int end = mExternalId.find( ";", num+len ); | 358 | void IncidenceBase::setID( const QString & prof , const QString & id ) |
370 | if ( end > 0 ) { | 359 | { |
371 | mExternalId = mExternalId.left( num+len ) +QString::number( id)+mExternalId.mid( end ); | 360 | mExternalId = KIdManager::setId ( mExternalId, prof, id ); |
372 | } else | 361 | } |
373 | qDebug("Error in IncidenceBase::setID "); | 362 | QString IncidenceBase::getID( const QString & prof) |
374 | } else { | 363 | { |
375 | mExternalId += prof+";"+QString::number( id) +";0:"; | 364 | return KIdManager::getId ( mExternalId, prof ); |
376 | } | ||
377 | qDebug("setID*%s*%d*%s* ", prof.latin1(), id,mExternalId.latin1() ); | ||
378 | } | ||
379 | int IncidenceBase::getID( const QString & prof) | ||
380 | { | ||
381 | int ret = -1; | ||
382 | int num = mExternalId.find(":"+ prof+";" ); | ||
383 | if ( num >= 0 ) { | ||
384 | int len = prof.length()+2; | ||
385 | int end = mExternalId.find( ";", num+len ); | ||
386 | if ( end > 0 ) { | ||
387 | bool ok; | ||
388 | ret = mExternalId.mid ( num + len,end-len-num).toInt( &ok ); | ||
389 | if (!ok) | ||
390 | ret = -1; | ||
391 | } | ||
392 | } | ||
393 | qDebug("getID*%s*%d*%s* ", prof.latin1(), ret,mExternalId.latin1() ); | ||
394 | return ret; | ||
395 | } | 365 | } |
396 | 366 | ||
397 | // example :Sharp_DTM;22;23566:TP;-1;8654:TPP;18;0: | 367 | // example :Sharp_DTM;22;23566:TP;-1;8654:TPP;18;0: |
398 | // format name;III;JJJ: III >= 0, may be -1. JJJ always >= 0 | 368 | // format name;III;JJJ: III >= 0, may be -1. JJJ always >= 0 |
399 | void IncidenceBase::setCsum( const QString & prof , int id ) | 369 | void IncidenceBase::setCsum( const QString & prof , const QString & id ) |
400 | { | 370 | { |
401 | int num = mExternalId.find( ":"+prof+";"); | 371 | mExternalId = KIdManager::setCsum ( mExternalId, prof, id ); |
402 | if ( num >= 0 ) { | 372 | } |
403 | int len = prof.length()+2; | 373 | QString IncidenceBase::getCsum( const QString & prof) |
404 | num = mExternalId.find( ";", num+len ); | 374 | { |
405 | int end = mExternalId.find( ":", num+1 ); | 375 | return KIdManager::getCsum ( mExternalId, prof ); |
406 | if ( end > 0 ) { | ||
407 | mExternalId = mExternalId.left( num ) +QString::number(id)+mExternalId.mid( end ); | ||
408 | } else | ||
409 | qDebug("Error in IncidenceBase::setCsum "); | ||
410 | } else { | ||
411 | mExternalId += prof+";-1;"+QString::number( id) +":"; | ||
412 | } | ||
413 | qDebug("setCsum*%s*%d*%s* ", prof.latin1(), id,mExternalId.latin1() ); | ||
414 | } | ||
415 | int IncidenceBase::getCsum( const QString & prof) | ||
416 | { | ||
417 | int ret = -1; | ||
418 | int num = mExternalId.find( ":"+prof+";" ); | ||
419 | if ( num >= 0 ) { | ||
420 | int len = prof.length()+2; | ||
421 | num = mExternalId.find( ";", num+len ); | ||
422 | int end = mExternalId.find( ":", num+1 ); | ||
423 | if ( end > 0 ) { | ||
424 | bool ok; | ||
425 | ret = mExternalId.mid ( num ,end-num).toInt( &ok ); | ||
426 | if (!ok) | ||
427 | ret = -1; | ||
428 | } | ||
429 | } | ||
430 | qDebug("getCsum*%s*%d*%s* ", prof.latin1(), ret,mExternalId.latin1() ); | ||
431 | return ret; | ||
432 | } | 376 | } |
433 | 377 | ||
diff --git a/libkcal/incidencebase.h b/libkcal/incidencebase.h index e2950d3..e02d03a 100644 --- a/libkcal/incidencebase.h +++ b/libkcal/incidencebase.h | |||
@@ -127,15 +127,13 @@ class IncidenceBase : public CustomProperties | |||
127 | int pilotId() const; | 127 | int pilotId() const; |
128 | 128 | ||
129 | void setZaurusUid(int id); | ||
130 | int zaurusUid() const; | ||
131 | void setTempSyncStat(int id); | 129 | void setTempSyncStat(int id); |
132 | int tempSyncStat() const; | 130 | int tempSyncStat() const; |
133 | void setIDStr( const QString & ); | 131 | void setIDStr( const QString & ); |
134 | QString IDStr() const; | 132 | QString IDStr() const; |
135 | void setID( const QString &, int ); | 133 | void setID( const QString &, const QString & ); |
136 | int getID( const QString & ); | 134 | QString getID( const QString & ); |
137 | void setCsum( const QString &, int ); | 135 | void setCsum( const QString &, const QString & ); |
138 | int getCsum( const QString & ); | 136 | QString getCsum( const QString & ); |
139 | 137 | void removeID(const QString &); | |
140 | 138 | ||
141 | void registerObserver( Observer * ); | 139 | void registerObserver( Observer * ); |
@@ -160,5 +158,4 @@ class IncidenceBase : public CustomProperties | |||
160 | bool mHasDuration; | 158 | bool mHasDuration; |
161 | QString mExternalId; | 159 | QString mExternalId; |
162 | int mZaurusUid; | ||
163 | int mTempSyncStat; | 160 | int mTempSyncStat; |
164 | 161 | ||
diff --git a/libkcal/sharpformat.cpp b/libkcal/sharpformat.cpp index 605a54d..e8934bf 100644 --- a/libkcal/sharpformat.cpp +++ b/libkcal/sharpformat.cpp | |||
@@ -91,6 +91,6 @@ class SharpParser : public QObject | |||
91 | else | 91 | else |
92 | event = new Event; | 92 | event = new Event; |
93 | event->setID("Sharp_DTM", attList[0].toInt() ); | 93 | event->setID("Sharp_DTM", attList[0] ); |
94 | event->setZaurusUid( cSum ); | 94 | event->setCsum( "Sharp_DTM", QString::number( cSum )); |
95 | event->setTempSyncStat(SYNC_TEMPSTATE_NEW_EXTERNAL ); | 95 | event->setTempSyncStat(SYNC_TEMPSTATE_NEW_EXTERNAL ); |
96 | 96 | ||
@@ -202,6 +202,6 @@ class SharpParser : public QObject | |||
202 | //2,"Familie,Freunde,Holiday",20040318T000000,20040324T000000,20040317T000000,1,2,tod2,notes | 202 | //2,"Familie,Freunde,Holiday",20040318T000000,20040324T000000,20040317T000000,1,2,tod2,notes |
203 | 203 | ||
204 | todo->setID( "Sharp_DTM", attList[0].toInt() ); | 204 | todo->setID( "Sharp_DTM", attList[0]); |
205 | todo->setZaurusUid( cSum ); | 205 | todo->setCsum( "Sharp_DTM", QString::number( cSum )); |
206 | todo->setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); | 206 | todo->setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); |
207 | 207 | ||
@@ -467,6 +467,6 @@ int SharpFormat::getNumFromRecord( QString answer, Incidence* inc ) | |||
467 | if ( ok && newnum > 0) { | 467 | if ( ok && newnum > 0) { |
468 | retval = newnum; | 468 | retval = newnum; |
469 | inc->setID( "Sharp_DTM",newnum ); | 469 | inc->setID( "Sharp_DTM",templist[0] ); |
470 | inc->setZaurusUid( getCsum( templist ) ); | 470 | inc->setCsum( "Sharp_DTM", QString::number( getCsum( templist ) )); |
471 | inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID ); | 471 | inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID ); |
472 | } | 472 | } |
@@ -521,5 +521,5 @@ bool SharpFormat::save( Calendar *calendar) | |||
521 | changeEnt = true; | 521 | changeEnt = true; |
522 | } | 522 | } |
523 | else if ( ev->getID("Sharp_DTM") == -1 ) { // add new | 523 | else if ( ev->getID("Sharp_DTM").isEmpty() ) { // add new |
524 | command = "(echo \"" + ePrefix + eString + "\" ) | db2file datebook -w -g -c " + codec+ " > "+ fileName; | 524 | command = "(echo \"" + ePrefix + eString + "\" ) | db2file datebook -w -g -c " + codec+ " > "+ fileName; |
525 | system ( command.utf8() ); | 525 | system ( command.utf8() ); |
@@ -607,5 +607,5 @@ bool SharpFormat::save( Calendar *calendar) | |||
607 | changeEnt = true; | 607 | changeEnt = true; |
608 | } | 608 | } |
609 | else if ( to->getID("Sharp_DTM") == -1 ) { // add new | 609 | else if ( to->getID("Sharp_DTM").isEmpty() ) { // add new |
610 | command = "(echo \"" + tPrefix + eString + "\" ) | db2file todo -w -g -c " + codec+ " > "+ fileName; | 610 | command = "(echo \"" + tPrefix + eString + "\" ) | db2file todo -w -g -c " + codec+ " > "+ fileName; |
611 | system ( command.utf8() ); | 611 | system ( command.utf8() ); |
@@ -697,5 +697,5 @@ QString SharpFormat::getEventString( Event* event ) | |||
697 | { | 697 | { |
698 | QStringList list; | 698 | QStringList list; |
699 | list.append( QString::number(event->getID("Sharp_DTM") ) ); | 699 | list.append( event->getID("Sharp_DTM") ); |
700 | list.append( event->categories().join(",") ); | 700 | list.append( event->categories().join(",") ); |
701 | if ( !event->summary().isEmpty() ) | 701 | if ( !event->summary().isEmpty() ) |
@@ -861,5 +861,5 @@ QString SharpFormat::getTodoString( Todo* todo ) | |||
861 | { | 861 | { |
862 | QStringList list; | 862 | QStringList list; |
863 | list.append( QString::number( todo->getID("Sharp_DTM") ) ); | 863 | list.append( todo->getID("Sharp_DTM") ); |
864 | list.append( todo->categories().join(",") ); | 864 | list.append( todo->categories().join(",") ); |
865 | 865 | ||