From b9aad1f15dc600e4dbe4c62d3fcced6363188ba3 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 26 Jun 2004 19:01:18 +0000 Subject: Initial revision --- (limited to 'kabc/formats/vcardformatplugin2.cpp') diff --git a/kabc/formats/vcardformatplugin2.cpp b/kabc/formats/vcardformatplugin2.cpp new file mode 100644 index 0000000..2a772b4 --- a/dev/null +++ b/kabc/formats/vcardformatplugin2.cpp @@ -0,0 +1,123 @@ +/* +Enhanced Version of the file for platform independent KDE tools. +Copyright (c) 2004 Ulf Schenk + +$Id$ +*/ + +#include "vcardformatplugin2.h" + +#include "address.h" +#include "addressee.h" +#include "vcardparser/vcardtool.h" + +#include +#include + +using namespace KABC; + +/*US +extern "C" +{ + FormatPlugin *format() + { + qDebug(" VCardFormatPlugin2::format = new VCardFormatPlugin2"); + return new VCardFormatPlugin2(); + } +} +*/ + +VCardFormatPlugin2::VCardFormatPlugin2() +{ +} + +VCardFormatPlugin2::~VCardFormatPlugin2() +{ +} + +bool VCardFormatPlugin2::load( Addressee &addressee, QFile *file ) +{ + QString data; + + QTextStream t( file ); + t.setEncoding( QTextStream::UnicodeUTF8 ); + data = t.read(); + + VCardTool tool; + + Addressee::List l = tool.parseVCards( data ); + + if ( ! l.first().isEmpty() ) { + addressee = l.first(); + return true; + } + + return false; +} + +bool VCardFormatPlugin2::loadAll( AddressBook *addressBook, Resource *resource, QFile *file ) +{ + QString data; + + QTextStream t( file ); + t.setEncoding( QTextStream::UnicodeUTF8 ); + data = t.read(); + + VCardTool tool; + + Addressee::List l = tool.parseVCards( data ); + + Addressee::List::Iterator itr; + + for ( itr = l.begin(); itr != l.end(); ++itr) { + Addressee addressee = *itr; + addressee.setResource( resource ); + addressBook->insertAddressee( addressee ); + } + + return true; +} + +void VCardFormatPlugin2::save( const Addressee &addressee, QFile *file ) +{ + VCardTool tool; + Addressee::List vcardlist; + + + vcardlist.append( addressee ); + + QTextStream t( file ); + t.setEncoding( QTextStream::UnicodeUTF8 ); + t << tool.createVCards( vcardlist ); +} + +void VCardFormatPlugin2::saveAll( AddressBook *ab, Resource *resource, QFile *file ) +{ + VCardTool tool; + Addressee::List vcardlist; + + AddressBook::Iterator it; + for ( it = ab->begin(); it != ab->end(); ++it ) { + if ( (*it).resource() == resource ) { + (*it).setChanged( false ); + vcardlist.append( *it ); + } + } + + QTextStream t( file ); + t.setEncoding( QTextStream::UnicodeUTF8 ); + t << tool.createVCards( vcardlist ); +} + +bool VCardFormatPlugin2::checkFormat( QFile *file ) const +{ + QString line; + + file->readLine( line, 1024 ); + line = line.stripWhiteSpace(); + if ( line == "BEGIN:VCARD" ) + return true; + else + return false; +} + -- cgit v0.9.0.2