summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/vcardformatimpl.cpp11
-rw-r--r--kabc/vcardformatimpl.h5
2 files changed, 16 insertions, 0 deletions
diff --git a/kabc/vcardformatimpl.cpp b/kabc/vcardformatimpl.cpp
index 1bf2cde..ede5773 100644
--- a/kabc/vcardformatimpl.cpp
+++ b/kabc/vcardformatimpl.cpp
@@ -20,87 +20,98 @@
/*
Enhanced Version of the file for platform independent KDE tools.
Copyright (c) 2004 Ulf Schenk
$Id$
*/
#include <qfile.h>
#include <qregexp.h>
#include <kdebug.h>
#include <kmdcodec.h>
#include <kstandarddirs.h>
#include <ktempfile.h>
#include <VCard.h>
#include "addressbook.h"
#include "vcardformatimpl.h"
using namespace KABC;
using namespace VCARD;
+int VCardFormatImpl::debug = -1;
+
+VCardFormatImpl::VCardFormatImpl()
+{
+ debug = (getenv("KABC_DEBUG") != 0);
+}
+
bool VCardFormatImpl::load( Addressee &addressee, QFile *file )
{
kdDebug(5700) << "VCardFormat::load()" << endl;
QByteArray fdata = file->readAll();
QCString data(fdata.data(), fdata.size()+1);
VCardEntity e( data );
VCardListIterator it( e.cardList() );
if ( it.current() ) {
//US VCard v(*it.current());
//US loadAddressee( addressee, v );
loadAddressee( addressee, it.current() );
return true;
}
return false;
}
bool VCardFormatImpl::loadAll( AddressBook *addressBook, Resource *resource, QFile *file )
{
kdDebug(5700) << "VCardFormat::loadAll()" << endl;
QByteArray fdata = file->readAll();
QCString data(fdata.data(), fdata.size()+1);
VCardEntity e( data );
VCardListIterator it( e.cardList() );
for (; it.current(); ++it) {
//US VCard v(*it.current());
Addressee addressee;
//US loadAddressee( addressee, v );
loadAddressee( addressee, it.current() );
addressee.setResource( resource );
addressBook->insertAddressee( addressee );
+ if (debug == true)
+ {
+ printf("address %s loaded successfully\n", addressee.formattedName().latin1());
+ }
}
return true;
}
void VCardFormatImpl::save( const Addressee &addressee, QFile *file )
{
VCardEntity vcards;
VCardList vcardlist;
vcardlist.setAutoDelete( true );
VCard *v = new VCard;
saveAddressee( addressee, v, false );
vcardlist.append( v );
vcards.setCardList( vcardlist );
QCString vcardData = vcards.asString();
file->writeBlock( (const char*)vcardData, vcardData.length() );
}
void VCardFormatImpl::saveAll( AddressBook *ab, Resource *resource, QFile *file )
{
diff --git a/kabc/vcardformatimpl.h b/kabc/vcardformatimpl.h
index fa3d55f..4821047 100644
--- a/kabc/vcardformatimpl.h
+++ b/kabc/vcardformatimpl.h
@@ -28,48 +28,50 @@ $Id$
#ifndef KABC_VCARDFORMATIMPL_H
#define KABC_VCARDFORMATIMPL_H
#include <qstring.h>
#include <qfile.h>
#include "address.h"
#include "addressee.h"
#include <VCard.h>
namespace KABC {
class AddressBook;
/**
@short Implementation of vCard backend for address book.
This class implements reading and writing of address book information using
the vCard format. It requires the vCard lib from kdepim.
*/
class VCardFormatImpl
{
public:
+ VCardFormatImpl();
+
bool load( Addressee &, QFile *file );
bool loadAll( AddressBook *, Resource *, QFile *file );
void save( const Addressee &, QFile *file );
void saveAll( AddressBook *, Resource *, QFile *file );
bool readFromString( const QString &vcard, Addressee &addr );
bool writeToString( const Addressee &addressee, QString &vcard );
protected:
bool loadAddressee( Addressee &, VCARD::VCard * );
void saveAddressee( const Addressee &, VCARD::VCard *, bool intern );
void addTextValue (VCARD::VCard *, VCARD::EntityType, const QString & );
QString readTextValue( VCARD::ContentLine * );
void addDateValue( VCARD::VCard *, VCARD::EntityType, const QDate & );
QDate readDateValue( VCARD::ContentLine * );
void addDateTimeValue( VCARD::VCard *, VCARD::EntityType, const QDateTime & );
QDateTime readDateTimeValue( VCARD::ContentLine * );
void addAddressValue( VCARD::VCard *, const Address & );
Address readAddressValue( VCARD::ContentLine * );
@@ -85,28 +87,31 @@ class VCardFormatImpl
void addAddressParam( VCARD::ContentLine *, int );
int readAddressParam( VCARD::ContentLine * );
void addGeoValue( VCARD::VCard *, const Geo & );
Geo readGeoValue( VCARD::ContentLine * );
void addUTCValue( VCARD::VCard *, const TimeZone & );
TimeZone readUTCValue( VCARD::ContentLine * );
void addClassValue( VCARD::VCard *, const Secrecy & );
Secrecy readClassValue( VCARD::ContentLine * );
void addKeyValue( VCARD::VCard *, const Key & );
Key readKeyValue( VCARD::ContentLine * );
void addPictureValue( VCARD::VCard *, VCARD::EntityType, const Picture &, const Addressee &, bool );
Picture readPictureValue( VCARD::ContentLine *, VCARD::EntityType, const Addressee &addr );
void addSoundValue( VCARD::VCard *, const Sound &, const Addressee &, bool );
Sound readSoundValue( VCARD::ContentLine *, const Addressee &addr );
void addAgentValue( VCARD::VCard *, const Agent & );
Agent readAgentValue( VCARD::ContentLine * );
+
+ private:
+ static int debug;
};
}
#endif