-rw-r--r-- | kabc/plugins/qtopia/resourceqtopia.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/xxport/qtopia_xxport.cpp | 16 | ||||
-rw-r--r-- | kaddressbook/xxportobject.cpp | 85 |
3 files changed, 57 insertions, 46 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 @@ -164,5 +164,5 @@ bool ResourceQtopia::load() if ( !doc.setContent( &file ) ) { file.close(); - return false; + return true; } bool res; 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 @@ -34,4 +34,5 @@ $Id$ #include "xxportmanager.h" #include "qtopia_xxport.h" +#include <kfiledialog.h> /*US @@ -63,6 +64,6 @@ QtopiaXXPort::QtopiaXXPort( KABC::AddressBook *ab, QWidget *parent, const char * if ( mFactory && !mFactory->typeName( "qtopia" ).isEmpty() ) { - createImportAction( i18n( "Import Qtopia..." ) ); - createExportAction( i18n( "Export Qtopia..." ) ); + createImportAction( i18n( "Import xml (Qtopia)..." ) ); + createExportAction( i18n( "Export xml (Qtopia)..." ) ); } } @@ -70,9 +71,16 @@ QtopiaXXPort::QtopiaXXPort( KABC::AddressBook *ab, QWidget *parent, const char * 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 @@ -30,4 +30,5 @@ $Id$ #include <qmap.h> +#include <qfile.h> #include <qsignalmapper.h> @@ -177,48 +178,50 @@ bool XXPortResourceObject::_exportContacts( const KABC::AddresseeList &list, con { //create new resource - KABC::Resource* mResource = (KABC::Resource*)(mFactory->resource( this->identifier(), 0 )); - - if (mResource == 0) - return false; - - if (fileName != QString::null) - mResource->setFileName( fileName ); - - - KABC::TmpAddressBook tmpAB; - - bool res = tmpAB.addResource( mResource ); - if (res == false) - { - delete mResource; - return false; - } - - 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::Resource* mResource = (KABC::Resource*)(mFactory->resource( this->identifier(), 0 )); + + if (mResource == 0) + return false; + + 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::Addressee::List::ConstIterator it; - for ( it = list.begin(); it != list.end(); ++it ) { - tmpAB.insertAddressee(*it); - } - - KABC::Ticket * ticket = tmpAB.requestSaveTicket(mResource); + KABC::Ticket * ticket = tmpAB.requestSaveTicket(mResource); res = false; |