summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/qtopia/resourceqtopia.cpp135
1 files changed, 26 insertions, 109 deletions
diff --git a/kabc/plugins/qtopia/resourceqtopia.cpp b/kabc/plugins/qtopia/resourceqtopia.cpp
index 1f90fcb..f9cabcb 100644
--- a/kabc/plugins/qtopia/resourceqtopia.cpp
+++ b/kabc/plugins/qtopia/resourceqtopia.cpp
@@ -39,34 +39,32 @@ $Id$
#include <kdebug.h>
#include <klocale.h>
//US #include <ksavefile.h>
#include <kstandarddirs.h>
#include <kmessagebox.h>
#include <qpe/pim/addressbookaccess.h>
#include "resourceqtopiaconfig.h"
#include "stdaddressbook.h"
#include "qtopiaconverter.h"
#include "syncprefwidget.h"
#include "resourceqtopia.h"
-#include <libkdepim/ksyncprofile.h>
-#include <qpe/quuid.h>
using namespace KABC;
extern "C"
{
void *init_microkabc_qtopia()
{
return new KRES::PluginFactory<ResourceQtopia,ResourceQtopiaConfig, SyncPrefWidgetContainer>();
}
}
ResourceQtopia::ResourceQtopia( const KConfig *config, bool syncable )
: Resource( config, syncable ), mConverter (0)
{
// we can not choose the filename. Therefore use the default to display
QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
init( fileName );
@@ -178,145 +176,64 @@ bool ResourceQtopia::load()
KABC::Addressee addressee;
res = mConverter->qtopiaToAddressee( (*contact), addressee );
if ( !addressee.isEmpty() && res )
{
addressee.setResource( this );
addressBook()->insertAddressee( addressee );
}
}
return true;
}
bool ResourceQtopia::save( Ticket *ticket )
{
- qDebug("ResourceQtopia::save: %s", fileName().latin1());
-
- mDirWatch.stopScan();
-
- KABC::AddressBook::Iterator it;
- bool res;
- KABC::Addressee::List changedAddressees;
- QStringList addedUID;
- for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) {
- //KABC::Addressee addressee = (*it);
- // qDebug("AAAfor uid %s ", (*it).originalExternalUID().latin1() );
- if ( (*it).tempSyncStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) {
- QUuid uid( (*it).originalExternalUID() );
- bool ok;
- PimContact c = mAccess->contactForId( uid, &ok );
- qDebug("ResourceQtopia::save:Found %d for uid %s ", ok,(*it).originalExternalUID().latin1() );
- res = mConverter->addresseeToQtopia( *it, c );
- if (res == true) {
- if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_ADDED_EXTERNAL ) {
- qDebug("skipping adding of contact ");
- continue;
- PimContact e;
- AddressBookAccess Access2;
- Access2.addContact(e);
- const PimContact* contact;
- bool res;
- QString uid2, Ouid;
- AddressBookIterator itt(Access2);
- for (contact=itt.toFirst(); itt.current(); ++itt)
- {
- contact = itt.current();
- QString exuid = contact->uid().toString();
- Ouid =exuid;
- int ente = exuid.find( "-0000");
- if ( exuid.left(1) == "{" )
- exuid = exuid.mid(1);
- if ( ente > -1 )
- exuid = exuid.left( ente-1 );
- uid2 = exuid;
- qDebug("trying find uid ");
- if ( !addressBook()->containsExternalUid( uid2 ) ) {
- qDebug("ab not contains ");
- if ( !addedUID.contains( uid2 )) {
- qDebug("list not contains ");
- break;
- }
- }
-
- }
- if ( !itt.current()) {
- qDebug("ERROR uid ");
- continue;
- }
- else
- qDebug("ADD uid detected ");
-
-
- QUuid uid3( Ouid);
- PimContact d = Access2.contactForId( uid3, &ok );
- if ( ! ok ) {
- qDebug("ADD: Error getting new uid ");
- } else {
- qDebug("NEW UID found ");
- PimContact g = mAccess->contactForId( c.uid(), &ok );
- KABC::Addressee addressee;
- mConverter->qtopiaToAddressee( g, addressee );
- addressee.setUid((*it).uid() );
- addressee.setTempSyncStat( SYNC_TEMPSTATE_NEW_ID );
- changedAddressees.append( addressee );
- addedUID.append( uid2 );
- }
-
-
- } else if ( (*it).tempSyncStat() == SYNC_TEMPSTATE_DELETE ) {
- qDebug("Remove contact ");
- if ( ok )
- mAccess->removeContact(c);
- else
- qDebug("Error remove contact from qtopia ");
- } else if ( (*it).tempSyncStat() != SYNC_TEMPSTATE_NEW_EXTERNAL ) {
- if ( ok ) {
- qDebug("Update contact ");
- mAccess->updateContact(c);
- PimContact g = mAccess->contactForId( c.uid(), &ok );
- KABC::Addressee addressee;
- mConverter->qtopiaToAddressee( g, addressee );
- addressee.setUid((*it).uid() );
- addressee.setTempSyncStat( SYNC_TEMPSTATE_NEW_CSUM );
- changedAddressees.append( addressee );
- }
- else
- qDebug("Error update contact from qtopia ");
-
- }
-
- } else {
- qDebug("Unable to convert Addressee %s", (*it).formattedName().latin1());
- }
- }
- }
+ qDebug("ResourceQtopia::save: %s", fileName().latin1());
- KABC::Addressee::List::Iterator it2;
- for ( it2 = changedAddressees.begin(); it2 != changedAddressees.end(); ++it2 )
- addressBook()->insertAddressee((*it2));
+ mDirWatch.stopScan();
+ KABC::AddressBook::Iterator it;
+ bool res;
+ for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) {
+ PimContact c;
+ KABC::Addressee addressee = (*it);
- mDirWatch.startScan();
+ res = mConverter->addresseeToQtopia( *it, c );
+ if (res == true)
+ {
+ mAccess->addContact(c);
+// if (res == false)
+// qDebug("Unable to append Contact %s", c.fullName().latin1());
+ }
+ else
+ {
+ qDebug("Unable to convert Addressee %s", addressee.formattedName().latin1());
+ }
+ }
- delete ticket;
- unlock( fileName() );
+// mAccess->addressBookUpdated();
- return true;
+ mDirWatch.startScan();
+
+ delete ticket;
+ unlock( fileName() );
+
+ return true;
}
bool ResourceQtopia::lock( const QString &lockfileName )
{
qDebug("ResourceQtopia::lock: %s", fileName().latin1());
kdDebug(5700) << "ResourceQtopia::lock()" << endl;
QString fn = lockfileName;
KURL url(fn);
QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
kdDebug(5700) << "-- lock name: " << lockName << endl;
if (QFile::exists( lockName ))