summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/xxport/vcard_xxport.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/kaddressbook/xxport/vcard_xxport.cpp b/kaddressbook/xxport/vcard_xxport.cpp
index 54d0cbd..b53f873 100644
--- a/kaddressbook/xxport/vcard_xxport.cpp
+++ b/kaddressbook/xxport/vcard_xxport.cpp
@@ -23,24 +23,25 @@
/*
Enhanced Version of the file for platform independent KDE tools.
Copyright (c) 2004 Ulf Schenk
$Id$
*/
#include <qfile.h>
#include <qtextstream.h>
#include <kabc/vcardconverter.h>
+#include <kabc/vcardparser/vcardtool.h>
#include <kfiledialog.h>
#ifndef KAB_EMBEDDED
#include <kio/netaccess.h>
#endif //KAB_EMBEDDED
#include <klocale.h>
#include <kmessagebox.h>
#include <ktempfile.h>
#include <kurl.h>
#include "xxportmanager.h"
@@ -201,46 +202,53 @@ KABC::AddresseeList VCardXXPort::importContacts( const QString& ) const
QString data = QString::fromUtf8( rawData.data(), rawData.size() + 1 );
addrList = parseVCard( data );
}
#endif //KAB_EMBEDDED
return addrList;
}
KABC::AddresseeList VCardXXPort::parseVCard( const QString &data ) const
{
- KABC::VCardConverter converter;
- KABC::AddresseeList addrList;
+ KABC::VCardTool tool;
+ KABC::AddresseeList addrList;
+ addrList = tool.parseVCards( data );
+ // LR : I switched to the code, which is in current cvs HEAD
+ /*
uint numVCards = data.contains( "BEGIN:VCARD", false );
QStringList dataList = QStringList::split( "\r\n\r\n", data );
for ( uint i = 0; i < numVCards && i < dataList.count(); ++i ) {
KABC::Addressee addr;
bool ok = false;
if ( dataList[ i ].contains( "VERSION:3.0" ) )
ok = converter.vCardToAddressee( dataList[ i ], addr, KABC::VCardConverter::v3_0 );
else if ( dataList[ i ].contains( "VERSION:2.1" ) )
ok = converter.vCardToAddressee( dataList[ i ], addr, KABC::VCardConverter::v2_1 );
else {
KMessageBox::sorry( parentWidget(), i18n( "Not supported vCard version." ) );
continue;
}
if ( !addr.isEmpty() && ok )
addrList.append( addr );
else {
QString text = i18n( "The selected file does not include a valid vCard. "
"Please check the file and try again." );
KMessageBox::sorry( parentWidget(), text );
}
}
-
+ */
+ if ( addrList.isEmpty() ) {
+ QString text = i18n( "The selected file does not\ninclude a valid vCard.\nPlease check the file and try again.\n" );
+ KMessageBox::sorry( parentWidget(), text );
+ }
return addrList;
}
#ifndef KAB_EMBEDDED
#include "vcard_xxport.moc"
#endif //KAB_EMBEDDED