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 | 9 |
2 files changed, 18 insertions, 7 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 @@ -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 ); |