Diffstat (limited to 'kaddressbook/xxport/vcard_xxport.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | kaddressbook/xxport/vcard_xxport.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kaddressbook/xxport/vcard_xxport.cpp b/kaddressbook/xxport/vcard_xxport.cpp index c017f5b..54d0cbd 100644 --- a/kaddressbook/xxport/vcard_xxport.cpp +++ b/kaddressbook/xxport/vcard_xxport.cpp @@ -134,106 +134,110 @@ KABC::AddresseeList VCardXXPort::importContacts( const QString& ) const KABC::AddresseeList addrList; KURL url; #ifndef KAB_EMBEDDED if ( !XXPortManager::importData.isEmpty() ) addrList = parseVCard( XXPortManager::importData ); else { if ( XXPortManager::importURL.isEmpty() ) { url = KFileDialog::getLoadFileName( QString::null, i18n("Select vCard to Import"), parentWidget() ); } else url = XXPortManager::importURL; if ( url.isEmpty() ) return addrList; QString caption( i18n( "vCard Import Failed" ) ); if ( KIO::NetAccess::download( url, fileName ) ) { QFile file( fileName ); file.open( IO_ReadOnly ); QByteArray rawData = file.readAll(); file.close(); QString data = QString::fromUtf8( rawData.data(), rawData.size() + 1 ); addrList = parseVCard( data ); if ( !url.isLocalFile() ) KIO::NetAccess::removeTempFile( fileName ); } else { QString text = i18n( "<qt>Unable to access <b>%1</b>.</qt>" ); 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; + } else { //US url = XXPortManager::importURL; qDebug("VCardXXPort::importContacts Urls at the moment not supported"); - } - if ( url.isEmpty() ) return addrList; + } + + QFile file( fileName ); file.open( IO_ReadOnly ); QByteArray rawData = file.readAll(); file.close(); 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; 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 ); } } return addrList; } |