summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
Unidiff
Diffstat (limited to 'libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp158
1 files changed, 79 insertions, 79 deletions
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
index 07ad29a..0adba68 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
@@ -51,13 +51,13 @@
51#include <errno.h> 51#include <errno.h>
52 52
53using namespace Opie; 53using namespace Opie;
54 54
55 55
56namespace Opie { 56namespace Opie {
57OContactAccessBackend_XML::OContactAccessBackend_XML ( const QString& appname, const QString& filename ): 57OPimContactAccessBackend_XML::OPimContactAccessBackend_XML ( const QString& appname, const QString& filename ):
58 m_changed( false ) 58 m_changed( false )
59{ 59{
60 // Just m_contactlist should call delete if an entry 60 // Just m_contactlist should call delete if an entry
61 // is removed. 61 // is removed.
62 m_contactList.setAutoDelete( true ); 62 m_contactList.setAutoDelete( true );
63 m_uidToContact.setAutoDelete( false ); 63 m_uidToContact.setAutoDelete( false );
@@ -75,13 +75,13 @@ OContactAccessBackend_XML::OContactAccessBackend_XML ( const QString& appname, c
75 m_fileName = filename; 75 m_fileName = filename;
76 76
77 /* Load Database now */ 77 /* Load Database now */
78 load (); 78 load ();
79} 79}
80 80
81bool OContactAccessBackend_XML::save() 81bool OPimContactAccessBackend_XML::save()
82{ 82{
83 83
84 if ( !m_changed ) 84 if ( !m_changed )
85 return true; 85 return true;
86 86
87 QString strNewFile = m_fileName + ".new"; 87 QString strNewFile = m_fileName + ".new";
@@ -101,13 +101,13 @@ bool OContactAccessBackend_XML::save()
101 QCString cstr = out.utf8(); 101 QCString cstr = out.utf8();
102 f.writeBlock( cstr.data(), cstr.length() ); 102 f.writeBlock( cstr.data(), cstr.length() );
103 idx_offset += cstr.length(); 103 idx_offset += cstr.length();
104 out = ""; 104 out = "";
105 105
106 // Write all contacts 106 // Write all contacts
107 QListIterator<OContact> it( m_contactList ); 107 QListIterator<OPimContact> it( m_contactList );
108 for ( ; it.current(); ++it ) { 108 for ( ; it.current(); ++it ) {
109 // qWarning(" Uid %d at Offset: %x", (*it)->uid(), idx_offset ); 109 // qWarning(" Uid %d at Offset: %x", (*it)->uid(), idx_offset );
110 out += "<Contact "; 110 out += "<Contact ";
111 (*it)->save( out ); 111 (*it)->save( out );
112 out += "/>\n"; 112 out += "/>\n";
113 cstr = out.utf8(); 113 cstr = out.utf8();
@@ -145,13 +145,13 @@ bool OContactAccessBackend_XML::save()
145 removeJournal(); 145 removeJournal();
146 146
147 m_changed = false; 147 m_changed = false;
148 return true; 148 return true;
149} 149}
150 150
151bool OContactAccessBackend_XML::load () 151bool OPimContactAccessBackend_XML::load ()
152{ 152{
153 m_contactList.clear(); 153 m_contactList.clear();
154 m_uidToContact.clear(); 154 m_uidToContact.clear();
155 155
156 /* Load XML-File and journal if it exists */ 156 /* Load XML-File and journal if it exists */
157 if ( !load ( m_fileName, false ) ) 157 if ( !load ( m_fileName, false ) )
@@ -164,61 +164,61 @@ bool OContactAccessBackend_XML::load ()
164 */ 164 */
165 load (m_journalName, true); 165 load (m_journalName, true);
166 166
167 return true; 167 return true;
168} 168}
169 169
170void OContactAccessBackend_XML::clear () 170void OPimContactAccessBackend_XML::clear ()
171{ 171{
172 m_contactList.clear(); 172 m_contactList.clear();
173 m_uidToContact.clear(); 173 m_uidToContact.clear();
174 174
175 m_changed = false; 175 m_changed = false;
176} 176}
177 177
178bool OContactAccessBackend_XML::wasChangedExternally() 178bool OPimContactAccessBackend_XML::wasChangedExternally()
179{ 179{
180 QFileInfo fi( m_fileName ); 180 QFileInfo fi( m_fileName );
181 181
182 QDateTime lastmod = fi.lastModified (); 182 QDateTime lastmod = fi.lastModified ();
183 183
184 return (lastmod != m_readtime); 184 return (lastmod != m_readtime);
185} 185}
186 186
187QArray<int> OContactAccessBackend_XML::allRecords() const 187QArray<int> OPimContactAccessBackend_XML::allRecords() const
188{ 188{
189 QArray<int> uid_list( m_contactList.count() ); 189 QArray<int> uid_list( m_contactList.count() );
190 190
191 uint counter = 0; 191 uint counter = 0;
192 QListIterator<OContact> it( m_contactList ); 192 QListIterator<OPimContact> it( m_contactList );
193 for( ; it.current(); ++it ){ 193 for( ; it.current(); ++it ){
194 uid_list[counter++] = (*it)->uid(); 194 uid_list[counter++] = (*it)->uid();
195 } 195 }
196 196
197 return ( uid_list ); 197 return ( uid_list );
198} 198}
199 199
200OContact OContactAccessBackend_XML::find ( int uid ) const 200OPimContact OPimContactAccessBackend_XML::find ( int uid ) const
201{ 201{
202 OContact foundContact; //Create empty contact 202 OPimContact foundContact; //Create empty contact
203 203
204 OContact* found = m_uidToContact.find( QString().setNum( uid ) ); 204 OPimContact* found = m_uidToContact.find( QString().setNum( uid ) );
205 205
206 if ( found ){ 206 if ( found ){
207 foundContact = *found; 207 foundContact = *found;
208 } 208 }
209 209
210 return ( foundContact ); 210 return ( foundContact );
211} 211}
212 212
213QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, int settings, 213QArray<int> OPimContactAccessBackend_XML::queryByExample ( const OPimContact &query, int settings,
214 const QDateTime& d ) 214 const QDateTime& d )
215{ 215{
216 216
217 QArray<int> m_currentQuery( m_contactList.count() ); 217 QArray<int> m_currentQuery( m_contactList.count() );
218 QListIterator<OContact> it( m_contactList ); 218 QListIterator<OPimContact> it( m_contactList );
219 uint arraycounter = 0; 219 uint arraycounter = 0;
220 220
221 for( ; it.current(); ++it ){ 221 for( ; it.current(); ++it ){
222 /* Search all fields and compare them with query object. Store them into list 222 /* Search all fields and compare them with query object. Store them into list
223 * if all fields matches. 223 * if all fields matches.
224 */ 224 */
@@ -237,25 +237,25 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
237 queryDate = new QDate( query.anniversary() ); 237 queryDate = new QDate( query.anniversary() );
238 checkDate = new QDate( (*it)->anniversary() ); 238 checkDate = new QDate( (*it)->anniversary() );
239 } 239 }
240 240
241 if ( queryDate->isValid() ){ 241 if ( queryDate->isValid() ){
242 if( checkDate->isValid() ){ 242 if( checkDate->isValid() ){
243 if ( settings & OContactAccess::DateYear ){ 243 if ( settings & OPimContactAccess::DateYear ){
244 if ( queryDate->year() != checkDate->year() ) 244 if ( queryDate->year() != checkDate->year() )
245 allcorrect = false; 245 allcorrect = false;
246 } 246 }
247 if ( settings & OContactAccess::DateMonth ){ 247 if ( settings & OPimContactAccess::DateMonth ){
248 if ( queryDate->month() != checkDate->month() ) 248 if ( queryDate->month() != checkDate->month() )
249 allcorrect = false; 249 allcorrect = false;
250 } 250 }
251 if ( settings & OContactAccess::DateDay ){ 251 if ( settings & OPimContactAccess::DateDay ){
252 if ( queryDate->day() != checkDate->day() ) 252 if ( queryDate->day() != checkDate->day() )
253 allcorrect = false; 253 allcorrect = false;
254 } 254 }
255 if ( settings & OContactAccess::DateDiff ) { 255 if ( settings & OPimContactAccess::DateDiff ) {
256 QDate current; 256 QDate current;
257 // If we get an additional date, we 257 // If we get an additional date, we
258 // will take this date instead of 258 // will take this date instead of
259 // the current one.. 259 // the current one..
260 if ( !d.date().isValid() ) 260 if ( !d.date().isValid() )
261 current = QDate::currentDate(); 261 current = QDate::currentDate();
@@ -298,38 +298,38 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
298 delete checkDate; 298 delete checkDate;
299 checkDate = 0l; 299 checkDate = 0l;
300 break; 300 break;
301 default: 301 default:
302 /* Just compare fields which are not empty in the query object */ 302 /* Just compare fields which are not empty in the query object */
303 if ( !query.field(i).isEmpty() ){ 303 if ( !query.field(i).isEmpty() ){
304 switch ( settings & ~( OContactAccess::IgnoreCase 304 switch ( settings & ~( OPimContactAccess::IgnoreCase
305 | OContactAccess::DateDiff 305 | OPimContactAccess::DateDiff
306 | OContactAccess::DateYear 306 | OPimContactAccess::DateYear
307 | OContactAccess::DateMonth 307 | OPimContactAccess::DateMonth
308 | OContactAccess::DateDay 308 | OPimContactAccess::DateDay
309 | OContactAccess::MatchOne 309 | OPimContactAccess::MatchOne
310 ) ){ 310 ) ){
311 311
312 case OContactAccess::RegExp:{ 312 case OPimContactAccess::RegExp:{
313 QRegExp expr ( query.field(i), 313 QRegExp expr ( query.field(i),
314 !(settings & OContactAccess::IgnoreCase), 314 !(settings & OPimContactAccess::IgnoreCase),
315 false ); 315 false );
316 if ( expr.find ( (*it)->field(i), 0 ) == -1 ) 316 if ( expr.find ( (*it)->field(i), 0 ) == -1 )
317 allcorrect = false; 317 allcorrect = false;
318 } 318 }
319 break; 319 break;
320 case OContactAccess::WildCards:{ 320 case OPimContactAccess::WildCards:{
321 QRegExp expr ( query.field(i), 321 QRegExp expr ( query.field(i),
322 !(settings & OContactAccess::IgnoreCase), 322 !(settings & OPimContactAccess::IgnoreCase),
323 true ); 323 true );
324 if ( expr.find ( (*it)->field(i), 0 ) == -1 ) 324 if ( expr.find ( (*it)->field(i), 0 ) == -1 )
325 allcorrect = false; 325 allcorrect = false;
326 } 326 }
327 break; 327 break;
328 case OContactAccess::ExactMatch:{ 328 case OPimContactAccess::ExactMatch:{
329 if (settings & OContactAccess::IgnoreCase){ 329 if (settings & OPimContactAccess::IgnoreCase){
330 if ( query.field(i).upper() != 330 if ( query.field(i).upper() !=
331 (*it)->field(i).upper() ) 331 (*it)->field(i).upper() )
332 allcorrect = false; 332 allcorrect = false;
333 }else{ 333 }else{
334 if ( query.field(i) != (*it)->field(i) ) 334 if ( query.field(i) != (*it)->field(i) )
335 allcorrect = false; 335 allcorrect = false;
@@ -348,16 +348,16 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
348 // Shrink to fit.. 348 // Shrink to fit..
349 m_currentQuery.resize(arraycounter); 349 m_currentQuery.resize(arraycounter);
350 350
351 return m_currentQuery; 351 return m_currentQuery;
352} 352}
353 353
354QArray<int> OContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const 354QArray<int> OPimContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const
355{ 355{
356 QArray<int> m_currentQuery( m_contactList.count() ); 356 QArray<int> m_currentQuery( m_contactList.count() );
357 QListIterator<OContact> it( m_contactList ); 357 QListIterator<OPimContact> it( m_contactList );
358 uint arraycounter = 0; 358 uint arraycounter = 0;
359 359
360 for( ; it.current(); ++it ){ 360 for( ; it.current(); ++it ){
361 if ( (*it)->match( r ) ){ 361 if ( (*it)->match( r ) ){
362 m_currentQuery[arraycounter++] = (*it)->uid(); 362 m_currentQuery[arraycounter++] = (*it)->uid();
363 } 363 }
@@ -366,82 +366,82 @@ QArray<int> OContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const
366 // Shrink to fit.. 366 // Shrink to fit..
367 m_currentQuery.resize(arraycounter); 367 m_currentQuery.resize(arraycounter);
368 368
369 return m_currentQuery; 369 return m_currentQuery;
370} 370}
371 371
372const uint OContactAccessBackend_XML::querySettings() 372const uint OPimContactAccessBackend_XML::querySettings()
373{ 373{
374 return ( OContactAccess::WildCards 374 return ( OPimContactAccess::WildCards
375 | OContactAccess::IgnoreCase 375 | OPimContactAccess::IgnoreCase
376 | OContactAccess::RegExp 376 | OPimContactAccess::RegExp
377 | OContactAccess::ExactMatch 377 | OPimContactAccess::ExactMatch
378 | OContactAccess::DateDiff 378 | OPimContactAccess::DateDiff
379 | OContactAccess::DateYear 379 | OPimContactAccess::DateYear
380 | OContactAccess::DateMonth 380 | OPimContactAccess::DateMonth
381 | OContactAccess::DateDay 381 | OPimContactAccess::DateDay
382 ); 382 );
383} 383}
384 384
385bool OContactAccessBackend_XML::hasQuerySettings (uint querySettings) const 385bool OPimContactAccessBackend_XML::hasQuerySettings (uint querySettings) const
386{ 386{
387 /* OContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay 387 /* OPimContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay
388 * may be added with any of the other settings. IgnoreCase should never used alone. 388 * may be added with any of the other settings. IgnoreCase should never used alone.
389 * Wildcards, RegExp, ExactMatch should never used at the same time... 389 * Wildcards, RegExp, ExactMatch should never used at the same time...
390 */ 390 */
391 391
392 // Step 1: Check whether the given settings are supported by this backend 392 // Step 1: Check whether the given settings are supported by this backend
393 if ( ( querySettings & ( 393 if ( ( querySettings & (
394 OContactAccess::IgnoreCase 394 OPimContactAccess::IgnoreCase
395 | OContactAccess::WildCards 395 | OPimContactAccess::WildCards
396 | OContactAccess::DateDiff 396 | OPimContactAccess::DateDiff
397 | OContactAccess::DateYear 397 | OPimContactAccess::DateYear
398 | OContactAccess::DateMonth 398 | OPimContactAccess::DateMonth
399 | OContactAccess::DateDay 399 | OPimContactAccess::DateDay
400 | OContactAccess::RegExp 400 | OPimContactAccess::RegExp
401 | OContactAccess::ExactMatch 401 | OPimContactAccess::ExactMatch
402 ) ) != querySettings ) 402 ) ) != querySettings )
403 return false; 403 return false;
404 404
405 // Step 2: Check whether the given combinations are ok.. 405 // Step 2: Check whether the given combinations are ok..
406 406
407 // IngoreCase alone is invalid 407 // IngoreCase alone is invalid
408 if ( querySettings == OContactAccess::IgnoreCase ) 408 if ( querySettings == OPimContactAccess::IgnoreCase )
409 return false; 409 return false;
410 410
411 // WildCards, RegExp and ExactMatch should never used at the same time 411 // WildCards, RegExp and ExactMatch should never used at the same time
412 switch ( querySettings & ~( OContactAccess::IgnoreCase 412 switch ( querySettings & ~( OPimContactAccess::IgnoreCase
413 | OContactAccess::DateDiff 413 | OPimContactAccess::DateDiff
414 | OContactAccess::DateYear 414 | OPimContactAccess::DateYear
415 | OContactAccess::DateMonth 415 | OPimContactAccess::DateMonth
416 | OContactAccess::DateDay 416 | OPimContactAccess::DateDay
417 ) 417 )
418 ){ 418 ){
419 case OContactAccess::RegExp: 419 case OPimContactAccess::RegExp:
420 return ( true ); 420 return ( true );
421 case OContactAccess::WildCards: 421 case OPimContactAccess::WildCards:
422 return ( true ); 422 return ( true );
423 case OContactAccess::ExactMatch: 423 case OPimContactAccess::ExactMatch:
424 return ( true ); 424 return ( true );
425 case 0: // one of the upper removed bits were set.. 425 case 0: // one of the upper removed bits were set..
426 return ( true ); 426 return ( true );
427 default: 427 default:
428 return ( false ); 428 return ( false );
429 } 429 }
430} 430}
431 431
432// Currently only asc implemented.. 432// Currently only asc implemented..
433QArray<int> OContactAccessBackend_XML::sorted( bool asc, int , int , int ) 433QArray<int> OPimContactAccessBackend_XML::sorted( bool asc, int , int , int )
434{ 434{
435 QMap<QString, int> nameToUid; 435 QMap<QString, int> nameToUid;
436 QStringList names; 436 QStringList names;
437 QArray<int> m_currentQuery( m_contactList.count() ); 437 QArray<int> m_currentQuery( m_contactList.count() );
438 438
439 // First fill map and StringList with all Names 439 // First fill map and StringList with all Names
440 // Afterwards sort namelist and use map to fill array to return.. 440 // Afterwards sort namelist and use map to fill array to return..
441 QListIterator<OContact> it( m_contactList ); 441 QListIterator<OPimContact> it( m_contactList );
442 for( ; it.current(); ++it ){ 442 for( ; it.current(); ++it ){
443 names.append( (*it)->fileAs() + QString::number( (*it)->uid() ) ); 443 names.append( (*it)->fileAs() + QString::number( (*it)->uid() ) );
444 nameToUid.insert( (*it)->fileAs() + QString::number( (*it)->uid() ), (*it)->uid() ); 444 nameToUid.insert( (*it)->fileAs() + QString::number( (*it)->uid() ), (*it)->uid() );
445 } 445 }
446 names.sort(); 446 names.sort();
447 447
@@ -455,31 +455,31 @@ QArray<int> OContactAccessBackend_XML::sorted( bool asc, int , int , int )
455 } 455 }
456 456
457 return m_currentQuery; 457 return m_currentQuery;
458 458
459} 459}
460 460
461bool OContactAccessBackend_XML::add ( const OContact &newcontact ) 461bool OPimContactAccessBackend_XML::add ( const OPimContact &newcontact )
462{ 462{
463 //qWarning("odefaultbackend: ACTION::ADD"); 463 //qWarning("odefaultbackend: ACTION::ADD");
464 updateJournal (newcontact, ACTION_ADD); 464 updateJournal (newcontact, ACTION_ADD);
465 addContact_p( newcontact ); 465 addContact_p( newcontact );
466 466
467 m_changed = true; 467 m_changed = true;
468 468
469 return true; 469 return true;
470} 470}
471 471
472bool OContactAccessBackend_XML::replace ( const OContact &contact ) 472bool OPimContactAccessBackend_XML::replace ( const OPimContact &contact )
473{ 473{
474 m_changed = true; 474 m_changed = true;
475 475
476 OContact* found = m_uidToContact.find ( QString().setNum( contact.uid() ) ); 476 OPimContact* found = m_uidToContact.find ( QString().setNum( contact.uid() ) );
477 477
478 if ( found ) { 478 if ( found ) {
479 OContact* newCont = new OContact( contact ); 479 OPimContact* newCont = new OPimContact( contact );
480 480
481 updateJournal ( *newCont, ACTION_REPLACE); 481 updateJournal ( *newCont, ACTION_REPLACE);
482 m_contactList.removeRef ( found ); 482 m_contactList.removeRef ( found );
483 m_contactList.append ( newCont ); 483 m_contactList.append ( newCont );
484 m_uidToContact.remove( QString().setNum( contact.uid() ) ); 484 m_uidToContact.remove( QString().setNum( contact.uid() ) );
485 m_uidToContact.insert( QString().setNum( newCont->uid() ), newCont ); 485 m_uidToContact.insert( QString().setNum( newCont->uid() ), newCont );
@@ -488,43 +488,43 @@ bool OContactAccessBackend_XML::replace ( const OContact &contact )
488 488
489 return true; 489 return true;
490 } else 490 } else
491 return false; 491 return false;
492} 492}
493 493
494bool OContactAccessBackend_XML::remove ( int uid ) 494bool OPimContactAccessBackend_XML::remove ( int uid )
495{ 495{
496 m_changed = true; 496 m_changed = true;
497 497
498 OContact* found = m_uidToContact.find ( QString().setNum( uid ) ); 498 OPimContact* found = m_uidToContact.find ( QString().setNum( uid ) );
499 499
500 if ( found ) { 500 if ( found ) {
501 updateJournal ( *found, ACTION_REMOVE); 501 updateJournal ( *found, ACTION_REMOVE);
502 m_contactList.removeRef ( found ); 502 m_contactList.removeRef ( found );
503 m_uidToContact.remove( QString().setNum( uid ) ); 503 m_uidToContact.remove( QString().setNum( uid ) );
504 504
505 return true; 505 return true;
506 } else 506 } else
507 return false; 507 return false;
508} 508}
509 509
510bool OContactAccessBackend_XML::reload(){ 510bool OPimContactAccessBackend_XML::reload(){
511 /* Reload is the same as load in this implementation */ 511 /* Reload is the same as load in this implementation */
512 return ( load() ); 512 return ( load() );
513} 513}
514 514
515void OContactAccessBackend_XML::addContact_p( const OContact &newcontact ) 515void OPimContactAccessBackend_XML::addContact_p( const OPimContact &newcontact )
516{ 516{
517 OContact* contRef = new OContact( newcontact ); 517 OPimContact* contRef = new OPimContact( newcontact );
518 518
519 m_contactList.append ( contRef ); 519 m_contactList.append ( contRef );
520 m_uidToContact.insert( QString().setNum( newcontact.uid() ), contRef ); 520 m_uidToContact.insert( QString().setNum( newcontact.uid() ), contRef );
521} 521}
522 522
523/* This function loads the xml-database and the journalfile */ 523/* This function loads the xml-database and the journalfile */
524bool OContactAccessBackend_XML::load( const QString filename, bool isJournal ) 524bool OPimContactAccessBackend_XML::load( const QString filename, bool isJournal )
525{ 525{
526 526
527 /* We use the time of the last read to check if the file was 527 /* We use the time of the last read to check if the file was
528 * changed externally. 528 * changed externally.
529 */ 529 */
530 if ( !isJournal ){ 530 if ( !isJournal ){
@@ -587,46 +587,46 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
587 dict.insert( "Anniversary", new int(Qtopia::Anniversary) ); 587 dict.insert( "Anniversary", new int(Qtopia::Anniversary) );
588 dict.insert( "Nickname", new int(Qtopia::Nickname) ); 588 dict.insert( "Nickname", new int(Qtopia::Nickname) );
589 dict.insert( "Notes", new int(Qtopia::Notes) ); 589 dict.insert( "Notes", new int(Qtopia::Notes) );
590 dict.insert( "action", new int(JOURNALACTION) ); 590 dict.insert( "action", new int(JOURNALACTION) );
591 dict.insert( "actionrow", new int(JOURNALROW) ); 591 dict.insert( "actionrow", new int(JOURNALROW) );
592 592
593 //qWarning( "OContactDefaultBackEnd::loading %s", filename.latin1() ); 593 //qWarning( "OPimContactDefaultBackEnd::loading %s", filename.latin1() );
594 594
595 XMLElement *root = XMLElement::load( filename ); 595 XMLElement *root = XMLElement::load( filename );
596 if(root != 0l ){ // start parsing 596 if(root != 0l ){ // start parsing
597 /* Parse all XML-Elements and put the data into the 597 /* Parse all XML-Elements and put the data into the
598 * Contact-Class 598 * Contact-Class
599 */ 599 */
600 XMLElement *element = root->firstChild(); 600 XMLElement *element = root->firstChild();
601 //qWarning("OContactAccess::load tagName(): %s", root->tagName().latin1() ); 601 //qWarning("OPimContactAccess::load tagName(): %s", root->tagName().latin1() );
602 element = element->firstChild(); 602 element = element->firstChild();
603 603
604 /* Search Tag "Contacts" which is the parent of all Contacts */ 604 /* Search Tag "Contacts" which is the parent of all Contacts */
605 while( element && !isJournal ){ 605 while( element && !isJournal ){
606 if( element->tagName() != QString::fromLatin1("Contacts") ){ 606 if( element->tagName() != QString::fromLatin1("Contacts") ){
607 //qWarning ("OContactDefBack::Searching for Tag \"Contacts\"! Found: %s", 607 //qWarning ("OPimContactDefBack::Searching for Tag \"Contacts\"! Found: %s",
608 // element->tagName().latin1()); 608 // element->tagName().latin1());
609 element = element->nextChild(); 609 element = element->nextChild();
610 } else { 610 } else {
611 element = element->firstChild(); 611 element = element->firstChild();
612 break; 612 break;
613 } 613 }
614 } 614 }
615 /* Parse all Contacts and ignore unknown tags */ 615 /* Parse all Contacts and ignore unknown tags */
616 while( element ){ 616 while( element ){
617 if( element->tagName() != QString::fromLatin1("Contact") ){ 617 if( element->tagName() != QString::fromLatin1("Contact") ){
618 //qWarning ("OContactDefBack::Searching for Tag \"Contact\"! Found: %s", 618 //qWarning ("OPimContactDefBack::Searching for Tag \"Contact\"! Found: %s",
619 // element->tagName().latin1()); 619 // element->tagName().latin1());
620 element = element->nextChild(); 620 element = element->nextChild();
621 continue; 621 continue;
622 } 622 }
623 /* Found alement with tagname "contact", now parse and store all 623 /* Found alement with tagname "contact", now parse and store all
624 * attributes contained 624 * attributes contained
625 */ 625 */
626 //qWarning("OContactDefBack::load element tagName() : %s", 626 //qWarning("OPimContactDefBack::load element tagName() : %s",
627 // element->tagName().latin1() ); 627 // element->tagName().latin1() );
628 QString dummy; 628 QString dummy;
629 foundAction = false; 629 foundAction = false;
630 630
631 XMLElement::AttributeMap aMap = element->attributes(); 631 XMLElement::AttributeMap aMap = element->attributes();
632 XMLElement::AttributeMap::Iterator it; 632 XMLElement::AttributeMap::Iterator it;
@@ -667,13 +667,13 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
667 default: // no conversion needed add them to the map 667 default: // no conversion needed add them to the map
668 contactMap.insert( *find, it.data() ); 668 contactMap.insert( *find, it.data() );
669 break; 669 break;
670 } 670 }
671 } 671 }
672 /* now generate the Contact contact */ 672 /* now generate the Contact contact */
673 OContact contact( contactMap ); 673 OPimContact contact( contactMap );
674 674
675 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) { 675 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) {
676 contact.setCustomField( customIt.key(), customIt.data() ); 676 contact.setCustomField( customIt.key(), customIt.data() );
677 } 677 }
678 678
679 if (foundAction){ 679 if (foundAction){
@@ -710,13 +710,13 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
710 delete root; 710 delete root;
711 qWarning("returning from loading" ); 711 qWarning("returning from loading" );
712 return true; 712 return true;
713} 713}
714 714
715 715
716void OContactAccessBackend_XML::updateJournal( const OContact& cnt, 716void OPimContactAccessBackend_XML::updateJournal( const OPimContact& cnt,
717 journal_action action ) 717 journal_action action )
718{ 718{
719 QFile f( m_journalName ); 719 QFile f( m_journalName );
720 bool created = !f.exists(); 720 bool created = !f.exists();
721 if ( !f.open(IO_WriteOnly|IO_Append) ) 721 if ( !f.open(IO_WriteOnly|IO_Append) )
722 return; 722 return;
@@ -738,13 +738,13 @@ void OContactAccessBackend_XML::updateJournal( const OContact& cnt,
738 buf += " action=\"" + QString::number( (int)action ) + "\" "; 738 buf += " action=\"" + QString::number( (int)action ) + "\" ";
739 buf += "/>\n"; 739 buf += "/>\n";
740 QCString cstr = buf.utf8(); 740 QCString cstr = buf.utf8();
741 f.writeBlock( cstr.data(), cstr.length() ); 741 f.writeBlock( cstr.data(), cstr.length() );
742} 742}
743 743
744void OContactAccessBackend_XML::removeJournal() 744void OPimContactAccessBackend_XML::removeJournal()
745{ 745{
746 QFile f ( m_journalName ); 746 QFile f ( m_journalName );
747 if ( f.exists() ) 747 if ( f.exists() )
748 f.remove(); 748 f.remove();
749} 749}
750 750