-rw-r--r-- | kabc/plugins/qtopia/resourceqtopia.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/xxport/qtopia_xxport.cpp | 16 | ||||
-rw-r--r-- | kaddressbook/xxportobject.cpp | 9 |
3 files changed, 19 insertions, 8 deletions
diff --git a/kabc/plugins/qtopia/resourceqtopia.cpp b/kabc/plugins/qtopia/resourceqtopia.cpp index d6df981..cf6b11a 100644 --- a/kabc/plugins/qtopia/resourceqtopia.cpp +++ b/kabc/plugins/qtopia/resourceqtopia.cpp @@ -154,25 +154,25 @@ void ResourceQtopia::doClose() bool ResourceQtopia::load() { QFile file( fileName() ); if ( !file.open(IO_ReadOnly ) ) { return false; } QDomDocument doc("mydocument" ); if ( !doc.setContent( &file ) ) { file.close(); - return false; + return true; } bool res; QDomElement docElem = doc.documentElement( ); QDomNode n = docElem.firstChild(); while ( !n.isNull() ) { QDomElement e = n.toElement(); if ( !e.isNull() ) { if ( e.tagName() == QString::fromLatin1( "Contacts" ) ) { QDomNode no = e.firstChild(); while ( !no.isNull() ) { QDomElement el = no.toElement(); if ( !el.isNull() ) { diff --git a/kaddressbook/xxport/qtopia_xxport.cpp b/kaddressbook/xxport/qtopia_xxport.cpp index 0cf6546..fc4abbb 100644 --- a/kaddressbook/xxport/qtopia_xxport.cpp +++ b/kaddressbook/xxport/qtopia_xxport.cpp @@ -24,24 +24,25 @@ /* Enhanced Version of the file for platform independent KDE tools. Copyright (c) 2004 Ulf Schenk $Id$ */ #include <qdir.h> #include "addressee.h" #include "xxportmanager.h" #include "qtopia_xxport.h" +#include <kfiledialog.h> /*US class QtopiaXXPortFactory : public XXPortFactory { public: XXPortObject *xxportObject( KABC::AddressBook *ab, QWidget *parent, const char *name ) { return new QtopiaXXPort( ab, parent, name ); } }; */ @@ -53,26 +54,33 @@ extern "C" } } QtopiaXXPort::QtopiaXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name ) : XXPortResourceObject( ab, parent, name ) { defaultFileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; if ( mFactory && !mFactory->typeName( "qtopia" ).isEmpty() ) { - createImportAction( i18n( "Import Qtopia..." ) ); - createExportAction( i18n( "Export Qtopia..." ) ); + createImportAction( i18n( "Import xml (Qtopia)..." ) ); + createExportAction( i18n( "Export xml (Qtopia)..." ) ); } } bool QtopiaXXPort::exportContacts( const KABC::AddresseeList &list, const QString &identifier ) { - return _exportContacts( list, identifier, defaultFileName ); + QString fn =KFileDialog::getSaveFileName( defaultFileName, i18n("Import xml file"), 0 ); + if ( fn == "" ) + return false; + + return _exportContacts( list, identifier, fn ); } KABC::AddresseeList QtopiaXXPort::importContacts( const QString &identifier ) const { - return _importContacts( identifier, defaultFileName ); + QString fn =KFileDialog::getOpenFileName( defaultFileName, i18n("Import xml file"), 0 ); + if ( fn == "" ) + return KABC::AddresseeList() ; + return _importContacts( identifier, fn ); } diff --git a/kaddressbook/xxportobject.cpp b/kaddressbook/xxportobject.cpp index 67e8406..bd9d986 100644 --- a/kaddressbook/xxportobject.cpp +++ b/kaddressbook/xxportobject.cpp @@ -20,24 +20,25 @@ 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 <qmap.h> +#include <qfile.h> #include <qsignalmapper.h> #include <kaction.h> #include <kmessagebox.h> #include <factory.h> #include "kabcore.h" #include "addressee.h" #include "tmpaddressbook.h" #include "xxportobject.h" @@ -172,56 +173,58 @@ bool XXPortResourceObject::isAvailable() return (mFactory != 0); } bool XXPortResourceObject::_exportContacts( const KABC::AddresseeList &list, const QString& identifier, const QString& fileName ) { //create new resource KABC::Resource* mResource = (KABC::Resource*)(mFactory->resource( this->identifier(), 0 )); if (mResource == 0) return false; - if (fileName != QString::null) + if (fileName != QString::null) { mResource->setFileName( fileName ); + } else + return false; KABC::TmpAddressBook tmpAB; bool res = tmpAB.addResource( mResource ); if (res == false) { delete mResource; return false; } - + if ( QFile::exists ( fileName ) ) { res = tmpAB.load(); if (res == false) { //removeResource deletes also the resource object, if the linkcount is 0 tmpAB.removeResource( mResource ); return false; } //Now check if the file has already entries, and ask the user if he wants to delete them first. if (tmpAB.begin() != tmpAB.end()) { QString text( i18n( "Do you want to remove<br>all existing entries from<br>%1<br>before exporting.?" ) ); if ( KMessageBox::questionYesNo( parentWidget(), text.arg( fileName ) ) == KMessageBox::Yes ) { // Clean the database.. tmpAB.clear(); } } - + } KABC::Addressee::List::ConstIterator it; for ( it = list.begin(); it != list.end(); ++it ) { tmpAB.insertAddressee(*it); } KABC::Ticket * ticket = tmpAB.requestSaveTicket(mResource); res = false; if (ticket != 0) res = tmpAB.save( ticket ); |