summaryrefslogtreecommitdiffabout
path: root/kabc/plugins/olaccess/olaccessconverter.cpp
Unidiff
Diffstat (limited to 'kabc/plugins/olaccess/olaccessconverter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/olaccess/olaccessconverter.cpp54
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
@@ -26,63 +26,65 @@ $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
39using namespace KABC; 38using namespace KABC;
40using namespace SlCategory;
41 39
42SharpDTMConverter::SharpDTMConverter() : catDB(0) 40OlaccessConverter::OlaccessConverter()
43{ 41{
44} 42}
45 43
46SharpDTMConverter::~SharpDTMConverter() 44OlaccessConverter::~OlaccessConverter()
47{ 45{
48 deinit(); 46 deinit();
49} 47}
50 48
51bool SharpDTMConverter::init() 49bool 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
62void SharpDTMConverter::deinit() 62void 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
71bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBase* database, Addressee &addr ) 73bool 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) );
@@ -91,13 +93,13 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
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;
@@ -218,14 +220,14 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
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");
@@ -261,13 +263,13 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
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() )
@@ -276,23 +278,23 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
276 addr.insertCategory( cat ); 278 addr.insertCategory( cat );
277 } 279 }
278 280
279 return true; 281 return true;
280} 282}
281 283
282bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact ) 284bool 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 += ", ";
@@ -302,14 +304,14 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da
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 // email 309 // email
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);
@@ -370,15 +372,15 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da
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, "");
@@ -402,19 +404,19 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da
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
414bool SharpDTMConverter::setCategories( const Addressee &addr, SlZDataBase* database , const CardId &contact ) 416bool 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++){
@@ -428,17 +430,17 @@ bool SharpDTMConverter::setCategories( const Addressee &addr, SlZDataBase* datab
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
439QDate SharpDTMConverter::convertDate( QString s) 441QDate 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}