Diffstat (limited to 'kaddressbook/xxport/qtopia/qtopia_xxport.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kaddressbook/xxport/qtopia/qtopia_xxport.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp b/kaddressbook/xxport/qtopia/qtopia_xxport.cpp index 3d830df..bf39fdb 100644 --- a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp +++ b/kaddressbook/xxport/qtopia/qtopia_xxport.cpp @@ -142,50 +142,60 @@ bool QtopiaXXPort::exportContacts( const KABC::AddresseeList &list, const QStrin } delete access; return true; } KABC::AddresseeList QtopiaXXPort::importContacts( const QString& ) const { KABC::AddresseeList adrlst; QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; AddressBookAccess* access = new AddressBookAccess(); if ( !access ) { QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) ); qDebug(text.latin1()); addressBook()->error( text ); KMessageBox::error( parentWidget(), text ); return KABC::AddresseeList(); } KABC::QtopiaConverter mConverter; - bool res = false; + bool res = mConverter.init(); + if (!res) + { + QString text( i18n( "Unable to initialize qtopia converter.<br>Most likely a problem with the category file." ) ); + qDebug(text); + KMessageBox::error( parentWidget(), text ); + delete access; + return KABC::AddresseeList(); + } + + { //create a new scope AddressBookIterator it(*access); for (it.toFirst(); it.current(); ++it) { const PimContact*contact = it.current(); KABC::Addressee addressee; res = mConverter.qtopiaToAddressee( (*contact), addressee ); if ( !addressee.isEmpty() && res ) { adrlst.append( addressee ); } } } delete access; //US the deletion of the access object deletes the backend object as well. return adrlst; } |