summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxport/qtopia_xxport.cpp
authorulf69 <ulf69>2004-08-03 20:49:15 (UTC)
committer ulf69 <ulf69>2004-08-03 20:49:15 (UTC)
commitbe52d7d03e57620919b23cb0cbb33ac22d0920e0 (patch) (side-by-side diff)
tree34e8e29a221c828424126694f865d702c7635f97 /kaddressbook/xxport/qtopia_xxport.cpp
parentd5358380edce9a2c39f3eea4df741a148338880c (diff)
downloadkdepimpi-be52d7d03e57620919b23cb0cbb33ac22d0920e0.zip
kdepimpi-be52d7d03e57620919b23cb0cbb33ac22d0920e0.tar.gz
kdepimpi-be52d7d03e57620919b23cb0cbb33ac22d0920e0.tar.bz2
hopefully last modifications of resource based export/import functionality
for opie, qtopia and sharpdtm
Diffstat (limited to 'kaddressbook/xxport/qtopia_xxport.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/xxport/qtopia_xxport.cpp225
1 files changed, 8 insertions, 217 deletions
diff --git a/kaddressbook/xxport/qtopia_xxport.cpp b/kaddressbook/xxport/qtopia_xxport.cpp
index 8377cd5..0cf6546 100644
--- a/kaddressbook/xxport/qtopia_xxport.cpp
+++ b/kaddressbook/xxport/qtopia_xxport.cpp
@@ -30,31 +30,8 @@ $Id$
#include <qdir.h>
-#include <kfiledialog.h>
-#include <kmessagebox.h>
-
-//US #include <qpe/pim/addressbookaccess.h>
-
-#include "addressbook.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 "addressee.h"
#include "xxportmanager.h"
-//US #include "qtopiaconverter.h"
-
#include "qtopia_xxport.h"
/*US
@@ -83,205 +60,19 @@ QtopiaXXPort::QtopiaXXPort( KABC::AddressBook *ab, QWidget *parent, const char *
{
defaultFileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
- KRES::Factory* mFactory = KRES::Factory::self( "contact" );
-
- if ( mFactory )
+ if ( mFactory && !mFactory->typeName( "qtopia" ).isEmpty() )
{
- mResource = (KABC::Resource*)(mFactory->resource( "qtopia", 0, false ));
-
- if ( mResource )
- {
- createImportAction( i18n( "Import Qtopia..." ) );
- createExportAction( i18n( "Export Qtopia..." ) );
- }
+ createImportAction( i18n( "Import Qtopia..." ) );
+ createExportAction( i18n( "Export Qtopia..." ) );
}
}
-bool QtopiaXXPort::exportContacts( const KABC::AddresseeList &list, const QString &data )
+bool QtopiaXXPort::exportContacts( const KABC::AddresseeList &list, const QString &identifier )
{
-/*US
- // we can not choose the filename. Therefore use the default to display
- QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
-
- AddressBookAccess* access = new AddressBookAccess();
-
- if ( !access ) {
- QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) );
- qDebug(text.latin1());
- KMessageBox::error( parentWidget(), text );
- addressBook()->error( text );
- return false;
- }
-
- KABC::QtopiaConverter mConverter;
-
- bool res = mConverter.init();
- if (!res)
- {
- QString text( i18n( "Unable to initialize qtopia converter.<br>Most likely a problem with the category file." ) );
- qDebug(text);
- KMessageBox::error( parentWidget(), text );
- delete access;
- return false;
- }
-
- //Now check if the file has already entries, and ask the user if he wants to delete them first.
- { //create a new scope
- AddressBookIterator it(*access);
- const PimContact* firstcontact = it.toFirst();
- if (firstcontact)
- {
- 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..
-
- AddressBookIterator it2(*access);
- for (it2.toFirst(); it2.current(); ++it2) {
- access->removeContact(*it2.current());
- }
- }
- }
- }
-
- KABC::Addressee::List::ConstIterator it;
- for ( it = list.begin(); it != list.end(); ++it ) {
- PimContact c;
-
- res = mConverter.addresseeToQtopia( *it, c );
- if (res == true)
- {
- access->addContact(c);
- }
- }
-
- delete access;
-
- return true;
-*/
-
- if (mResource == 0)
- return false;
-
- QString fileName = defaultFileName;
-
-
- mResource->setFileName( fileName );
-
- //Now check if the file has already entries, and ask the user if he wants to delete them first.
- if (mResource->count() > 0)
- {
- 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.
- mResource->clear();
- }
- }
-
- KABC::AddressBook tmpAB;
-
- tmpAB.addResource( mResource );
-
-//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);
- }
-
- KABC::Ticket * ticket = mResource->requestSaveTicket();
- return tmpAB.save( ticket );
-
-
-
+ return _exportContacts( list, identifier, defaultFileName );
}
-KABC::AddresseeList QtopiaXXPort::importContacts( const QString& ) const
+KABC::AddresseeList QtopiaXXPort::importContacts( const QString &identifier ) const
{
-/*US
- KABC::AddresseeList adrlst;
-
- QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
-
- AddressBookAccess* access = new AddressBookAccess();
-
- if ( !access ) {
- QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) );
- qDebug(text.latin1());
- addressBook()->error( text );
- KMessageBox::error( parentWidget(), text );
- return KABC::AddresseeList();
- }
-
- KABC::QtopiaConverter mConverter;
-
- bool res = mConverter.init();
- if (!res)
- {
- QString text( i18n( "Unable to initialize qtopia converter.<br>Most likely a problem with the category file." ) );
- qDebug(text);
- KMessageBox::error( parentWidget(), text );
- delete access;
- return KABC::AddresseeList();
- }
-
-
-
- { //create a new scope
- AddressBookIterator it(*access);
-
- for (it.toFirst(); it.current(); ++it) {
- const PimContact*contact = it.current();
-
- KABC::Addressee addressee;
-
- res = mConverter.qtopiaToAddressee( (*contact), addressee );
-
- if ( !addressee.isEmpty() && res )
- {
- adrlst.append( addressee );
- }
- }
- }
-
- delete access;
-//US the deletion of the access object deletes the backend object as well.
-
- return adrlst;
-*/
-
- if (mResource == 0)
- return KABC::AddresseeList();
-
- KABC::AddresseeList adrlst;
-
- QString fileName = defaultFileName;
-
- mResource->setFileName( fileName );
-
-
- KABC::AddressBook tmpAB;
-
- tmpAB.addResource( mResource );
-
-//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());
- }
-
- bool res = tmpAB.load();
-
- return tmpAB.allAddressees();
-
+ return _importContacts( identifier, defaultFileName );
}