summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxport
authorzautrix <zautrix>2005-07-06 09:29:15 (UTC)
committer zautrix <zautrix>2005-07-06 09:29:15 (UTC)
commit38c8ca3f376451c072650fad8964adbbc513a105 (patch) (side-by-side diff)
treeb1d4f1cec8b208294a16ff0d88ef6f8d5812c887 /kaddressbook/xxport
parent68016257abe13019610cb7bb230f8d754179abfb (diff)
downloadkdepimpi-38c8ca3f376451c072650fad8964adbbc513a105.zip
kdepimpi-38c8ca3f376451c072650fad8964adbbc513a105.tar.gz
kdepimpi-38c8ca3f376451c072650fad8964adbbc513a105.tar.bz2
fixxxx
Diffstat (limited to 'kaddressbook/xxport') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/xxport/vcard_xxport.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/kaddressbook/xxport/vcard_xxport.cpp b/kaddressbook/xxport/vcard_xxport.cpp
index c56be8b..91df96d 100644
--- a/kaddressbook/xxport/vcard_xxport.cpp
+++ b/kaddressbook/xxport/vcard_xxport.cpp
@@ -168,68 +168,79 @@ KABC::AddresseeList VCardXXPort::importContacts( const QString& ) const
KMessageBox::error( parentWidget(), text.arg( url.url() ), caption );
}
}
#else //KAB_EMBEDDED
if ( !XXPortManager::importData.isEmpty() )
addrList = parseVCard( XXPortManager::importData );
else {
if ( XXPortManager::importURL.isEmpty() )
{
fileName = KFileDialog::getOpenFileName( QString::null, i18n("Select vCard to Import"), parentWidget() );
if ( fileName.isEmpty() )
return addrList;
QFileInfo fi ( fileName );
if ( !fi.isFile() )
return addrList;
}
else
{
//US url = XXPortManager::importURL;
qDebug("VCardXXPort::importContacts Urls at the moment not supported");
if ( url.isEmpty() )
return addrList;
}
QFile file( fileName );
if ( file.open( IO_ReadOnly ) ) {
- QByteArray rawData = file.readAll();
+ QCString rawData ( file.readAll().data(),file.size()+1);
file.close();
- QString data = QString::fromUtf8( rawData.data(), rawData.size() + 1 );
- addrList = parseVCard( data );
+ int start = 0;
+#ifndef DESKTOP_VERSION
+ while ( start < rawData.size()-2 ) {
+ if ( rawData.at( start ) == '\r' )
+ if ( rawData.at( start+1 ) == '\n' )
+ if ( rawData.at( start+2 ) == ' ' ) {
+ rawData.remove(start,3);
+ --start;
+ }
+ ++start;
+ }
+#endif
+ addrList = parseVCard( QString::fromUtf8( rawData.data() ) );
}
}
#endif //KAB_EMBEDDED
return addrList;
}
KABC::AddresseeList VCardXXPort::parseVCard( const QString &data ) const
{
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;
}