summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (show whitespace changes)
-rw-r--r--kabc/vcardformatimpl.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/kabc/vcardformatimpl.cpp b/kabc/vcardformatimpl.cpp
index b9fe6ff..ec5ed80 100644
--- a/kabc/vcardformatimpl.cpp
+++ b/kabc/vcardformatimpl.cpp
@@ -18,24 +18,25 @@
Boston, MA 02111-1307, USA.
*/
/*
Enhanced Version of the file for platform independent KDE tools.
Copyright (c) 2004 Ulf Schenk
$Id$
*/
#include <qfile.h>
#include <qregexp.h>
+#include <qapplication.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;
@@ -60,88 +61,79 @@ bool VCardFormatImpl::load( Addressee &addressee, QFile *file )
VCardListIterator it( e.cardList() );
if ( it.current() ) {
//US VCard v(*it.current());
//US loadAddressee( addressee, v );
loadAddressee( addressee, it.current() );
return true;
}
return false;
}
+
+#include <kmessagebox.h>
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);
+ QCString data(file->readAll().data(), file->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 )
{
- VCardEntity vcards;
- VCardList vcardlist;
- vcardlist.setAutoDelete( true );
AddressBook::Iterator it;
for ( it = ab->begin(); it != ab->end(); ++it ) {
if ( (*it).resource() == resource ) {
- VCard *v = new VCard;
- saveAddressee( (*it), v, true );
+ save((*it),file);
+ qApp->processEvents();
(*it).setChanged( false );
- vcardlist.append( v );
}
}
-
- vcards.setCardList( vcardlist );
-
- QCString vcardData = vcards.asString();
- file->writeBlock( (const char*)vcardData, vcardData.length() );
+ // for memory usage status test only
+ // KMessageBox::information ( 0, "Stoppppp", QString("Stop ") );
}
bool VCardFormatImpl::loadAddressee( Addressee& addressee, VCard *v )
{
QPtrList<ContentLine> contentLines = v->contentLineList();
ContentLine *cl;
for( cl = contentLines.first(); cl; cl = contentLines.next() ) {
QCString n = cl->name();
if ( n.left( 2 ) == "X-" ) {
n = n.mid( 2 );
int posDash = n.find( "-" );