-rw-r--r-- | Makefile.Embedded | 14 | ||||
-rw-r--r-- | kabc/converter/qtopia/qtopiaE.pro | 12 | ||||
-rw-r--r-- | kabc/converter/qtopia/qtopiaconverter.cpp | 46 | ||||
-rw-r--r-- | kabc/converter/qtopia/qtopiaconverter.h | 4 |
4 files changed, 45 insertions, 31 deletions
diff --git a/Makefile.Embedded b/Makefile.Embedded index aaba10a..3160017 100644 --- a/Makefile.Embedded +++ b/Makefile.Embedded @@ -1,11 +1,12 @@ DISTPATH = $(shell pwd) DISTDIR = $(shell basename $(DISTPATH)) SUBDIRS = libical/src/libical libical/src/libicalss qtcompat microkde \ - libkcal libkdepim kabc kabc/converter/opie kabc/formats/binary kabc/plugins/file kabc/plugins/dir \ + libkcal libkdepim kabc kabc/converter/opie kabc/converter/qtopia kabc/formats/binary \ + kabc/plugins/file kabc/plugins/dir \ kabc/plugins/ldap kabc/plugins/opie kabc/plugins/qtopia \ korganizer kalarmd kaddressbook/xxport/opie kaddressbook all: tmake for i in $(SUBDIRS); do pushd $$i; \ make -f Makefile$(PLATFORM) || exit 1; popd; \ done @@ -38,18 +39,20 @@ tmake: objects qtcompat/Makefile$(PLATFORM) microkde/Makefile$(PLATFORM) \ libkdepim/Makefile$(PLATFORM) korganizer/Makefile$(PLATFORM) \ kalarmd/Makefile$(PLATFORM) \ libical/src/libical/Makefile$(PLATFORM) \ libical/src/libicalss/Makefile$(PLATFORM) \ kabc/Makefile$(PLATFORM) \ kabc/converter/opie/Makefile$(PLATFORM) \ + kabc/converter/qtopia/Makefile$(PLATFORM) \ kabc/formats/binary/Makefile$(PLATFORM) \ kabc/plugins/file/Makefile$(PLATFORM) \ kabc/plugins/dir/Makefile$(PLATFORM) \ kabc/plugins/ldap/Makefile$(PLATFORM) \ kabc/plugins/opie/Makefile$(PLATFORM) \ - kabc/plugins/qtopia/Makefile$(PLATFORM) kaddressbook/xxport/opie/Makefile$(PLATFORM) \ + kabc/plugins/qtopia/Makefile$(PLATFORM) \ + kaddressbook/xxport/opie/Makefile$(PLATFORM) \ kaddressbook/Makefile$(PLATFORM) qtcompat/Makefile$(PLATFORM): qtcompat/qtcompat.pro cd qtcompat; tmake "CONFIG+=$(RELEASE_DEBUG)" qtcompat.pro -o Makefile$(PLATFORM) @@ -76,14 +79,17 @@ libical/src/libical/Makefile$(PLATFORM): libical/src/libical/libicalE.pro libical/src/libicalss/Makefile$(PLATFORM): libical/src/libicalss/libicalssE.pro cd libical/src/libicalss; tmake "CONFIG+=$(RELEASE_DEBUG)" libicalssE.pro -o Makefile$(PLATFORM) kabc/Makefile$(PLATFORM): kabc/kabcE.pro cd kabc; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcE.pro -o Makefile$(PLATFORM) -kabc/converter/opie/Makefile$(PLATFORM): kabc/converter/opie/opieconverterE.pro - cd kabc/converter/opie; tmake "CONFIG+=$(RELEASE_DEBUG)" opieconverterE.pro -o Makefile$(PLATFORM) +kabc/converter/opie/Makefile$(PLATFORM): kabc/converter/opie/opieE.pro + cd kabc/converter/opie; tmake "CONFIG+=$(RELEASE_DEBUG)" opieE.pro -o Makefile$(PLATFORM) + +kabc/converter/qtopia/Makefile$(PLATFORM): kabc/converter/qtopia/qtopiaE.pro + cd kabc/converter/qtopia; tmake "CONFIG+=$(RELEASE_DEBUG)" qtopiaE.pro -o Makefile$(PLATFORM) kabc/formats/binary/Makefile$(PLATFORM): kabc/formats/binary/kabcformat_binaryE.pro cd kabc/formats/binary; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcformat_binaryE.pro -o Makefile$(PLATFORM) kabc/plugins/file/Makefile$(PLATFORM): kabc/plugins/file/fileE.pro cd kabc/plugins/file; tmake "CONFIG+=$(RELEASE_DEBUG)" fileE.pro -o Makefile$(PLATFORM) diff --git a/kabc/converter/qtopia/qtopiaE.pro b/kabc/converter/qtopia/qtopiaE.pro index e026f2a..4241b8b 100644 --- a/kabc/converter/qtopia/qtopiaE.pro +++ b/kabc/converter/qtopia/qtopiaE.pro @@ -1,8 +1,8 @@ TEMPLATE = lib -INCLUDEPATH += . ../.. ../../../microkde ../../../microkde/kdecore $(OPIEDIR)/include $(OPEDIR)/include +INCLUDEPATH += . ../.. ../../../microkde ../../../microkde/kdecore $(QPEDIR)/include #CONFIG += staticlib OBJECTS_DIR = obj/$(PLATFORM) MOC_DIR = moc/$(PLATFORM) #for static linkage, put it here #DESTDIR=../../lib/$(PLATFORM) @@ -11,22 +11,20 @@ MOC_DIR = moc/$(PLATFORM) DESTDIR=$(QPEDIR)/lib LIBS += -lmicrokde LIBS += -lmicrokabc LIBS += -L$(QPEDIR)/lib LIBS += -L$(OPIEDIR)/lib -LIBS += -lopie +LIBS += -lqpepim LIBS += -lqpe -LIBS += -lqte - -TARGET = microkabc_opieconverter +TARGET = microkabc_qtopiaconverter # Input HEADERS += \ - opieconverter.h \ + qtopiaconverter.h \ SOURCES += \ - opieconverter.cpp \ + qtopiaconverter.cpp \ diff --git a/kabc/converter/qtopia/qtopiaconverter.cpp b/kabc/converter/qtopia/qtopiaconverter.cpp index 7aa76fe..e3dd3e6 100644 --- a/kabc/converter/qtopia/qtopiaconverter.cpp +++ b/kabc/converter/qtopia/qtopiaconverter.cpp @@ -28,13 +28,13 @@ $Id$ //US #include "kglobal.h" #include "qtopiaconverter.h" -//US #include <qpe/categories.h> +#include <qpe/categories.h> //US #include <qpe/categoryselect.h> using namespace KABC; QtopiaConverter::QtopiaConverter() : catDB(0) @@ -45,46 +45,41 @@ QtopiaConverter::~QtopiaConverter() { deinit(); } bool QtopiaConverter::init() { -/*US catDB = new Categories(); if (catDB) { catDB->load( categoryFileName() ); return true; } else { return false; } -*/ -return true; } void QtopiaConverter::deinit() { -/*US if (catDB) { delete catDB; catDB = 0; } -*/ } bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &addr ) { // name addr.setFormattedName(contact.fileAs()); addr.setFamilyName( contact.lastName() ); addr.setGivenName( contact.firstName() ); addr.setAdditionalName( contact.middleName() ); - addr.setPrefix( contact.title() ); + addr.setPrefix( contact.nameTitle() ); addr.setSuffix( contact.suffix() ); // email QStringList emails = contact.emailList(); for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { @@ -201,13 +196,18 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a addr.insertCustom( "KADDRESSBOOK", "X-Department", contact.department() ); addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", contact.manager() ); addr.insertCustom( "KADDRESSBOOK", "X-Office", contact.office() ); //personal addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", contact.spouse() ); - addr.insertCustom( "KADDRESSBOOK", "X-Gender", contact.gender() ); + // qtopia uses this categorization: + // enum GenderType { UnspecifiedGender=0, Male, Female }; + if (contact.gender() == PimContact::Male) + addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); + else if (contact.gender() == PimContact::Female) + addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); if (contact.anniversary().isValid()) { QString dt = KGlobal::locale()->formatDate(contact.anniversary(), true, KLocale::ISODate); //US qDebug("OpieConverter::opieToAddressee found:%s", dt.latin1()); addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); @@ -228,29 +228,31 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a //US QString groups() const { return find( Qtopia::Groups ); } //US QStringList groupList() const; + QArray<int> catArray = contact.categories(); + QString cat; - QStringList cats = contact.categoryNames("Contacts"); - addr.setCategories( cats ); -// for ( QStringList::Iterator it = cats.begin(); it != cats.end(); ++it ) { -// qDebug("Cat: %s", (*it).latin1()); -// } + for ( unsigned int i=0; i < catArray.size(); i++ ) { + cat = catDB->label("contact", catArray[i]); + if ( !cat.isEmpty() ) + addr.insertCategory( cat ); + } return true; } bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &contact ) { // name contact.setLastName(addr.familyName()); contact.setFirstName(addr.givenName()); contact.setMiddleName(addr.additionalName()); - contact.setTitle(addr.prefix()); + contact.setNameTitle(addr.prefix()); contact.setSuffix(addr.suffix()); contact.setFileAs(); // email QStringList emails = addr.emails(); @@ -319,13 +321,22 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont contact.setDepartment(addr.custom( "KADDRESSBOOK", "X-Department" )); contact.setManager(addr.custom( "KADDRESSBOOK", "X-ManagersName" )); contact.setOffice(addr.custom( "KADDRESSBOOK", "X-Office" )); //personal contact.setSpouse(addr.custom( "KADDRESSBOOK", "X-Spouse" )); - contact.setGender(addr.custom( "KADDRESSBOOK", "X-Gender" )); + // qtopia uses this categorization: + // enum GenderType { UnspecifiedGender=0, Male, Female }; + QString gt = addr.custom( "KADDRESSBOOK", "X-Gender" ); + if (gt = "male") + contact.setGender(PimContact::Male); + else if (gt = "female") + contact.setGender(PimContact::Female); + else + contact.setGender(PimContact::UnspecifiedGender); + QDate dt = KGlobal::locale()->readDate( addr.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate contact.setAnniversary( dt ); contact.setChildren(addr.custom( "KADDRESSBOOK", "X-Children" )); @@ -337,17 +348,16 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont contact.setNotes(addr.note()); //US QString groups() const { return find( Qtopia::Groups ); } //US QStringList groupList() const; -/*US QStringList cats = addr.categories(); QArray<int> iar; if ( !cats.isEmpty() ) { - QArray<int> iar = catDB.ids("contact", cats); + QArray<int> iar = catDB->ids("contact", cats); contact.setCategories(iar); } -*/ + return true; } diff --git a/kabc/converter/qtopia/qtopiaconverter.h b/kabc/converter/qtopia/qtopiaconverter.h index aaa267a..7397113 100644 --- a/kabc/converter/qtopia/qtopiaconverter.h +++ b/kabc/converter/qtopia/qtopiaconverter.h @@ -29,13 +29,13 @@ $Id$ #include <qstring.h> #include "addressee.h" #include <qpe/pim/contact.h> -//US class Categories; +class Categories; namespace KABC { class QtopiaConverter { public: @@ -67,13 +67,13 @@ public: * @param addr The addressee. * @param contact The qtopia contact. */ bool addresseeToQtopia( const Addressee &addr, PimContact &contact ); private: -//US Categories* catDB; + Categories* catDB; }; } #endif |