summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2005-07-06 09:29:15 (UTC)
committer zautrix <zautrix>2005-07-06 09:29:15 (UTC)
commit38c8ca3f376451c072650fad8964adbbc513a105 (patch) (unidiff)
treeb1d4f1cec8b208294a16ff0d88ef6f8d5812c887 /kaddressbook
parent68016257abe13019610cb7bb230f8d754179abfb (diff)
downloadkdepimpi-38c8ca3f376451c072650fad8964adbbc513a105.zip
kdepimpi-38c8ca3f376451c072650fad8964adbbc513a105.tar.gz
kdepimpi-38c8ca3f376451c072650fad8964adbbc513a105.tar.bz2
fixxxx
Diffstat (limited to 'kaddressbook') (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
@@ -176,52 +176,63 @@ KABC::AddresseeList VCardXXPort::importContacts( const QString& ) const
176 176
177 if ( !XXPortManager::importData.isEmpty() ) 177 if ( !XXPortManager::importData.isEmpty() )
178 addrList = parseVCard( XXPortManager::importData ); 178 addrList = parseVCard( XXPortManager::importData );
179 else { 179 else {
180 if ( XXPortManager::importURL.isEmpty() ) 180 if ( XXPortManager::importURL.isEmpty() )
181 { 181 {
182 fileName = KFileDialog::getOpenFileName( QString::null, i18n("Select vCard to Import"), parentWidget() ); 182 fileName = KFileDialog::getOpenFileName( QString::null, i18n("Select vCard to Import"), parentWidget() );
183 183
184 if ( fileName.isEmpty() ) 184 if ( fileName.isEmpty() )
185 return addrList; 185 return addrList;
186 QFileInfo fi ( fileName ); 186 QFileInfo fi ( fileName );
187 if ( !fi.isFile() ) 187 if ( !fi.isFile() )
188 return addrList; 188 return addrList;
189 } 189 }
190 else 190 else
191 { 191 {
192 //US url = XXPortManager::importURL; 192 //US url = XXPortManager::importURL;
193 qDebug("VCardXXPort::importContacts Urls at the moment not supported"); 193 qDebug("VCardXXPort::importContacts Urls at the moment not supported");
194 if ( url.isEmpty() ) 194 if ( url.isEmpty() )
195 return addrList; 195 return addrList;
196 196
197 } 197 }
198 QFile file( fileName ); 198 QFile file( fileName );
199 if ( file.open( IO_ReadOnly ) ) { 199 if ( file.open( IO_ReadOnly ) ) {
200 QByteArray rawData = file.readAll(); 200 QCString rawData ( file.readAll().data(),file.size()+1);
201 file.close(); 201 file.close();
202 QString data = QString::fromUtf8( rawData.data(), rawData.size() + 1 ); 202 int start = 0;
203 addrList = parseVCard( data ); 203#ifndef DESKTOP_VERSION
204 while ( start < rawData.size()-2 ) {
205 if ( rawData.at( start ) == '\r' )
206 if ( rawData.at( start+1 ) == '\n' )
207 if ( rawData.at( start+2 ) == ' ' ) {
208 rawData.remove(start,3);
209 --start;
210 }
211 ++start;
212 }
213#endif
214 addrList = parseVCard( QString::fromUtf8( rawData.data() ) );
204 } 215 }
205 216
206 } 217 }
207#endif //KAB_EMBEDDED 218#endif //KAB_EMBEDDED
208 219
209 return addrList; 220 return addrList;
210} 221}
211 222
212KABC::AddresseeList VCardXXPort::parseVCard( const QString &data ) const 223KABC::AddresseeList VCardXXPort::parseVCard( const QString &data ) const
213{ 224{
214 225
215 KABC::VCardTool tool; 226 KABC::VCardTool tool;
216 KABC::AddresseeList addrList; 227 KABC::AddresseeList addrList;
217 addrList = tool.parseVCards( data ); 228 addrList = tool.parseVCards( data );
218 // LR : I switched to the code, which is in current cvs HEAD 229 // LR : I switched to the code, which is in current cvs HEAD
219 /* 230 /*
220 uint numVCards = data.contains( "BEGIN:VCARD", false ); 231 uint numVCards = data.contains( "BEGIN:VCARD", false );
221 QStringList dataList = QStringList::split( "\r\n\r\n", data ); 232 QStringList dataList = QStringList::split( "\r\n\r\n", data );
222 233
223 for ( uint i = 0; i < numVCards && i < dataList.count(); ++i ) { 234 for ( uint i = 0; i < numVCards && i < dataList.count(); ++i ) {
224 KABC::Addressee addr; 235 KABC::Addressee addr;
225 bool ok = false; 236 bool ok = false;
226 237
227 if ( dataList[ i ].contains( "VERSION:3.0" ) ) 238 if ( dataList[ i ].contains( "VERSION:3.0" ) )