Submitted By: Bruce Dubbs (bdubbs at linuxfromscratch dot org) Date: 2009-01-03 Initial Package Version: 3.1.3 Origin: Upstream via Thomas ??? Description: Fix https://bugs.kde.org/show_bug.cgi?id=159795 diff -Naur kdepim-3.5.10-orig/kaddressbook/interfaces/core.h kdepim-3.5.10/kaddressbook/interfaces/core.h --- kdepim-3.5.10-orig/kaddressbook/interfaces/core.h 2008-02-13 10:39:42.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/interfaces/core.h 2008-12-29 23:19:28.000000000 +0100 @@ -166,7 +166,7 @@ /** DCOP METHOD: Imports the given vCard. */ - virtual void importVCardFromData( const QString& vCard ) = 0; + virtual void importVCardFromData( const QCString& vCard ) = 0; /** DCOP METHOD: Opens contact editor to input a new contact. diff -Naur kdepim-3.5.10-orig/kaddressbook/kabcore.cpp kdepim-3.5.10/kaddressbook/kabcore.cpp --- kdepim-3.5.10-orig/kaddressbook/kabcore.cpp 2008-08-19 20:15:52.000000000 +0200 +++ kdepim-3.5.10/kaddressbook/kabcore.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -747,7 +747,7 @@ mXXPortManager->importVCard( url ); } -void KABCore::importVCardFromData( const QString &vCard ) +void KABCore::importVCardFromData( const QCString &vCard ) { mXXPortManager->importVCardFromData( vCard ); } diff -Naur kdepim-3.5.10-orig/kaddressbook/kabcore.h kdepim-3.5.10/kaddressbook/kabcore.h --- kdepim-3.5.10-orig/kaddressbook/kabcore.h 2008-08-19 20:15:52.000000000 +0200 +++ kdepim-3.5.10/kaddressbook/kabcore.h 2008-12-29 23:19:28.000000000 +0100 @@ -301,7 +301,7 @@ /** DCOP METHOD: Imports the given vCard. */ - virtual void importVCardFromData( const QString& vCard ); + virtual void importVCardFromData( const QCString& vCard ); /** DCOP METHOD: Opens contact editor to input a new contact. diff -Naur kdepim-3.5.10-orig/kaddressbook/kaddressbookiface.h kdepim-3.5.10/kaddressbook/kaddressbookiface.h --- kdepim-3.5.10-orig/kaddressbook/kaddressbookiface.h 2008-02-13 10:39:43.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/kaddressbookiface.h 2008-12-29 23:19:28.000000000 +0100 @@ -36,7 +36,7 @@ k_dcop: virtual void addEmail( QString addr ) = 0; virtual void importVCard( const KURL& url ) = 0; - virtual void importVCardFromData( const QString& vCard ) = 0; + virtual void importVCardFromData( const QCString& vCard ) = 0; virtual ASYNC showContactEditor( QString uid ) = 0; diff -Naur kdepim-3.5.10-orig/kaddressbook/kaddressbookmain.cpp kdepim-3.5.10/kaddressbook/kaddressbookmain.cpp --- kdepim-3.5.10-orig/kaddressbook/kaddressbookmain.cpp 2008-02-13 10:39:43.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/kaddressbookmain.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -89,7 +89,7 @@ mCore->importVCard( url ); } -void KAddressBookMain::importVCardFromData( const QString& vCard ) +void KAddressBookMain::importVCardFromData( const QCString& vCard ) { mCore->importVCardFromData( vCard ); } diff -Naur kdepim-3.5.10-orig/kaddressbook/kaddressbookmain.h kdepim-3.5.10/kaddressbook/kaddressbookmain.h --- kdepim-3.5.10-orig/kaddressbook/kaddressbookmain.h 2008-02-13 10:39:43.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/kaddressbookmain.h 2008-12-29 23:19:28.000000000 +0100 @@ -53,7 +53,7 @@ public slots: virtual void addEmail( QString addr ); virtual void importVCard( const KURL& url ); - virtual void importVCardFromData( const QString& vCard ); + virtual void importVCardFromData( const QCString& vCard ); virtual ASYNC showContactEditor( QString uid ); virtual void newContact(); virtual void newDistributionList(); diff -Naur kdepim-3.5.10-orig/kaddressbook/kaddressbook_part.cpp kdepim-3.5.10/kaddressbook/kaddressbook_part.cpp --- kdepim-3.5.10-orig/kaddressbook/kaddressbook_part.cpp 2008-02-13 10:39:43.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/kaddressbook_part.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -92,7 +92,7 @@ mCore->importVCard( url ); } -void KAddressbookPart::importVCardFromData( const QString& vCard ) +void KAddressbookPart::importVCardFromData( const QCString& vCard ) { mCore->importVCardFromData( vCard ); } diff -Naur kdepim-3.5.10-orig/kaddressbook/kaddressbook_part.h kdepim-3.5.10/kaddressbook/kaddressbook_part.h --- kdepim-3.5.10-orig/kaddressbook/kaddressbook_part.h 2008-02-13 10:39:43.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/kaddressbook_part.h 2008-12-29 23:19:28.000000000 +0100 @@ -50,7 +50,7 @@ public slots: virtual void addEmail( QString addr ); virtual void importVCard( const KURL& url ); - virtual void importVCardFromData( const QString& vCard ); + virtual void importVCardFromData( const QCString& vCard ); virtual ASYNC showContactEditor( QString uid ); virtual void newContact(); virtual void newDistributionList(); diff -Naur kdepim-3.5.10-orig/kaddressbook/kaddressbookservice.cpp kdepim-3.5.10/kaddressbook/kaddressbookservice.cpp --- kdepim-3.5.10-orig/kaddressbook/kaddressbookservice.cpp 2007-10-08 11:50:46.000000000 +0200 +++ kdepim-3.5.10/kaddressbook/kaddressbookservice.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -30,7 +30,7 @@ { } -void KAddressBookService::importVCardFromData( const QString& vCard ) +void KAddressBookService::importVCardFromData( const QCString& vCard ) { mCore->importVCardFromData( vCard ); } diff -Naur kdepim-3.5.10-orig/kaddressbook/kaddressbookservice.h kdepim-3.5.10/kaddressbook/kaddressbookservice.h --- kdepim-3.5.10-orig/kaddressbook/kaddressbookservice.h 2007-10-08 11:50:46.000000000 +0200 +++ kdepim-3.5.10/kaddressbook/kaddressbookservice.h 2008-12-29 23:19:28.000000000 +0100 @@ -40,7 +40,7 @@ @param vCard The vCard in string representation. */ - void importVCardFromData( const QString& vCard ); + void importVCardFromData( const QCString& vCard ); /** This method will add a vcard to the address book. diff -Naur kdepim-3.5.10-orig/kaddressbook/thumbnailcreator/ldifvcardcreator.cpp kdepim-3.5.10/kaddressbook/thumbnailcreator/ldifvcardcreator.cpp --- kdepim-3.5.10-orig/kaddressbook/thumbnailcreator/ldifvcardcreator.cpp 2008-02-13 10:39:43.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/thumbnailcreator/ldifvcardcreator.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -75,7 +75,9 @@ text.truncate(0); // read the file - QString contents = file.readAll(); + const QByteArray data = file.readAll(); + const QString contents( data ); + const QCString contentsRaw( data.data(), data.size() ); file.close(); // convert the file contents to a KABC::Addressee address @@ -83,7 +85,7 @@ KABC::Addressee addr; KABC::VCardConverter converter; - addrList = converter.parseVCards( contents ); + addrList = converter.parseVCardsRaw( contentsRaw ); if ( addrList.count() == 0 ) if ( !KABC::LDIFConverter::LDIFToAddressee( contents, addrList ) ) return false; diff -Naur kdepim-3.5.10-orig/kaddressbook/xxport/vcard_xxport.cpp kdepim-3.5.10/kaddressbook/xxport/vcard_xxport.cpp --- kdepim-3.5.10-orig/kaddressbook/xxport/vcard_xxport.cpp 2008-02-13 10:39:43.000000000 +0100 +++ kdepim-3.5.10/kaddressbook/xxport/vcard_xxport.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -118,9 +118,9 @@ return true; if ( data == "v21" ) - ok = doExport( url, converter.createVCards( list, KABC::VCardConverter::v2_1 ) ); + ok = doExport( url, converter.createVCardsRaw( list, KABC::VCardConverter::v2_1 ) ); else - ok = doExport( url, converter.createVCards( list, KABC::VCardConverter::v3_0 ) ); + ok = doExport( url, converter.createVCardsRaw( list, KABC::VCardConverter::v3_0 ) ); } else { QString msg = i18n( "You have selected a list of contacts, shall they be " "exported to several files?" ); @@ -151,9 +151,9 @@ tmpList.append( *it ); if ( data == "v21" ) - tmpOk = doExport( url, converter.createVCards( tmpList, KABC::VCardConverter::v2_1 ) ); + tmpOk = doExport( url, converter.createVCardsRaw( tmpList, KABC::VCardConverter::v2_1 ) ); else - tmpOk = doExport( url, converter.createVCards( tmpList, KABC::VCardConverter::v3_0 ) ); + tmpOk = doExport( url, converter.createVCardsRaw( tmpList, KABC::VCardConverter::v3_0 ) ); ok = ok && tmpOk; } @@ -166,9 +166,9 @@ return true; if ( data == "v21" ) - ok = doExport( url, converter.createVCards( list, KABC::VCardConverter::v2_1 ) ); + ok = doExport( url, converter.createVCardsRaw( list, KABC::VCardConverter::v2_1 ) ); else - ok = doExport( url, converter.createVCards( list, KABC::VCardConverter::v3_0 ) ); + ok = doExport( url, converter.createVCardsRaw( list, KABC::VCardConverter::v3_0 ) ); } } } @@ -206,7 +206,7 @@ QByteArray rawData = file.readAll(); file.close(); if ( rawData.size() > 0 ) - addrList += parseVCard( rawData ); + addrList += parseVCard( QCString( rawData.data(), rawData.size() ) ); KIO::NetAccess::removeTempFile( fileName ); } else { @@ -243,22 +243,19 @@ return addrList; } -KABC::AddresseeList VCardXXPort::parseVCard( const QString &data ) const +KABC::AddresseeList VCardXXPort::parseVCard( const QCString &data ) const { KABC::VCardConverter converter; - return converter.parseVCards( data ); + return converter.parseVCardsRaw( data ); } -bool VCardXXPort::doExport( const KURL &url, const QString &data ) +bool VCardXXPort::doExport( const KURL &url, const QCString &data ) { KTempFile tmpFile; tmpFile.setAutoDelete( true ); - QTextStream stream( tmpFile.file() ); - stream.setEncoding( QTextStream::UnicodeUTF8 ); - - stream << data; + tmpFile.file()->writeBlock( data, data.length() ); tmpFile.close(); return KIO::NetAccess::upload( tmpFile.name(), url, parentWidget() ); diff -Naur kdepim-3.5.10-orig/kaddressbook/xxport/vcard_xxport.h kdepim-3.5.10/kaddressbook/xxport/vcard_xxport.h --- kdepim-3.5.10-orig/kaddressbook/xxport/vcard_xxport.h 2005-09-10 10:24:17.000000000 +0200 +++ kdepim-3.5.10/kaddressbook/xxport/vcard_xxport.h 2008-12-29 23:19:28.000000000 +0100 @@ -40,8 +40,8 @@ KABC::AddresseeList importContacts( const QString &data ) const; private: - KABC::AddresseeList parseVCard( const QString &data ) const; - bool doExport( const KURL &url, const QString &data ); + KABC::AddresseeList parseVCard( const QCString &data ) const; + bool doExport( const KURL &url, const QCString &data ); void addKey( KABC::Addressee &addr, KABC::Key::Types type ); KABC::AddresseeList filterContacts( const KABC::AddresseeList& ); diff -Naur kdepim-3.5.10-orig/kaddressbook/xxportmanager.cpp kdepim-3.5.10/kaddressbook/xxportmanager.cpp --- kdepim-3.5.10-orig/kaddressbook/xxportmanager.cpp 2007-10-08 11:50:46.000000000 +0200 +++ kdepim-3.5.10/kaddressbook/xxportmanager.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -39,7 +39,7 @@ #include "xxportmanager.h" KURL XXPortManager::importURL = KURL(); -QString XXPortManager::importData = QString::null; +QCString XXPortManager::importData = QCString(); XXPortManager::XXPortManager( KAB::Core *core, QObject *parent, const char *name ) : QObject( parent, name ), mCore( core ) @@ -66,11 +66,11 @@ importURL = KURL(); } -void XXPortManager::importVCardFromData( const QString &vCard ) +void XXPortManager::importVCardFromData( const QCString &vCard ) { importData = vCard; slotImport( "vcard", "" ); - importData = ""; + importData = QCString(); } void XXPortManager::slotImport( const QString &identifier, const QString &data ) diff -Naur kdepim-3.5.10-orig/kaddressbook/xxportmanager.h kdepim-3.5.10/kaddressbook/xxportmanager.h --- kdepim-3.5.10-orig/kaddressbook/xxportmanager.h 2007-10-08 11:50:46.000000000 +0200 +++ kdepim-3.5.10/kaddressbook/xxportmanager.h 2008-12-29 23:19:28.000000000 +0100 @@ -49,11 +49,11 @@ void saveSettings(); static KURL importURL; - static QString importData; + static QCString importData; public slots: void importVCard( const KURL &url ); - void importVCardFromData( const QString &vCard ); + void importVCardFromData( const QCString &vCard ); signals: void modified(); diff -Naur kdepim-3.5.10-orig/kfile-plugins/vcf/kfile_vcf.cpp kdepim-3.5.10/kfile-plugins/vcf/kfile_vcf.cpp --- kdepim-3.5.10-orig/kfile-plugins/vcf/kfile_vcf.cpp 2008-02-13 10:39:52.000000000 +0100 +++ kdepim-3.5.10/kfile-plugins/vcf/kfile_vcf.cpp 2008-12-29 23:19:28.000000000 +0100 @@ -64,11 +64,12 @@ // even the vcard thumbnail QString::fromUtf8(buf_name));creator reads the full file ... // The following is partly copied from there - QString contents = file.readAll(); + const QByteArray contents = file.readAll(); + const QCString data( contents.data(), contents.size() ); file.close(); KABC::VCardConverter converter; - KABC::Addressee addr = converter.parseVCard(contents); + KABC::Addressee addr = converter.parseVCard( data ); KFileMetaInfoGroup group = appendGroup(info, "Technical"); diff -Naur kdepim-3.5.10-orig/libkdepim/interfaces/AddressBookServiceIface.h kdepim-3.5.10/libkdepim/interfaces/AddressBookServiceIface.h --- kdepim-3.5.10-orig/libkdepim/interfaces/AddressBookServiceIface.h 2007-10-08 11:50:47.000000000 +0200 +++ kdepim-3.5.10/libkdepim/interfaces/AddressBookServiceIface.h 2008-12-29 23:19:28.000000000 +0100 @@ -43,7 +43,7 @@ @param vCard The vCard in string representation. */ - virtual void importVCardFromData( const QString& vCard ) = 0; + virtual void importVCardFromData( const QCString& vCard ) = 0; /** This method will add a vcard to the address book.