summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp20
-rw-r--r--libkcal/incidencebase.cpp96
-rw-r--r--libkcal/incidencebase.h13
-rw-r--r--libkcal/sharpformat.cpp20
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
if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
bool remCh, locCh;
- remCh = ( remote->zaurusUid() != local->zaurusUid() );
+ remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) );
locCh = ( local->lastModified() > mLastCalendarSync );
//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
//qDebug("equal ");
if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
- local->setZaurusUid( remote->zaurusUid() );
+ local->setCsum( mCurrentSyncDevice, remote->getCsum(mCurrentSyncDevice) );
}
if ( mode < SYNC_PREF_FORCE_LOCAL )
@@ -896,11 +896,11 @@ void CalendarView::checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* t
while ( eve ) {
- int id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name
- if ( id >= 0 ) {
+ QString id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name
+ if ( !id.isEmpty() ) {
QString des = eve->description();
QString pref = "e";
if ( toDelete->type() == "Todo" )
pref = "t";
- des += pref+ QString::number ( id ) + ",";
+ des += pref+ id + ",";
eve->setReadOnly( false );
eve->setDescription( des );
@@ -1014,5 +1014,5 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
return false;
if ( take == 1 ) {// take local
- inL->setZaurusUid( inR->zaurusUid() );
+ inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) );
remote->deleteIncidence( inR );
if ( inL->revision() < maxrev )
@@ -1034,5 +1034,5 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
if ( inR->type() == "Todo" )
pref = "t";
- if ( des.find(pref+QString::number( inR->getID(mCurrentSyncDevice) ) +"," ) >= 0 && mode != 5) { // delete it
+ if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it
inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE );
//remote->deleteIncidence( inR );
@@ -1084,10 +1084,10 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
if ( ! inR ) {
if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
- if ( inL->getID(mCurrentSyncDevice) >= 0 && mode != 4 ) {
+ if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) {
local->deleteIncidence( inL );
++deletedEventL;
} else {
if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) {
- inL->setID(mCurrentSyncDevice, -1 );
+ inL->removeID(mCurrentSyncDevice );
++addedEventR;
inL->setLastModified( modifiedCalendar );
@@ -1209,5 +1209,5 @@ void CalendarView::syncSharp()
if ( loc ) {
loc->setID(mCurrentSyncDevice, inc->getID(mCurrentSyncDevice) );
- loc->setZaurusUid( inc->zaurusUid() );
+ loc->setCsum( mCurrentSyncDevice, inc->getCsum(mCurrentSyncDevice) );
}
}
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 @@
#include <klocale.h>
#include <kdebug.h>
+#include <kidmanager.h>
#include "calformat.h"
@@ -38,6 +39,5 @@ IncidenceBase::IncidenceBase() :
mDuration = 0;
mHasDuration = false;
- mPilotId = 0;
- mZaurusUid = 0;
+ mPilotId = 0;
mExternalId = ":";
mTempSyncStat = 0;
@@ -62,5 +62,4 @@ IncidenceBase::IncidenceBase(const IncidenceBase &i) :
mLastModified = i.mLastModified;
mPilotId = i.mPilotId;
- mZaurusUid = i.mZaurusUid;
mTempSyncStat = i.mTempSyncStat;
mSyncStatus = i.mSyncStatus;
@@ -342,14 +341,4 @@ int IncidenceBase::pilotId() const
}
-int IncidenceBase::zaurusUid() const
-{
- return mZaurusUid;
-}
-void IncidenceBase::setZaurusUid( int id )
-{
- if (mReadOnly) return;
- mZaurusUid = id;
-}
-
int IncidenceBase::tempSyncStat() const
{
@@ -362,72 +351,27 @@ void IncidenceBase::setTempSyncStat( int id )
}
-void IncidenceBase::setID( const QString & prof , int id )
+void IncidenceBase::removeID(const QString &prof)
{
- int num = mExternalId.find( ":"+prof+";" );
- if ( num >= 0 ) {
- int len = prof.length()+2;
- int end = mExternalId.find( ";", num+len );
- if ( end > 0 ) {
- mExternalId = mExternalId.left( num+len ) +QString::number( id)+mExternalId.mid( end );
- } else
- qDebug("Error in IncidenceBase::setID ");
- } else {
- mExternalId += prof+";"+QString::number( id) +";0:";
- }
- qDebug("setID*%s*%d*%s* ", prof.latin1(), id,mExternalId.latin1() );
-}
-int IncidenceBase::getID( const QString & prof)
-{
- int ret = -1;
- int num = mExternalId.find(":"+ prof+";" );
- if ( num >= 0 ) {
- int len = prof.length()+2;
- int end = mExternalId.find( ";", num+len );
- if ( end > 0 ) {
- bool ok;
- ret = mExternalId.mid ( num + len,end-len-num).toInt( &ok );
- if (!ok)
- ret = -1;
- }
- }
- qDebug("getID*%s*%d*%s* ", prof.latin1(), ret,mExternalId.latin1() );
- return ret;
+ mExternalId = KIdManager::removeId ( mExternalId, prof);
+
+}
+void IncidenceBase::setID( const QString & prof , const QString & id )
+{
+ mExternalId = KIdManager::setId ( mExternalId, prof, id );
+}
+QString IncidenceBase::getID( const QString & prof)
+{
+ return KIdManager::getId ( mExternalId, prof );
}
// example :Sharp_DTM;22;23566:TP;-1;8654:TPP;18;0:
// format name;III;JJJ: III >= 0, may be -1. JJJ always >= 0
-void IncidenceBase::setCsum( const QString & prof , int id )
-{
- int num = mExternalId.find( ":"+prof+";");
- if ( num >= 0 ) {
- int len = prof.length()+2;
- num = mExternalId.find( ";", num+len );
- int end = mExternalId.find( ":", num+1 );
- if ( end > 0 ) {
- mExternalId = mExternalId.left( num ) +QString::number(id)+mExternalId.mid( end );
- } else
- qDebug("Error in IncidenceBase::setCsum ");
- } else {
- mExternalId += prof+";-1;"+QString::number( id) +":";
- }
- qDebug("setCsum*%s*%d*%s* ", prof.latin1(), id,mExternalId.latin1() );
-}
-int IncidenceBase::getCsum( const QString & prof)
-{
- int ret = -1;
- int num = mExternalId.find( ":"+prof+";" );
- if ( num >= 0 ) {
- int len = prof.length()+2;
- num = mExternalId.find( ";", num+len );
- int end = mExternalId.find( ":", num+1 );
- if ( end > 0 ) {
- bool ok;
- ret = mExternalId.mid ( num ,end-num).toInt( &ok );
- if (!ok)
- ret = -1;
- }
- }
- qDebug("getCsum*%s*%d*%s* ", prof.latin1(), ret,mExternalId.latin1() );
- return ret;
+void IncidenceBase::setCsum( const QString & prof , const QString & id )
+{
+ mExternalId = KIdManager::setCsum ( mExternalId, prof, id );
+}
+QString IncidenceBase::getCsum( const QString & prof)
+{
+ return KIdManager::getCsum ( mExternalId, prof );
}
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
int pilotId() const;
- void setZaurusUid(int id);
- int zaurusUid() const;
void setTempSyncStat(int id);
int tempSyncStat() const;
void setIDStr( const QString & );
QString IDStr() const;
- void setID( const QString &, int );
- int getID( const QString & );
- void setCsum( const QString &, int );
- int getCsum( const QString & );
-
+ void setID( const QString &, const QString & );
+ QString getID( const QString & );
+ void setCsum( const QString &, const QString & );
+ QString getCsum( const QString & );
+ void removeID(const QString &);
void registerObserver( Observer * );
@@ -160,5 +158,4 @@ class IncidenceBase : public CustomProperties
bool mHasDuration;
QString mExternalId;
- int mZaurusUid;
int mTempSyncStat;
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
else
event = new Event;
- event->setID("Sharp_DTM", attList[0].toInt() );
- event->setZaurusUid( cSum );
+ event->setID("Sharp_DTM", attList[0] );
+ event->setCsum( "Sharp_DTM", QString::number( cSum ));
event->setTempSyncStat(SYNC_TEMPSTATE_NEW_EXTERNAL );
@@ -202,6 +202,6 @@ class SharpParser : public QObject
//2,"Familie,Freunde,Holiday",20040318T000000,20040324T000000,20040317T000000,1,2,tod2,notes
- todo->setID( "Sharp_DTM", attList[0].toInt() );
- todo->setZaurusUid( cSum );
+ todo->setID( "Sharp_DTM", attList[0]);
+ todo->setCsum( "Sharp_DTM", QString::number( cSum ));
todo->setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL );
@@ -467,6 +467,6 @@ int SharpFormat::getNumFromRecord( QString answer, Incidence* inc )
if ( ok && newnum > 0) {
retval = newnum;
- inc->setID( "Sharp_DTM",newnum );
- inc->setZaurusUid( getCsum( templist ) );
+ inc->setID( "Sharp_DTM",templist[0] );
+ inc->setCsum( "Sharp_DTM", QString::number( getCsum( templist ) ));
inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
}
@@ -521,5 +521,5 @@ bool SharpFormat::save( Calendar *calendar)
changeEnt = true;
}
- else if ( ev->getID("Sharp_DTM") == -1 ) { // add new
+ else if ( ev->getID("Sharp_DTM").isEmpty() ) { // add new
command = "(echo \"" + ePrefix + eString + "\" ) | db2file datebook -w -g -c " + codec+ " > "+ fileName;
system ( command.utf8() );
@@ -607,5 +607,5 @@ bool SharpFormat::save( Calendar *calendar)
changeEnt = true;
}
- else if ( to->getID("Sharp_DTM") == -1 ) { // add new
+ else if ( to->getID("Sharp_DTM").isEmpty() ) { // add new
command = "(echo \"" + tPrefix + eString + "\" ) | db2file todo -w -g -c " + codec+ " > "+ fileName;
system ( command.utf8() );
@@ -697,5 +697,5 @@ QString SharpFormat::getEventString( Event* event )
{
QStringList list;
- list.append( QString::number(event->getID("Sharp_DTM") ) );
+ list.append( event->getID("Sharp_DTM") );
list.append( event->categories().join(",") );
if ( !event->summary().isEmpty() )
@@ -861,5 +861,5 @@ QString SharpFormat::getTodoString( Todo* todo )
{
QStringList list;
- list.append( QString::number( todo->getID("Sharp_DTM") ) );
+ list.append( todo->getID("Sharp_DTM") );
list.append( todo->categories().join(",") );