From f88d48384d2c012fbaa3ffaa613d6eaa3694fab7 Mon Sep 17 00:00:00 2001 From: ulf69 Date: Tue, 13 Jul 2004 15:04:53 +0000 Subject: intial implementation of the qtopia converter --- diff --git a/Makefile.Embedded b/Makefile.Embedded index aaba10a..3160017 100644 --- a/Makefile.Embedded +++ b/Makefile.Embedded @@ -2,7 +2,8 @@ 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 @@ -41,12 +42,14 @@ tmake: objects qtcompat/Makefile$(PLATFORM) microkde/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) @@ -79,9 +82,12 @@ libical/src/libicalss/Makefile$(PLATFORM): libical/src/libicalss/libicalssE.pro 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) 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,5 +1,5 @@ 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) @@ -14,19 +14,17 @@ 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 @@ -31,7 +31,7 @@ $Id$ #include "qtopiaconverter.h" -//US #include +#include //US #include @@ -48,7 +48,6 @@ QtopiaConverter::~QtopiaConverter() bool QtopiaConverter::init() { -/*US catDB = new Categories(); if (catDB) { @@ -59,19 +58,15 @@ bool QtopiaConverter::init() { return false; } -*/ -return true; } void QtopiaConverter::deinit() { -/*US if (catDB) { delete catDB; catDB = 0; } -*/ } bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &addr ) @@ -81,7 +76,7 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a addr.setFamilyName( contact.lastName() ); addr.setGivenName( contact.firstName() ); addr.setAdditionalName( contact.middleName() ); - addr.setPrefix( contact.title() ); + addr.setPrefix( contact.nameTitle() ); addr.setSuffix( contact.suffix() ); @@ -204,8 +199,13 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a //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 @@ -231,12 +231,14 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a //US QString groups() const { return find( Qtopia::Groups ); } //US QStringList groupList() const; - - QStringList cats = contact.categoryNames("Contacts"); - addr.setCategories( cats ); -// for ( QStringList::Iterator it = cats.begin(); it != cats.end(); ++it ) { -// qDebug("Cat: %s", (*it).latin1()); -// } + QArray catArray = contact.categories(); + QString cat; + + for ( unsigned int i=0; i < catArray.size(); i++ ) { + cat = catDB->label("contact", catArray[i]); + if ( !cat.isEmpty() ) + addr.insertCategory( cat ); + } return true; } @@ -247,7 +249,7 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont 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(); @@ -322,8 +324,17 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont //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 ); @@ -340,14 +351,13 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont //US QStringList groupList() const; -/*US QStringList cats = addr.categories(); QArray iar; if ( !cats.isEmpty() ) { - QArray iar = catDB.ids("contact", cats); + QArray 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 @@ -32,7 +32,7 @@ $Id$ #include "addressee.h" #include -//US class Categories; +class Categories; namespace KABC { @@ -70,7 +70,7 @@ public: bool addresseeToQtopia( const Addressee &addr, PimContact &contact ); private: -//US Categories* catDB; + Categories* catDB; }; -- cgit v0.9.0.2