Diffstat (limited to 'kabc/plugins/olaccess/olaccessconverter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kabc/plugins/olaccess/olaccessconverter.cpp | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/kabc/plugins/olaccess/olaccessconverter.cpp b/kabc/plugins/olaccess/olaccessconverter.cpp index 4adcae4..e95f3cb 100644 --- a/kabc/plugins/olaccess/olaccessconverter.cpp +++ b/kabc/plugins/olaccess/olaccessconverter.cpp | |||
@@ -24,82 +24,84 @@ Copyright (c) 2004 Ulf Schenk | |||
24 | 24 | ||
25 | $Id$ | 25 | $Id$ |
26 | */ | 26 | */ |
27 | 27 | ||
28 | #include "kglobal.h" | 28 | #include "kglobal.h" |
29 | #include <qregexp.h> | 29 | #include <qregexp.h> |
30 | 30 | ||
31 | 31 | ||
32 | #include "sharpdtmconverter.h" | 32 | #include "olaccessconverter.h" |
33 | 33 | ||
34 | #include <sl/slcategories.h> | ||
35 | #include <libkdepim/ksyncprofile.h> | 34 | #include <libkdepim/ksyncprofile.h> |
36 | //US #include <qpe/categoryselect.h> | 35 | //US #include <qpe/categoryselect.h> |
37 | 36 | ||
38 | 37 | ||
39 | using namespace KABC; | 38 | using namespace KABC; |
40 | using namespace SlCategory; | ||
41 | 39 | ||
42 | SharpDTMConverter::SharpDTMConverter() : catDB(0) | 40 | OlaccessConverter::OlaccessConverter() |
43 | { | 41 | { |
44 | } | 42 | } |
45 | 43 | ||
46 | SharpDTMConverter::~SharpDTMConverter() | 44 | OlaccessConverter::~OlaccessConverter() |
47 | { | 45 | { |
48 | deinit(); | 46 | deinit(); |
49 | } | 47 | } |
50 | 48 | ||
51 | bool SharpDTMConverter::init() | 49 | bool OlaccessConverter::init() |
52 | { | 50 | { |
51 | #if 0 | ||
53 | catDB = new SlCategory::SlCategories(); | 52 | catDB = new SlCategory::SlCategories(); |
54 | 53 | ||
55 | if (!catDB) | 54 | if (!catDB) |
56 | return false; | 55 | return false; |
57 | 56 | ||
58 | // catDB->load( categoryFileName() ); | 57 | // catDB->load( categoryFileName() ); |
58 | #endif | ||
59 | return true; | 59 | return true; |
60 | } | 60 | } |
61 | 61 | ||
62 | void SharpDTMConverter::deinit() | 62 | void OlaccessConverter::deinit() |
63 | { | 63 | { |
64 | #if 0 | ||
64 | if (catDB) | 65 | if (catDB) |
65 | { | 66 | { |
66 | delete catDB; | 67 | delete catDB; |
67 | catDB = 0; | 68 | catDB = 0; |
68 | } | 69 | } |
70 | #endif | ||
69 | } | 71 | } |
70 | 72 | #if 0 | |
71 | bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBase* database, Addressee &addr ) | 73 | bool OlaccessConverter::sharpToAddressee( const CardId &contact, const SlZDataBase* database, Addressee &addr ) |
72 | { | 74 | { |
73 | SlZDataBase* db = (SlZDataBase*)database; | 75 | SlZDataBase* db = (SlZDataBase*)database; |
74 | 76 | ||
75 | // for syncing: we need setting of the two fields | 77 | // for syncing: we need setting of the two fields |
76 | addr.setExternalUID( QString::number( contact ) ); | 78 | addr.setExternalUID( QString::number( contact ) ); |
77 | addr.setOriginalExternalUID( QString::number( contact ) ); | 79 | addr.setOriginalExternalUID( QString::number( contact ) ); |
78 | addr.setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); | 80 | addr.setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); |
79 | 81 | ||
80 | 82 | ||
81 | // name | 83 | // name |
82 | //qDebug("SharpDTMConverter::sharpToAddressee check if the fileAs transformation works!!"); | 84 | //qDebug("OlaccessConverter::sharpToAddressee check if the fileAs transformation works!!"); |
83 | addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); | 85 | addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); |
84 | //addr.setName(db->readField(ZdbAdrs::FullName)); | 86 | //addr.setName(db->readField(ZdbAdrs::FullName)); |
85 | 87 | ||
86 | addr.setFamilyName( db->readField(ZdbAdrs::LastName) ); | 88 | addr.setFamilyName( db->readField(ZdbAdrs::LastName) ); |
87 | addr.setGivenName( db->readField(ZdbAdrs::FirstName) ); | 89 | addr.setGivenName( db->readField(ZdbAdrs::FirstName) ); |
88 | addr.setAdditionalName( db->readField(ZdbAdrs::MiddleName) ); | 90 | addr.setAdditionalName( db->readField(ZdbAdrs::MiddleName) ); |
89 | addr.setPrefix( db->readField(ZdbAdrs::Title) ); | 91 | addr.setPrefix( db->readField(ZdbAdrs::Title) ); |
90 | addr.setSuffix( db->readField(ZdbAdrs::Suffix) ); | 92 | addr.setSuffix( db->readField(ZdbAdrs::Suffix) ); |
91 | 93 | ||
92 | 94 | ||
93 | QString emailstr = db->readField(ZdbAdrs::Emails); | 95 | QString emailstr = db->readField(ZdbAdrs::Emails); |
94 | emailstr.replace( QRegExp(","), " " ); | 96 | emailstr.replace( QRegExp(","), " " ); |
95 | emailstr.replace( QRegExp(";"), " " ); | 97 | emailstr.replace( QRegExp(";"), " " ); |
96 | emailstr.replace( QRegExp(":"), " " ); | 98 | emailstr.replace( QRegExp(":"), " " ); |
97 | //qDebug("SharpDTMConverter::sharpToAddressee whats the character to seperate the emailadresses? %s ", emailstr.latin1()); | 99 | //qDebug("OlaccessConverter::sharpToAddressee whats the character to seperate the emailadresses? %s ", emailstr.latin1()); |
98 | QStringList emails = QStringList::split(" ", emailstr.simplifyWhiteSpace()); | 100 | QStringList emails = QStringList::split(" ", emailstr.simplifyWhiteSpace()); |
99 | bool defE = false; | 101 | bool defE = false; |
100 | bool found = false; | 102 | bool found = false; |
101 | for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { | 103 | for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { |
102 | if (found ) | 104 | if (found ) |
103 | defE = false; | 105 | defE = false; |
104 | else | 106 | else |
105 | found = defE = ((*it).lower() == db->readField(ZdbAdrs::DefaultEmail).lower()); | 107 | found = defE = ((*it).lower() == db->readField(ZdbAdrs::DefaultEmail).lower()); |
@@ -216,18 +218,18 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa | |||
216 | addr.insertCustom( "KADDRESSBOOK", "X-Department", db->readField(ZdbAdrs::Department) ); | 218 | addr.insertCustom( "KADDRESSBOOK", "X-Department", db->readField(ZdbAdrs::Department) ); |
217 | addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", db->readField(ZdbAdrs::Manager) ); | 219 | addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", db->readField(ZdbAdrs::Manager) ); |
218 | addr.insertCustom( "KADDRESSBOOK", "X-Office", db->readField(ZdbAdrs::Office) ); | 220 | addr.insertCustom( "KADDRESSBOOK", "X-Office", db->readField(ZdbAdrs::Office) ); |
219 | 221 | ||
220 | //personal | 222 | //personal |
221 | addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", db->readField(ZdbAdrs::Spouse) ); | 223 | addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", db->readField(ZdbAdrs::Spouse) ); |
222 | 224 | ||
223 | QString gen = db->readField(ZdbAdrs::Gender); | 225 | QString gen = db->readField(ZdbAdrs::Gender); |
224 | //qDebug("SharpDTMConverter::sharpToAddressee pleas check that gender works!! : Gender: %s", gen.latin1()); | 226 | //qDebug("OlaccessConverter::sharpToAddressee pleas check that gender works!! : Gender: %s", gen.latin1()); |
225 | //qDebug("SharpDTMConverter::sharpToAddressee: may be int db->readUshortField(\"ZdbAdrs::Gender\") is here better suited"); | 227 | //qDebug("OlaccessConverter::sharpToAddressee: may be int db->readUshortField(\"ZdbAdrs::Gender\") is here better suited"); |
226 | if (gen == "1") | 228 | if (gen == "1") |
227 | addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); | 229 | addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); |
228 | else if (gen == "2") | 230 | else if (gen == "2") |
229 | addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); | 231 | addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); |
230 | else | 232 | else |
231 | addr.insertCustom( "KADDRESSBOOK", "X-Gender", "undef"); | 233 | addr.insertCustom( "KADDRESSBOOK", "X-Gender", "undef"); |
232 | 234 | ||
233 | 235 | ||
@@ -259,59 +261,59 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa | |||
259 | addr.setUrl( db->readField(ZdbAdrs::BusinessWebPage) ); | 261 | addr.setUrl( db->readField(ZdbAdrs::BusinessWebPage) ); |
260 | addr.setNote( db->readField(ZdbAdrs::Notes).replace( QRegExp("\\r"), "")); | 262 | addr.setNote( db->readField(ZdbAdrs::Notes).replace( QRegExp("\\r"), "")); |
261 | 263 | ||
262 | 264 | ||
263 | 265 | ||
264 | //US QString groups() const { return find( Qtopia::Groups ); } | 266 | //US QString groups() const { return find( Qtopia::Groups ); } |
265 | //US QStringList groupList() const; | 267 | //US QStringList groupList() const; |
266 | 268 | ||
267 | //qDebug("SharpDTMConverter::sharpToAddressee please check that the categories will be converted" ); | 269 | //qDebug("OlaccessConverter::sharpToAddressee please check that the categories will be converted" ); |
268 | QArray<int> catArray = db->readCategories(); | 270 | QArray<int> catArray = db->readCategories(); |
269 | QString cat; | 271 | QString cat; |
270 | 272 | ||
271 | for ( unsigned int i=0; i < catArray.size(); i++ ) { | 273 | for ( unsigned int i=0; i < catArray.size(); i++ ) { |
272 | cat = catDB->label(catArray[i]); | 274 | cat = catDB->label(catArray[i]); |
273 | if ( cat.isEmpty() ) | 275 | if ( cat.isEmpty() ) |
274 | addr.insertCategory(QString::number(catArray[i])); | 276 | addr.insertCategory(QString::number(catArray[i])); |
275 | else | 277 | else |
276 | addr.insertCategory( cat ); | 278 | addr.insertCategory( cat ); |
277 | } | 279 | } |
278 | 280 | ||
279 | return true; | 281 | return true; |
280 | } | 282 | } |
281 | 283 | ||
282 | bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact ) | 284 | bool OlaccessConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact ) |
283 | { | 285 | { |
284 | bool cellHome = false, cellWork = false; | 286 | bool cellHome = false, cellWork = false; |
285 | // name | 287 | // name |
286 | database->writeField(ZdbAdrs::LastName, addr.familyName()); | 288 | database->writeField(ZdbAdrs::LastName, addr.familyName()); |
287 | database->writeField(ZdbAdrs::FirstName, addr.givenName()); | 289 | database->writeField(ZdbAdrs::FirstName, addr.givenName()); |
288 | database->writeField(ZdbAdrs::MiddleName, addr.additionalName()); | 290 | database->writeField(ZdbAdrs::MiddleName, addr.additionalName()); |
289 | database->writeField(ZdbAdrs::Title, addr.prefix()); | 291 | database->writeField(ZdbAdrs::Title, addr.prefix()); |
290 | database->writeField(ZdbAdrs::Suffix, addr.suffix()); | 292 | database->writeField(ZdbAdrs::Suffix, addr.suffix()); |
291 | 293 | ||
292 | //qDebug("SharpDTMConverter::addresseeToSharp check if the fileAs transformation works!!\n%s",addr.formattedName().latin1() ); | 294 | //qDebug("OlaccessConverter::addresseeToSharp check if the fileAs transformation works!!\n%s",addr.formattedName().latin1() ); |
293 | QString formattedName = addr.formattedName(); | 295 | QString formattedName = addr.formattedName(); |
294 | if ( formattedName.isEmpty() ) { | 296 | if ( formattedName.isEmpty() ) { |
295 | if ( !addr.familyName().isEmpty() ) { | 297 | if ( !addr.familyName().isEmpty() ) { |
296 | formattedName = addr.familyName(); | 298 | formattedName = addr.familyName(); |
297 | if ( !addr.givenName().isEmpty() ) { | 299 | if ( !addr.givenName().isEmpty() ) { |
298 | formattedName += ", "; | 300 | formattedName += ", "; |
299 | formattedName += addr.givenName(); | 301 | formattedName += addr.givenName(); |
300 | } | 302 | } |
301 | } else | 303 | } else |
302 | formattedName = addr.givenName(); | 304 | formattedName = addr.givenName(); |
303 | } | 305 | } |
304 | database->writeField(ZdbAdrs::FileAs, formattedName); | 306 | database->writeField(ZdbAdrs::FileAs, formattedName); |
305 | database->writeField(ZdbAdrs::FullName, formattedName); | 307 | database->writeField(ZdbAdrs::FullName, formattedName); |
306 | 308 | ||
307 | 309 | ||
308 | //qDebug("SharpDTMConverter::addresseeToSharp check which seperator we need here for the emails!!"); | 310 | //qDebug("OlaccessConverter::addresseeToSharp check which seperator we need here for the emails!!"); |
309 | //qDebug("SharpDTMConverter::addresseeToSharp its probably the same from sharpToAddressee"); | 311 | //qDebug("OlaccessConverter::addresseeToSharp its probably the same from sharpToAddressee"); |
310 | QString emails = addr.emails().join(" "); | 312 | QString emails = addr.emails().join(" "); |
311 | database->writeField(ZdbAdrs::Emails, emails ); | 313 | database->writeField(ZdbAdrs::Emails, emails ); |
312 | 314 | ||
313 | database->writeField(ZdbAdrs::DefaultEmail, addr.preferredEmail() ); | 315 | database->writeField(ZdbAdrs::DefaultEmail, addr.preferredEmail() ); |
314 | // home | 316 | // home |
315 | const Address homeaddress = addr.address(Address::Home); | 317 | const Address homeaddress = addr.address(Address::Home); |
316 | database->writeField(ZdbAdrs::HomeStreet, homeaddress.street()); | 318 | database->writeField(ZdbAdrs::HomeStreet, homeaddress.street()); |
317 | database->writeField(ZdbAdrs::HomeCity, homeaddress.locality()); | 319 | database->writeField(ZdbAdrs::HomeCity, homeaddress.locality()); |
@@ -368,19 +370,19 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da | |||
368 | database->writeField(ZdbAdrs::Department, addr.custom( "KADDRESSBOOK", "X-Department" )); | 370 | database->writeField(ZdbAdrs::Department, addr.custom( "KADDRESSBOOK", "X-Department" )); |
369 | database->writeField(ZdbAdrs::Manager, addr.custom( "KADDRESSBOOK", "X-ManagersName" )); | 371 | database->writeField(ZdbAdrs::Manager, addr.custom( "KADDRESSBOOK", "X-ManagersName" )); |
370 | database->writeField(ZdbAdrs::Office, addr.custom( "KADDRESSBOOK", "X-Office" )); | 372 | database->writeField(ZdbAdrs::Office, addr.custom( "KADDRESSBOOK", "X-Office" )); |
371 | 373 | ||
372 | //personal | 374 | //personal |
373 | database->writeField(ZdbAdrs::Spouse, addr.custom( "KADDRESSBOOK", "X-Spouse" )); | 375 | database->writeField(ZdbAdrs::Spouse, addr.custom( "KADDRESSBOOK", "X-Spouse" )); |
374 | 376 | ||
375 | QString gt = addr.custom( "KADDRESSBOOK", "X-Gender" ); | 377 | QString gt = addr.custom( "KADDRESSBOOK", "X-Gender" ); |
376 | //qDebug("SharpDTMConverter::addresseeToSharp please check that gender works!! : Gender: %s", gt.latin1()); | 378 | //qDebug("OlaccessConverter::addresseeToSharp please check that gender works!! : Gender: %s", gt.latin1()); |
377 | //qDebug("SharpDTMConverter::addresseeToSharp: may be writeField(\"ZdbAdrs::Gender\", ushort) is here better suited?"); | 379 | //qDebug("OlaccessConverter::addresseeToSharp: may be writeField(\"ZdbAdrs::Gender\", ushort) is here better suited?"); |
378 | //qDebug("SharpDTMConverter::addresseeToSharp: check also the reverse functionality in sharpToAddressee"); | 380 | //qDebug("OlaccessConverter::addresseeToSharp: check also the reverse functionality in sharpToAddressee"); |
379 | if (gt == "male") | 381 | if (gt == "male") |
380 | database->writeField(ZdbAdrs::Gender, "1"); | 382 | database->writeField(ZdbAdrs::Gender, "1"); |
381 | else if (gt == "female") | 383 | else if (gt == "female") |
382 | database->writeField(ZdbAdrs::Gender, "2"); | 384 | database->writeField(ZdbAdrs::Gender, "2"); |
383 | else | 385 | else |
384 | database->writeField(ZdbAdrs::Gender, ""); | 386 | database->writeField(ZdbAdrs::Gender, ""); |
385 | 387 | ||
386 | QString dateS ; | 388 | QString dateS ; |
@@ -400,23 +402,23 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da | |||
400 | 402 | ||
401 | // other | 403 | // other |
402 | database->writeField(ZdbAdrs::Notes, addr.note()); | 404 | database->writeField(ZdbAdrs::Notes, addr.note()); |
403 | 405 | ||
404 | //US QString groups() const { return find( Qtopia::Groups ); } | 406 | //US QString groups() const { return find( Qtopia::Groups ); } |
405 | //US QStringList groupList() const; | 407 | //US QStringList groupList() const; |
406 | 408 | ||
407 | 409 | ||
408 | //qDebug("SharpDTMConverter::addresseeToSharp please check if category transformation works"); | 410 | //qDebug("OlaccessConverter::addresseeToSharp please check if category transformation works"); |
409 | 411 | ||
410 | return true; | 412 | return true; |
411 | } | 413 | } |
412 | 414 | ||
413 | 415 | ||
414 | bool SharpDTMConverter::setCategories( const Addressee &addr, SlZDataBase* database , const CardId &contact ) | 416 | bool OlaccessConverter::setCategories( const Addressee &addr, SlZDataBase* database , const CardId &contact ) |
415 | { | 417 | { |
416 | QStringList list = addr.categories(); | 418 | QStringList list = addr.categories(); |
417 | 419 | ||
418 | QArray<int> ids(list.count()); | 420 | QArray<int> ids(list.count()); |
419 | uint index = 0; | 421 | uint index = 0; |
420 | for(uint i=0; i<ids.size(); i++){ | 422 | for(uint i=0; i<ids.size(); i++){ |
421 | if(catDB->exists(list[i])){ | 423 | if(catDB->exists(list[i])){ |
422 | ids[index] = catDB->id(list[i]); | 424 | ids[index] = catDB->id(list[i]); |
@@ -426,19 +428,19 @@ bool SharpDTMConverter::setCategories( const Addressee &addr, SlZDataBase* datab | |||
426 | ids[index] = catDB->addCategory(list[i]); | 428 | ids[index] = catDB->addCategory(list[i]); |
427 | //qDebug("add new cat %d %s ",ids[index] , list[i].latin1()); | 429 | //qDebug("add new cat %d %s ",ids[index] , list[i].latin1()); |
428 | index++; | 430 | index++; |
429 | } | 431 | } |
430 | } | 432 | } |
431 | bool res ; | 433 | bool res ; |
432 | 434 | ||
433 | if ( !(res = database->updateCategories(contact, ids) )) | 435 | if ( !(res = database->updateCategories(contact, ids) )) |
434 | qDebug("SharpDTMConverter::Error updating categories"); | 436 | qDebug("OlaccessConverter::Error updating categories"); |
435 | 437 | ||
436 | return res; | 438 | return res; |
437 | } | 439 | } |
438 | 440 | #endif | |
439 | QDate SharpDTMConverter::convertDate( QString s) | 441 | QDate OlaccessConverter::convertDate( QString s) |
440 | { | 442 | { |
441 | QDate dt = KGlobal::locale()->readDate( s ); | 443 | QDate dt = KGlobal::locale()->readDate( s ); |
442 | return dt; | 444 | return dt; |
443 | return QDate (); | 445 | return QDate (); |
444 | } | 446 | } |