-rw-r--r-- | kabc/addressbook.cpp | 27 | ||||
-rw-r--r-- | kabc/addressbook.h | 5 | ||||
-rw-r--r-- | kabc/addressee.cpp | 54 | ||||
-rw-r--r-- | kabc/addressee.h | 12 |
4 files changed, 96 insertions, 2 deletions
diff --git a/kabc/addressbook.cpp b/kabc/addressbook.cpp index 70eda1b..9332e21 100644 --- a/kabc/addressbook.cpp +++ b/kabc/addressbook.cpp @@ -41,8 +41,9 @@ $Id$ #include <kglobal.h> #include <klocale.h> #include <kdebug.h> +#include <libkcal/syncdefines.h> #include "addressbook.h" #include "resource.h" //US #include "addressbook.moc" @@ -511,8 +512,34 @@ Addressee AddressBook::findByUid( const QString &uid ) } } return Addressee(); } +Addressee::List AddressBook::getExternLastSyncAddressees() +{ + Addressee::List results; + + Iterator it; + for ( it = begin(); it != end(); ++it ) { + if ( (*it).uid().left( 20 ) == "last-syncAddressee-" ) { + if ( (*it).familyName().left(3) == "E: " ) + results.append( *it ); + } + } + + return results; +} +void AddressBook::resetTempSyncStat() +{ + + + Iterator it; + for ( it = begin(); it != end(); ++it ) { + (*it).setTempSyncStat ( SYNC_TEMPSTATE_INITIAL ); + } + +} + + Addressee::List AddressBook::allAddressees() { return d->mAddressees; diff --git a/kabc/addressbook.h b/kabc/addressbook.h index e43de31..05225f9 100644 --- a/kabc/addressbook.h +++ b/kabc/addressbook.h @@ -287,8 +287,13 @@ class AddressBook : public QObject Query all resources to clean up their lock files */ void cleanUp(); + // sync stuff + Addressee::List getExternLastSyncAddressees(); + void resetTempSyncStat(); + + signals: /** Emitted, when the address book has changed on disk. */ diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index 4cdd5e5..fb32f6e 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp @@ -31,10 +31,12 @@ $Id$ #include <ksharedptr.h> #include <kdebug.h> #include <kapplication.h> #include <klocale.h> +#include <kidmanager.h> //US #include <kstandarddirs.h> +#include <libkcal/syncdefines.h> //US #include "resource.h" #include "addressee.h" @@ -69,9 +71,9 @@ struct Addressee::AddresseeData : public KShared Picture logo; Picture photo; Sound sound; Agent agent; - + QString mExternalId; PhoneNumber::List phoneNumbers; Address::List addresses; Key::List keys; QStringList emails; @@ -89,8 +91,10 @@ Addressee::Addressee() mData = new AddresseeData; mData->empty = true; mData->changed = false; mData->resource = 0; + mData->mExternalId = ":"; + mTempSyncStat = SYNC_TEMPSTATE_INITIAL; } Addressee::~Addressee() { @@ -98,8 +102,9 @@ Addressee::~Addressee() Addressee::Addressee( const Addressee &a ) { mData = a.mData; + mTempSyncStat = SYNC_TEMPSTATE_INITIAL; } Addressee &Addressee::operator=( const Addressee &a ) { @@ -167,8 +172,55 @@ bool Addressee::operator!=( const Addressee &a ) const bool Addressee::isEmpty() const { return mData->empty; } +void Addressee::removeID(const QString &prof) +{ + detach(); + mData->mExternalId = KIdManager::removeId ( mData->mExternalId, prof); + +} +void Addressee::setID( const QString & prof , const QString & id ) +{ + detach(); + mData->mExternalId = KIdManager::setId ( mData->mExternalId, prof, id ); +} +void Addressee::setTempSyncStat( int id ) +{ + mTempSyncStat = id; +} +int Addressee::tempSyncStat() const +{ + return mTempSyncStat; +} + +QString Addressee::getID( const QString & prof) +{ + return KIdManager::getId ( mData->mExternalId, prof ); +} + +void Addressee::setCsum( const QString & prof , const QString & id ) +{ + detach(); + mData->mExternalId = KIdManager::setCsum ( mData->mExternalId, prof, id ); +} + +QString Addressee::getCsum( const QString & prof) +{ + return KIdManager::getCsum ( mData->mExternalId, prof ); +} + +void Addressee::setIDStr( const QString & s ) +{ + detach(); + mData->mExternalId = s; +} + +QString Addressee::IDStr() const +{ + return mData->mExternalId; +} + void Addressee::setUid( const QString &id ) { if ( id == mData->uid ) return; diff --git a/kabc/addressee.h b/kabc/addressee.h index 27782f9..f098371 100644 --- a/kabc/addressee.h +++ b/kabc/addressee.h @@ -95,9 +95,18 @@ class Addressee Addressee &operator=( const Addressee & ); bool operator==( const Addressee & ) const; bool operator!=( const Addressee & ) const; - + // sync stuff + void setTempSyncStat(int id); + int tempSyncStat() const; + void setIDStr( const QString & ); + QString IDStr() const; + void setID( const QString &, const QString & ); + QString getID( const QString & ); + void setCsum( const QString &, const QString & ); + QString getCsum( const QString & ); + void removeID(const QString &); /** Return, if the address book entry is empty. */ bool isEmpty() const; @@ -814,8 +823,9 @@ class Addressee private: Addressee copy(); void detach(); + int mTempSyncStat; struct AddresseeData; mutable KSharedPtr<AddresseeData> mData; }; |