-rw-r--r-- | kabc/plugins/sharpdtm/resourcesharpdtm.h | 10 | ||||
-rw-r--r-- | kabc/plugins/sharpdtm/sharpdtmE.pro | 2 | ||||
-rw-r--r-- | kaddressbook/xxport/qtopia/qtopia_xxport.cpp | 49 |
3 files changed, 30 insertions, 31 deletions
diff --git a/kabc/plugins/sharpdtm/resourcesharpdtm.h b/kabc/plugins/sharpdtm/resourcesharpdtm.h index 32d0be1..d2e2a52 100644 --- a/kabc/plugins/sharpdtm/resourcesharpdtm.h +++ b/kabc/plugins/sharpdtm/resourcesharpdtm.h @@ -31,25 +31,25 @@ $Id$ #include <kconfig.h> #include <kdirwatch.h> #include <sys/types.h> #include "resource.h" namespace KABC { class ResourceConfigWidget; -class QtopiaConverter; +class SharpDTMConverter; /** @internal */ class ResourceSharpDTM : public Resource { Q_OBJECT public: /** Constructor. @@ -74,25 +74,25 @@ public: virtual void writeConfig( KConfig *cfg ); /** * Tries to open the file and checks for the proper format. * This method should be called before @ref load(). */ virtual bool doOpen(); /** * Closes the file again. */ virtual void doClose(); - + /** * Requests a save ticket, that is used by @ref save() */ virtual Ticket *requestSaveTicket(); /** * Loads all addressees from file to the address book. * Returns true if all addressees could be loaded otherwise false. */ virtual bool load(); /** @@ -126,24 +126,24 @@ public: virtual void cleanUp(); protected slots: void fileChanged(); protected: void init( const QString &fileName ); bool lock( const QString &fileName ); void unlock( const QString &fileName ); private: - QtopiaConverter* mConverter; - + SharpDTMConverter* mConverter; + QString mFileName; QString mLockUniqueName; - + KDirWatch mDirWatch; }; } #endif diff --git a/kabc/plugins/sharpdtm/sharpdtmE.pro b/kabc/plugins/sharpdtm/sharpdtmE.pro index f29be2f..7c7a6d5 100644 --- a/kabc/plugins/sharpdtm/sharpdtmE.pro +++ b/kabc/plugins/sharpdtm/sharpdtmE.pro @@ -1,18 +1,18 @@ TEMPLATE = lib CONFIG += qt warn_on #release debug TARGET = microkabc_sharpdtm -INCLUDEPATH += ../.. ../../../external/sharpdtm/include ../../converter/qtopia ../../../microkde ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../microkde/kio/kio ../../../qtcompat $(QPEDIR)/include +INCLUDEPATH += ../.. ../../../external/sharpdtm/include ../../converter/sharpdtm ../../../microkde ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../microkde/kio/kio ../../../qtcompat $(QPEDIR)/include OBJECTS_DIR = obj/$(PLATFORM) MOC_DIR = moc/$(PLATFORM) DESTDIR = $(QPEDIR)/lib LIBS += -lmicrokde LIBS += -lmicrokabc LIBS += -L$(QPEDIR)/lib LIBS += -lqpe LIBS += -lqte LIBS += -lzdtm LIBS += -lmicrokabc_sharpdtmconverter diff --git a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp b/kaddressbook/xxport/qtopia/qtopia_xxport.cpp index bf39fdb..c1ed03e 100644 --- a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp +++ b/kaddressbook/xxport/qtopia/qtopia_xxport.cpp @@ -79,123 +79,122 @@ extern "C" QtopiaXXPort::QtopiaXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name ) : XXPortObject( ab, parent, name ) { createImportAction( i18n( "Import Qtopia..." ) ); createExportAction( i18n( "Export Qtopia..." ) ); } bool QtopiaXXPort::exportContacts( const KABC::AddresseeList &list, const QString &data ) { // 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; + 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 + { //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; - KABC::Addressee addressee = (*it); - + res = mConverter.addresseeToQtopia( *it, c ); if (res == true) { access->addContact(c); } } - + delete access; - + return true; } KABC::AddresseeList QtopiaXXPort::importContacts( const QString& ) const { 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 + + + + { //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 ); - + + 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; - + } |