summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/xxport/vcard_xxport.cpp16
1 files changed, 12 insertions, 4 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
@@ -11,48 +11,49 @@
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
without including the source code for Qt in the source distribution.
*/
/*
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"
#include "vcard_xxport.h"
#ifndef KAB_EMBEDDED
class VCardXXPortFactory : public XXPortFactory
{
public:
XXPortObject *xxportObject( KABC::AddressBook *ab, QWidget *parent, const char *name )
{
return new VCardXXPort( ab, parent, name );
}
};
@@ -188,59 +189,66 @@ KABC::AddresseeList VCardXXPort::importContacts( const QString& ) const
//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::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