author | zautrix <zautrix> | 2004-10-30 00:27:02 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-30 00:27:02 (UTC) |
commit | af857a738da80e9eb68cf311832d44ecb9caf1dd (patch) (side-by-side diff) | |
tree | 7e45bdfeb5d2f70f8125f5fed20c28366de91c9a /kabc/plugins/sharpdtm/resourcesharpdtm.cpp | |
parent | 84afedde379f67982d96dc9efa7abf9d200734e4 (diff) | |
download | kdepimpi-af857a738da80e9eb68cf311832d44ecb9caf1dd.zip kdepimpi-af857a738da80e9eb68cf311832d44ecb9caf1dd.tar.gz kdepimpi-af857a738da80e9eb68cf311832d44ecb9caf1dd.tar.bz2 |
fixed DTM sync cat handling
Diffstat (limited to 'kabc/plugins/sharpdtm/resourcesharpdtm.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kabc/plugins/sharpdtm/resourcesharpdtm.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kabc/plugins/sharpdtm/resourcesharpdtm.cpp b/kabc/plugins/sharpdtm/resourcesharpdtm.cpp index 7069f5d..6413b42 100644 --- a/kabc/plugins/sharpdtm/resourcesharpdtm.cpp +++ b/kabc/plugins/sharpdtm/resourcesharpdtm.cpp @@ -107,195 +107,197 @@ void ResourceSharpDTM::writeConfig( KConfig *config ) { Resource::writeConfig( config ); } Ticket *ResourceSharpDTM::requestSaveTicket() { qDebug("ResourceSharpDTM::requestSaveTicket: %s", fileName().latin1()); if ( !addressBook() ) return 0; return createTicket( this ); } bool ResourceSharpDTM::doOpen() { if (!mConverter) return false; return true; } void ResourceSharpDTM::doClose() { return; } bool ResourceSharpDTM::load() { if (!mConverter) return false; QString fileN = SlZDataBase::addressbookFileName(); if ( ! mAccess ) { mAccess = new SlZDataBase(fileN, SlZDataBase::addressbookItems(), 0, false); } if(mAccess == 0) return false; qDebug("%xResourceSharpDTM::load: %s",this, fileName().latin1()); bool res = false; CardId id; for (bool res=mAccess->first(); res == true; res=mAccess->next()) { id = mAccess->cardId(); KABC::Addressee addressee; res = mConverter->sharpToAddressee( id, mAccess, addressee ); if ( !addressee.isEmpty() && res ) { addressee.setResource( this ); addressBook()->insertAddressee( addressee ); } } if(mAccess != 0) delete mAccess; mAccess = 0; return true; } bool ResourceSharpDTM::save( Ticket *ticket ) { if (!mConverter) return false; QString fileN = SlZDataBase::addressbookFileName(); if ( ! mAccess ) { mAccess = new SlZDataBase(fileN, SlZDataBase::addressbookItems(), 0, false); } if(mAccess == 0) return false; qDebug("ResourceSharpDTM::save: %s", fileName().latin1()); KABC::AddressBook::Iterator it; bool res; KABC::Addressee::List changedAddressees; typedef QMap<int,QString> AddresseeMap; AddresseeMap map; CardId id ; for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) { if ( (*it).tempSyncStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) { QString uid = (*it).originalExternalUID(); bool res; if ( uid.isEmpty() ) id = 0; else id = uid.toUInt(); KABC::Addressee addressee = (*it); if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_ADDED_EXTERNAL ) { res = mAccess->startEditCard(id); if (res == true) { res = mConverter->addresseeToSharp( (*it), mAccess, id ); if (res == true) { - res = mAccess->finishEditCard(&id);; + res = mAccess->finishEditCard(&id);; + mConverter->setCategories( (*it), mAccess, id ); map.insert(id,(*it).uid()); if (res == false) qDebug("Unable to append Contact: %s", addressee.formattedName().latin1()); } else { qDebug("Unable to convert Addressee: %s", addressee.formattedName().latin1()); mAccess->cancelEditCard(); } } } else if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_DELETE ) { res = mAccess->deleteCard(&id); if ( !res ) qDebug("delete error "); } else if ( (*it).tempSyncStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) { //changed res = mAccess->startEditCard(id); if (res == true) { res = mConverter->addresseeToSharp( (*it), mAccess, id ); if (res == true) { res = mAccess->finishEditCard(&id); + mConverter->setCategories( (*it), mAccess, id ); map.insert(id,(*it).uid()); if (res == false) qDebug("Unable to append Contact: %s", addressee.formattedName().latin1()); } else { qDebug("Unable to convert Addressee: %s", addressee.formattedName().latin1()); mAccess->cancelEditCard(); } } } } } AddresseeMap::Iterator itam; for ( res=mAccess->first(); res == true; res=mAccess->next()) { id = mAccess->cardId(); int idint = id; itam = map.find( idint ); if ( itam != map.end() ) { KABC::Addressee addressee; res = mConverter->sharpToAddressee( id, mAccess, addressee ); if ( !addressee.isEmpty() && res ) { addressee.setResource( this ); addressee.setUid( itam.data() ); addressee.setTempSyncStat( SYNC_TEMPSTATE_NEW_ID ); addressBook()->insertAddressee( addressee , false ); } } } delete ticket; if(mAccess != 0) delete mAccess; mAccess = 0; return true; } bool ResourceSharpDTM::lock( const QString &lockfileName ) { return true; } void ResourceSharpDTM::unlock( const QString &fileName ) { } void ResourceSharpDTM::setFileName( const QString &newFileName ) { Resource::setFileName( newFileName ); } void ResourceSharpDTM::fileChanged() { } void ResourceSharpDTM::removeAddressee( const Addressee &addr ) { } void ResourceSharpDTM::cleanUp() { } |