Diffstat (limited to 'kaddressbook/xxport/opie_xxport.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | kaddressbook/xxport/opie_xxport.cpp | 116 |
1 files changed, 6 insertions, 110 deletions
diff --git a/kaddressbook/xxport/opie_xxport.cpp b/kaddressbook/xxport/opie_xxport.cpp index 192b803..7b29b0a 100644 --- a/kaddressbook/xxport/opie_xxport.cpp +++ b/kaddressbook/xxport/opie_xxport.cpp @@ -10,186 +10,82 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, permission is given to link this program 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 <qdir.h> #include <kfiledialog.h> -#include <kmessagebox.h> - -//US #include <opie/ocontactaccess.h> -//US #include <opie/ocontactaccessbackend_xml.h> - -//US #include "stdaddressbook.h" -#include "resource.h" -#include "tmpaddressbook.h" - -/*US -#include <qfile.h> -#include <qtextstream.h> - -#include <kabc/vcardconverter.h> -#ifndef KAB_EMBEDDED -#include <kio/netaccess.h> -#endif //KAB_EMBEDDED - -#include <klocale.h> -#include <kmessagebox.h> -#include <ktempfile.h> -#include <kurl.h> -*/ - -#include <factory.h> - +#include "addressee.h" #include "xxportmanager.h" - #include "opie_xxport.h" /*US class OpieXXPortFactory : public XXPortFactory { public: XXPortObject *xxportObject( KABC::AddressBook *ab, QWidget *parent, const char *name ) { return new OpieXXPort( ab, parent, name ); } }; */ extern "C" { void *init_microkaddrbk_opie_xxport() { return ( new OpieXXPortFactory() ); } } OpieXXPort::OpieXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name ) : XXPortResourceObject( ab, parent, name ) { defaultFileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; - KRES::Factory* mFactory = KRES::Factory::self( "contact" ); - - if ( mFactory ) - { - mResource = (KABC::Resource*)(mFactory->resource( "opie", 0, false )); - - if ( mResource ) + if ( mFactory && !mFactory->typeName( "opie" ).isEmpty() ) { createImportAction( i18n( "Import Opie..." ) ); createExportAction( i18n( "Export Opie..." ) ); } } -} -bool OpieXXPort::exportContacts( const KABC::AddresseeList &list, const QString &data ) +bool OpieXXPort::exportContacts( const KABC::AddresseeList &list, const QString &identifier ) { - if (mResource == 0) - return false; - QString fileName = KFileDialog::getSaveFileName( defaultFileName, i18n("Save file"), parentWidget() ); if ( fileName.isEmpty() ) return false; - mResource->setFileName( fileName ); - - - KABC::TmpAddressBook tmpAB; - - tmpAB.addResource( mResource ); - - qDebug("11111"); - - //Now check if the file has already entries, and ask the user if he wants to delete them first. - KABC::AddressBook::Iterator it2 = tmpAB.begin(); - for ( it2 = tmpAB.begin(); it2 != tmpAB.end(); ++it2 ) { - KABC::Addressee addressee = (*it2); - qDebug("found %s", addressee.formattedName().latin1()); + return _exportContacts( list, identifier, fileName ); } - if (it2 != 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(); - } - } - qDebug("22222"); - -//US debug - QPtrList<KABC::Resource> kabcResources = tmpAB.resources(); - QPtrListIterator<KABC::Resource> resIt( kabcResources ); - KABC::Resource *resource; - while ( ( resource = resIt.current() ) != 0 ) { - ++resIt; - qDebug("tmpAB has resource: %s", resource->identifier().latin1()); - } - - - KABC::Addressee::List::ConstIterator it; - for ( it = list.begin(); it != list.end(); ++it ) { - tmpAB.insertAddressee(*it); - } - - bool res = false; - KABC::Ticket * ticket = tmpAB.requestSaveTicket(mResource); - - if (ticket != 0) - res = tmpAB.save( ticket ); - tmpAB.removeResource( mResource ); - - return res; -} - - -KABC::AddresseeList OpieXXPort::importContacts( const QString& ) const +KABC::AddresseeList OpieXXPort::importContacts( const QString &identifier ) const { - if (mResource == 0) - return KABC::AddresseeList(); - - KABC::AddresseeList adrlst; - QString fileName = KFileDialog::getOpenFileName( defaultFileName, i18n("Load file"), parentWidget() ); if ( fileName.isEmpty() ) return KABC::AddresseeList(); - mResource->setFileName( fileName ); - - - KABC::TmpAddressBook tmpAB; - - tmpAB.addResource( mResource ); - - bool res = tmpAB.load(); - - adrlst = tmpAB.allAddressees(); - - tmpAB.removeResource( mResource ); - - return adrlst; - + return _importContacts( identifier, fileName ); } |