diff --git a/src/seasidecache.cpp b/src/seasidecache.cpp index bf91f72..451a6b9 100644 --- a/src/seasidecache.cpp +++ b/src/seasidecache.cpp @@ -166,6 +166,13 @@ bool SeasideCache::validId(const ContactIdType &id) #endif } +#ifndef USING_QTPIM +bool SeasideCache::validId(const QContactId &id) +{ + return (id.localId() != 0); +} +#endif + quint32 SeasideCache::internalId(const QContact &contact) { return internalId(contact.id()); @@ -459,9 +466,17 @@ SeasideCache::CacheItem *SeasideCache::itemById(int id) SeasideCache::CacheItem *SeasideCache::existingItem(const ContactIdType &id) { +#ifdef USING_QTPIM return existingItem(internalId(id)); +#else + QHash::iterator it = instancePtr->m_people.find(id); + return it != instancePtr->m_people.end() + ? &(*it) + : 0; +#endif } +#ifdef USING_QTPIM SeasideCache::CacheItem *SeasideCache::existingItem(quint32 iid) { QHash::iterator it = instancePtr->m_people.find(iid); @@ -469,6 +484,7 @@ SeasideCache::CacheItem *SeasideCache::existingItem(quint32 iid) ? &(*it) : 0; } +#endif QContact SeasideCache::contactById(const ContactIdType &id) { @@ -535,10 +551,9 @@ void SeasideCache::updateContactData( bool SeasideCache::removeContact(const QContact &contact) { - if (!validId(contact.id())) - return false; - ContactIdType id = apiId(contact); + if (!validId(id)) + return false; instancePtr->m_contactsToRemove.append(id); instancePtr->removeContactData(id, FilterFavorites); diff --git a/src/seasidecache.h b/src/seasidecache.h index 1b91f16..ffa4c71 100644 --- a/src/seasidecache.h +++ b/src/seasidecache.h @@ -170,6 +170,9 @@ class CONTACTCACHE_EXPORT SeasideCache : public QObject static ContactIdType apiId(quint32 iid); static bool validId(const ContactIdType &id); +#ifndef USING_QTPIM + static bool validId(const QContactId &id); +#endif static quint32 internalId(const QContact &contact); static quint32 internalId(const QContactId &id); @@ -191,7 +194,9 @@ class CONTACTCACHE_EXPORT SeasideCache : public QObject static int contactId(const QContact &contact); static CacheItem *existingItem(const ContactIdType &id); +#ifdef USING_QTPIM static CacheItem *existingItem(quint32 iid); +#endif static CacheItem *itemById(const ContactIdType &id); #ifdef USING_QTPIM static CacheItem *itemById(int id);