summaryrefslogtreecommitdiffabout
path: root/kabc/converter/qtopia/qtopiaconverter.cpp
Unidiff
Diffstat (limited to 'kabc/converter/qtopia/qtopiaconverter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/converter/qtopia/qtopiaconverter.cpp52
1 files changed, 31 insertions, 21 deletions
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$
31 31
32#include "qtopiaconverter.h" 32#include "qtopiaconverter.h"
33 33
34//US #include <qpe/categories.h> 34#include <qpe/categories.h>
35//US #include <qpe/categoryselect.h> 35//US #include <qpe/categoryselect.h>
36 36
37 37
@@ -48,7 +48,6 @@ QtopiaConverter::~QtopiaConverter()
48 48
49bool QtopiaConverter::init() 49bool QtopiaConverter::init()
50{ 50{
51/*US
52 catDB = new Categories(); 51 catDB = new Categories();
53 if (catDB) 52 if (catDB)
54 { 53 {
@@ -59,19 +58,15 @@ bool QtopiaConverter::init()
59 { 58 {
60 return false; 59 return false;
61 } 60 }
62*/
63return true;
64} 61}
65 62
66void QtopiaConverter::deinit() 63void QtopiaConverter::deinit()
67{ 64{
68/*US
69 if (catDB) 65 if (catDB)
70 { 66 {
71 delete catDB; 67 delete catDB;
72 catDB = 0; 68 catDB = 0;
73 } 69 }
74*/
75} 70}
76 71
77bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &addr ) 72bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &addr )
@@ -81,7 +76,7 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a
81 addr.setFamilyName( contact.lastName() ); 76 addr.setFamilyName( contact.lastName() );
82 addr.setGivenName( contact.firstName() ); 77 addr.setGivenName( contact.firstName() );
83 addr.setAdditionalName( contact.middleName() ); 78 addr.setAdditionalName( contact.middleName() );
84 addr.setPrefix( contact.title() ); 79 addr.setPrefix( contact.nameTitle() );
85 addr.setSuffix( contact.suffix() ); 80 addr.setSuffix( contact.suffix() );
86 81
87 82
@@ -204,8 +199,13 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a
204 199
205 //personal 200 //personal
206 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", contact.spouse() ); 201 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", contact.spouse() );
207 addr.insertCustom( "KADDRESSBOOK", "X-Gender", contact.gender() ); 202 // qtopia uses this categorization:
208 203 // enum GenderType { UnspecifiedGender=0, Male, Female };
204 if (contact.gender() == PimContact::Male)
205 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male");
206 else if (contact.gender() == PimContact::Female)
207 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female");
208
209 if (contact.anniversary().isValid()) { 209 if (contact.anniversary().isValid()) {
210 QString dt = KGlobal::locale()->formatDate(contact.anniversary(), true, KLocale::ISODate); 210 QString dt = KGlobal::locale()->formatDate(contact.anniversary(), true, KLocale::ISODate);
211//US 211//US
@@ -231,12 +231,14 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a
231//US QString groups() const { return find( Qtopia::Groups ); } 231//US QString groups() const { return find( Qtopia::Groups ); }
232//US QStringList groupList() const; 232//US QStringList groupList() const;
233 233
234 234 QArray<int> catArray = contact.categories();
235 QStringList cats = contact.categoryNames("Contacts"); 235 QString cat;
236 addr.setCategories( cats ); 236
237// for ( QStringList::Iterator it = cats.begin(); it != cats.end(); ++it ) { 237 for ( unsigned int i=0; i < catArray.size(); i++ ) {
238// qDebug("Cat: %s", (*it).latin1()); 238 cat = catDB->label("contact", catArray[i]);
239// } 239 if ( !cat.isEmpty() )
240 addr.insertCategory( cat );
241 }
240 242
241 return true; 243 return true;
242} 244}
@@ -247,7 +249,7 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont
247 contact.setLastName(addr.familyName()); 249 contact.setLastName(addr.familyName());
248 contact.setFirstName(addr.givenName()); 250 contact.setFirstName(addr.givenName());
249 contact.setMiddleName(addr.additionalName()); 251 contact.setMiddleName(addr.additionalName());
250 contact.setTitle(addr.prefix()); 252 contact.setNameTitle(addr.prefix());
251 contact.setSuffix(addr.suffix()); 253 contact.setSuffix(addr.suffix());
252 contact.setFileAs(); 254 contact.setFileAs();
253 255
@@ -322,8 +324,17 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont
322 324
323 //personal 325 //personal
324 contact.setSpouse(addr.custom( "KADDRESSBOOK", "X-Spouse" )); 326 contact.setSpouse(addr.custom( "KADDRESSBOOK", "X-Spouse" ));
325 contact.setGender(addr.custom( "KADDRESSBOOK", "X-Gender" )); 327 // qtopia uses this categorization:
326 328 // enum GenderType { UnspecifiedGender=0, Male, Female };
329 QString gt = addr.custom( "KADDRESSBOOK", "X-Gender" );
330 if (gt = "male")
331 contact.setGender(PimContact::Male);
332 else if (gt = "female")
333 contact.setGender(PimContact::Female);
334 else
335 contact.setGender(PimContact::UnspecifiedGender);
336
337
327 QDate dt = KGlobal::locale()->readDate( 338 QDate dt = KGlobal::locale()->readDate(
328 addr.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate 339 addr.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate
329 contact.setAnniversary( dt ); 340 contact.setAnniversary( dt );
@@ -340,14 +351,13 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &cont
340//US QStringList groupList() const; 351//US QStringList groupList() const;
341 352
342 353
343/*US
344 QStringList cats = addr.categories(); 354 QStringList cats = addr.categories();
345 355
346 QArray<int> iar; 356 QArray<int> iar;
347 if ( !cats.isEmpty() ) { 357 if ( !cats.isEmpty() ) {
348 QArray<int> iar = catDB.ids("contact", cats); 358 QArray<int> iar = catDB->ids("contact", cats);
349 contact.setCategories(iar); 359 contact.setCategories(iar);
350 } 360 }
351*/ 361
352 return true; 362 return true;
353} 363}