author | zautrix <zautrix> | 2004-10-29 11:23:51 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-29 11:23:51 (UTC) |
commit | 2d28a226645f56a96fe0a8252e0d7e7b2cc4df2e (patch) (side-by-side diff) | |
tree | 183624f038dc3176e89db748f25b024aa75b6365 /kaddressbook | |
parent | 67146a3d92727f6fe3e92eacdb51da58bc7b0adf (diff) | |
download | kdepimpi-2d28a226645f56a96fe0a8252e0d7e7b2cc4df2e.zip kdepimpi-2d28a226645f56a96fe0a8252e0d7e7b2cc4df2e.tar.gz kdepimpi-2d28a226645f56a96fe0a8252e0d7e7b2cc4df2e.tar.bz2 |
added filedialog to xml im/export
-rw-r--r-- | kaddressbook/xxport/qtopia_xxport.cpp | 16 | ||||
-rw-r--r-- | kaddressbook/xxportobject.cpp | 85 |
2 files changed, 56 insertions, 45 deletions
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 @@ -33,6 +33,7 @@ $Id$ #include "addressee.h" #include "xxportmanager.h" #include "qtopia_xxport.h" +#include <kfiledialog.h> /*US class QtopiaXXPortFactory : public XXPortFactory @@ -62,17 +63,24 @@ 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)..." ) ); } } 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 @@ -29,6 +29,7 @@ $Id$ */ #include <qmap.h> +#include <qfile.h> #include <qsignalmapper.h> #include <kaction.h> @@ -176,50 +177,52 @@ bool XXPortResourceObject::isAvailable() 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) - 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; if (ticket != 0) |