summaryrefslogtreecommitdiff
authoreilers <eilers>2002-12-08 12:48:57 (UTC)
committer eilers <eilers>2002-12-08 12:48:57 (UTC)
commita88b210e6895614027c821bb5cedabc9b06117d3 (patch) (unidiff)
tree1c38097b1935713d165c1087268701657a38fa11
parent6e52c7ae78769be8427b01201aa77c78aef90647 (diff)
downloadopie-a88b210e6895614027c821bb5cedabc9b06117d3.zip
opie-a88b210e6895614027c821bb5cedabc9b06117d3.tar.gz
opie-a88b210e6895614027c821bb5cedabc9b06117d3.tar.bz2
Moved journal-enum from ocontact into i the xml-backend..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/ocontact.h2
-rw-r--r--libopie/pim/ocontactaccessbackend_xml.h24
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_xml.h24
-rw-r--r--libopie2/opiepim/ocontact.h2
4 files changed, 30 insertions, 22 deletions
diff --git a/libopie/pim/ocontact.h b/libopie/pim/ocontact.h
index 65ba43e..1fd1c75 100644
--- a/libopie/pim/ocontact.h
+++ b/libopie/pim/ocontact.h
@@ -39,18 +39,16 @@ class ContactPrivate;
39class QPC_EXPORT OContact : public OPimRecord 39class QPC_EXPORT OContact : public OPimRecord
40{ 40{
41 friend class DataSet; 41 friend class DataSet;
42public: 42public:
43 OContact(); 43 OContact();
44 OContact( const QMap<int, QString> &fromMap ); 44 OContact( const QMap<int, QString> &fromMap );
45 virtual ~OContact(); 45 virtual ~OContact();
46 46
47 enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE };
48
49 /* 47 /*
50 * do we need to inline them 48 * do we need to inline them
51 * if yes do we need to inline them this way? 49 * if yes do we need to inline them this way?
52 * -zecke 50 * -zecke
53 */ 51 */
54 void setTitle( const QString &v ) { replace( Qtopia::Title, v ); } 52 void setTitle( const QString &v ) { replace( Qtopia::Title, v ); }
55 void setFirstName( const QString &v ) { replace( Qtopia::FirstName, v ); } 53 void setFirstName( const QString &v ) { replace( Qtopia::FirstName, v ); }
56 void setMiddleName( const QString &v ) { replace( Qtopia::MiddleName, v ); } 54 void setMiddleName( const QString &v ) { replace( Qtopia::MiddleName, v ); }
diff --git a/libopie/pim/ocontactaccessbackend_xml.h b/libopie/pim/ocontactaccessbackend_xml.h
index ae6ec9e..c765ff5 100644
--- a/libopie/pim/ocontactaccessbackend_xml.h
+++ b/libopie/pim/ocontactaccessbackend_xml.h
@@ -12,16 +12,19 @@
12 * ToDo: XML-Backend: Automatic reload if something was changed... 12 * ToDo: XML-Backend: Automatic reload if something was changed...
13 * 13 *
14 * 14 *
15 * ===================================================================== 15 * =====================================================================
16 * Version: $Id$ 16 * Version: $Id$
17 * ===================================================================== 17 * =====================================================================
18 * History: 18 * History:
19 * $Log$ 19 * $Log$
20 * Revision 1.9 2002/12/08 12:48:57 eilers
21 * Moved journal-enum from ocontact into i the xml-backend..
22 *
20 * Revision 1.8 2002/11/14 17:04:24 eilers 23 * Revision 1.8 2002/11/14 17:04:24 eilers
21 * Sorting will now work if fullname is identical on some entries 24 * Sorting will now work if fullname is identical on some entries
22 * 25 *
23 * Revision 1.7 2002/11/13 15:02:46 eilers 26 * Revision 1.7 2002/11/13 15:02:46 eilers
24 * Small Bug in sorted fixed 27 * Small Bug in sorted fixed
25 * 28 *
26 * Revision 1.6 2002/11/13 14:14:51 eilers 29 * Revision 1.6 2002/11/13 14:14:51 eilers
27 * Added sorted for Contacts.. 30 * Added sorted for Contacts..
@@ -337,17 +340,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
337 } 340 }
338 341
339 return m_currentQuery; 342 return m_currentQuery;
340 343
341 } 344 }
342 bool add ( const OContact &newcontact ) 345 bool add ( const OContact &newcontact )
343 { 346 {
344 //qWarning("odefaultbackend: ACTION::ADD"); 347 //qWarning("odefaultbackend: ACTION::ADD");
345 updateJournal (newcontact, OContact::ACTION_ADD); 348 updateJournal (newcontact, ACTION_ADD);
346 addContact_p( newcontact ); 349 addContact_p( newcontact );
347 350
348 m_changed = true; 351 m_changed = true;
349 352
350 return true; 353 return true;
351 } 354 }
352 355
353 bool replace ( const OContact &contact ) 356 bool replace ( const OContact &contact )
@@ -359,17 +362,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
359 QValueListIterator<OContact> it; 362 QValueListIterator<OContact> it;
360 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){ 363 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){
361 if ( (*it).uid() == contact.uid() ){ 364 if ( (*it).uid() == contact.uid() ){
362 found = true; 365 found = true;
363 break; 366 break;
364 } 367 }
365 } 368 }
366 if (found) { 369 if (found) {
367 updateJournal (contact, OContact::ACTION_REPLACE); 370 updateJournal (contact, ACTION_REPLACE);
368 m_contactList.remove (it); 371 m_contactList.remove (it);
369 m_contactList.append (contact); 372 m_contactList.append (contact);
370 return true; 373 return true;
371 } else 374 } else
372 return false; 375 return false;
373 } 376 }
374 377
375 bool remove ( int uid ) 378 bool remove ( int uid )
@@ -380,29 +383,32 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
380 QValueListIterator<OContact> it; 383 QValueListIterator<OContact> it;
381 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){ 384 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){
382 if ((*it).uid() == uid){ 385 if ((*it).uid() == uid){
383 found = true; 386 found = true;
384 break; 387 break;
385 } 388 }
386 } 389 }
387 if (found) { 390 if (found) {
388 updateJournal ( *it, OContact::ACTION_REMOVE); 391 updateJournal ( *it, ACTION_REMOVE);
389 m_contactList.remove (it); 392 m_contactList.remove (it);
390 return true; 393 return true;
391 } else 394 } else
392 return false; 395 return false;
393 } 396 }
394 397
395 bool reload(){ 398 bool reload(){
396 /* Reload is the same as load in this implementation */ 399 /* Reload is the same as load in this implementation */
397 return ( load() ); 400 return ( load() );
398 } 401 }
399 402
400 private: 403 private:
404
405 enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE };
406
401 void addContact_p( const OContact &newcontact ){ 407 void addContact_p( const OContact &newcontact ){
402 m_contactList.append (newcontact); 408 m_contactList.append (newcontact);
403 } 409 }
404 410
405 /* This function loads the xml-database and the journalfile */ 411 /* This function loads the xml-database and the journalfile */
406 bool load( const QString filename, bool isJournal ) { 412 bool load( const QString filename, bool isJournal ) {
407 413
408 /* We use the time of the last read to check if the file was 414 /* We use the time of the last read to check if the file was
@@ -412,17 +418,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
412 QFileInfo fi( filename ); 418 QFileInfo fi( filename );
413 m_readtime = fi.lastModified (); 419 m_readtime = fi.lastModified ();
414 } 420 }
415 421
416 const int JOURNALACTION = Qtopia::Notes + 1; 422 const int JOURNALACTION = Qtopia::Notes + 1;
417 const int JOURNALROW = JOURNALACTION + 1; 423 const int JOURNALROW = JOURNALACTION + 1;
418 424
419 bool foundAction = false; 425 bool foundAction = false;
420 OContact::journal_action action = OContact::ACTION_ADD; 426 journal_action action = ACTION_ADD;
421 int journalKey = 0; 427 int journalKey = 0;
422 QMap<int, QString> contactMap; 428 QMap<int, QString> contactMap;
423 QMap<QString, QString> customMap; 429 QMap<QString, QString> customMap;
424 QMap<QString, QString>::Iterator customIt; 430 QMap<QString, QString>::Iterator customIt;
425 QAsciiDict<int> dict( 47 ); 431 QAsciiDict<int> dict( 47 );
426 432
427 dict.setAutoDelete( TRUE ); 433 dict.setAutoDelete( TRUE );
428 dict.insert( "Uid", new int(Qtopia::AddressUid) ); 434 dict.insert( "Uid", new int(Qtopia::AddressUid) );
@@ -533,17 +539,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
533 case Qtopia::AddressUid: 539 case Qtopia::AddressUid:
534 contact.setUid( it.data().toInt() ); 540 contact.setUid( it.data().toInt() );
535 break; 541 break;
536 case Qtopia::AddressCategory: 542 case Qtopia::AddressCategory:
537 contact.setCategories( Qtopia::Record::idsFromString( it.data( ))); 543 contact.setCategories( Qtopia::Record::idsFromString( it.data( )));
538 break; 544 break;
539 */ 545 */
540 case JOURNALACTION: 546 case JOURNALACTION:
541 action = OContact::journal_action(it.data().toInt()); 547 action = journal_action(it.data().toInt());
542 foundAction = true; 548 foundAction = true;
543 qWarning ("ODefBack(journal)::ACTION found: %d", action); 549 qWarning ("ODefBack(journal)::ACTION found: %d", action);
544 break; 550 break;
545 case JOURNALROW: 551 case JOURNALROW:
546 journalKey = it.data().toInt(); 552 journalKey = it.data().toInt();
547 break; 553 break;
548 default: // no conversion needed add them to the map 554 default: // no conversion needed add them to the map
549 contactMap.insert( *find, it.data() ); 555 contactMap.insert( *find, it.data() );
@@ -555,25 +561,25 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
555 561
556 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) { 562 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) {
557 contact.setCustomField( customIt.key(), customIt.data() ); 563 contact.setCustomField( customIt.key(), customIt.data() );
558 } 564 }
559 565
560 if (foundAction){ 566 if (foundAction){
561 foundAction = false; 567 foundAction = false;
562 switch ( action ) { 568 switch ( action ) {
563 case OContact::ACTION_ADD: 569 case ACTION_ADD:
564 addContact_p (contact); 570 addContact_p (contact);
565 break; 571 break;
566 case OContact::ACTION_REMOVE: 572 case ACTION_REMOVE:
567 if ( !remove (contact.uid()) ) 573 if ( !remove (contact.uid()) )
568 qWarning ("ODefBack(journal)::Unable to remove uid: %d", 574 qWarning ("ODefBack(journal)::Unable to remove uid: %d",
569 contact.uid() ); 575 contact.uid() );
570 break; 576 break;
571 case OContact::ACTION_REPLACE: 577 case ACTION_REPLACE:
572 if ( !replace ( contact ) ) 578 if ( !replace ( contact ) )
573 qWarning ("ODefBack(journal)::Unable to replace uid: %d", 579 qWarning ("ODefBack(journal)::Unable to replace uid: %d",
574 contact.uid() ); 580 contact.uid() );
575 break; 581 break;
576 default: 582 default:
577 qWarning ("Unknown action: ignored !"); 583 qWarning ("Unknown action: ignored !");
578 break; 584 break;
579 } 585 }
@@ -590,17 +596,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
590 } 596 }
591 delete root; 597 delete root;
592 qWarning("returning from loading" ); 598 qWarning("returning from loading" );
593 return true; 599 return true;
594 } 600 }
595 601
596 602
597 void updateJournal( const OContact& cnt, 603 void updateJournal( const OContact& cnt,
598 OContact::journal_action action ) { 604 journal_action action ) {
599 QFile f( m_journalName ); 605 QFile f( m_journalName );
600 bool created = !f.exists(); 606 bool created = !f.exists();
601 if ( !f.open(IO_WriteOnly|IO_Append) ) 607 if ( !f.open(IO_WriteOnly|IO_Append) )
602 return; 608 return;
603 609
604 QString buf; 610 QString buf;
605 QCString str; 611 QCString str;
606 612
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.h b/libopie2/opiepim/backend/ocontactaccessbackend_xml.h
index ae6ec9e..c765ff5 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.h
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.h
@@ -12,16 +12,19 @@
12 * ToDo: XML-Backend: Automatic reload if something was changed... 12 * ToDo: XML-Backend: Automatic reload if something was changed...
13 * 13 *
14 * 14 *
15 * ===================================================================== 15 * =====================================================================
16 * Version: $Id$ 16 * Version: $Id$
17 * ===================================================================== 17 * =====================================================================
18 * History: 18 * History:
19 * $Log$ 19 * $Log$
20 * Revision 1.9 2002/12/08 12:48:57 eilers
21 * Moved journal-enum from ocontact into i the xml-backend..
22 *
20 * Revision 1.8 2002/11/14 17:04:24 eilers 23 * Revision 1.8 2002/11/14 17:04:24 eilers
21 * Sorting will now work if fullname is identical on some entries 24 * Sorting will now work if fullname is identical on some entries
22 * 25 *
23 * Revision 1.7 2002/11/13 15:02:46 eilers 26 * Revision 1.7 2002/11/13 15:02:46 eilers
24 * Small Bug in sorted fixed 27 * Small Bug in sorted fixed
25 * 28 *
26 * Revision 1.6 2002/11/13 14:14:51 eilers 29 * Revision 1.6 2002/11/13 14:14:51 eilers
27 * Added sorted for Contacts.. 30 * Added sorted for Contacts..
@@ -337,17 +340,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
337 } 340 }
338 341
339 return m_currentQuery; 342 return m_currentQuery;
340 343
341 } 344 }
342 bool add ( const OContact &newcontact ) 345 bool add ( const OContact &newcontact )
343 { 346 {
344 //qWarning("odefaultbackend: ACTION::ADD"); 347 //qWarning("odefaultbackend: ACTION::ADD");
345 updateJournal (newcontact, OContact::ACTION_ADD); 348 updateJournal (newcontact, ACTION_ADD);
346 addContact_p( newcontact ); 349 addContact_p( newcontact );
347 350
348 m_changed = true; 351 m_changed = true;
349 352
350 return true; 353 return true;
351 } 354 }
352 355
353 bool replace ( const OContact &contact ) 356 bool replace ( const OContact &contact )
@@ -359,17 +362,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
359 QValueListIterator<OContact> it; 362 QValueListIterator<OContact> it;
360 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){ 363 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){
361 if ( (*it).uid() == contact.uid() ){ 364 if ( (*it).uid() == contact.uid() ){
362 found = true; 365 found = true;
363 break; 366 break;
364 } 367 }
365 } 368 }
366 if (found) { 369 if (found) {
367 updateJournal (contact, OContact::ACTION_REPLACE); 370 updateJournal (contact, ACTION_REPLACE);
368 m_contactList.remove (it); 371 m_contactList.remove (it);
369 m_contactList.append (contact); 372 m_contactList.append (contact);
370 return true; 373 return true;
371 } else 374 } else
372 return false; 375 return false;
373 } 376 }
374 377
375 bool remove ( int uid ) 378 bool remove ( int uid )
@@ -380,29 +383,32 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
380 QValueListIterator<OContact> it; 383 QValueListIterator<OContact> it;
381 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){ 384 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){
382 if ((*it).uid() == uid){ 385 if ((*it).uid() == uid){
383 found = true; 386 found = true;
384 break; 387 break;
385 } 388 }
386 } 389 }
387 if (found) { 390 if (found) {
388 updateJournal ( *it, OContact::ACTION_REMOVE); 391 updateJournal ( *it, ACTION_REMOVE);
389 m_contactList.remove (it); 392 m_contactList.remove (it);
390 return true; 393 return true;
391 } else 394 } else
392 return false; 395 return false;
393 } 396 }
394 397
395 bool reload(){ 398 bool reload(){
396 /* Reload is the same as load in this implementation */ 399 /* Reload is the same as load in this implementation */
397 return ( load() ); 400 return ( load() );
398 } 401 }
399 402
400 private: 403 private:
404
405 enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE };
406
401 void addContact_p( const OContact &newcontact ){ 407 void addContact_p( const OContact &newcontact ){
402 m_contactList.append (newcontact); 408 m_contactList.append (newcontact);
403 } 409 }
404 410
405 /* This function loads the xml-database and the journalfile */ 411 /* This function loads the xml-database and the journalfile */
406 bool load( const QString filename, bool isJournal ) { 412 bool load( const QString filename, bool isJournal ) {
407 413
408 /* We use the time of the last read to check if the file was 414 /* We use the time of the last read to check if the file was
@@ -412,17 +418,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
412 QFileInfo fi( filename ); 418 QFileInfo fi( filename );
413 m_readtime = fi.lastModified (); 419 m_readtime = fi.lastModified ();
414 } 420 }
415 421
416 const int JOURNALACTION = Qtopia::Notes + 1; 422 const int JOURNALACTION = Qtopia::Notes + 1;
417 const int JOURNALROW = JOURNALACTION + 1; 423 const int JOURNALROW = JOURNALACTION + 1;
418 424
419 bool foundAction = false; 425 bool foundAction = false;
420 OContact::journal_action action = OContact::ACTION_ADD; 426 journal_action action = ACTION_ADD;
421 int journalKey = 0; 427 int journalKey = 0;
422 QMap<int, QString> contactMap; 428 QMap<int, QString> contactMap;
423 QMap<QString, QString> customMap; 429 QMap<QString, QString> customMap;
424 QMap<QString, QString>::Iterator customIt; 430 QMap<QString, QString>::Iterator customIt;
425 QAsciiDict<int> dict( 47 ); 431 QAsciiDict<int> dict( 47 );
426 432
427 dict.setAutoDelete( TRUE ); 433 dict.setAutoDelete( TRUE );
428 dict.insert( "Uid", new int(Qtopia::AddressUid) ); 434 dict.insert( "Uid", new int(Qtopia::AddressUid) );
@@ -533,17 +539,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
533 case Qtopia::AddressUid: 539 case Qtopia::AddressUid:
534 contact.setUid( it.data().toInt() ); 540 contact.setUid( it.data().toInt() );
535 break; 541 break;
536 case Qtopia::AddressCategory: 542 case Qtopia::AddressCategory:
537 contact.setCategories( Qtopia::Record::idsFromString( it.data( ))); 543 contact.setCategories( Qtopia::Record::idsFromString( it.data( )));
538 break; 544 break;
539 */ 545 */
540 case JOURNALACTION: 546 case JOURNALACTION:
541 action = OContact::journal_action(it.data().toInt()); 547 action = journal_action(it.data().toInt());
542 foundAction = true; 548 foundAction = true;
543 qWarning ("ODefBack(journal)::ACTION found: %d", action); 549 qWarning ("ODefBack(journal)::ACTION found: %d", action);
544 break; 550 break;
545 case JOURNALROW: 551 case JOURNALROW:
546 journalKey = it.data().toInt(); 552 journalKey = it.data().toInt();
547 break; 553 break;
548 default: // no conversion needed add them to the map 554 default: // no conversion needed add them to the map
549 contactMap.insert( *find, it.data() ); 555 contactMap.insert( *find, it.data() );
@@ -555,25 +561,25 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
555 561
556 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) { 562 for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) {
557 contact.setCustomField( customIt.key(), customIt.data() ); 563 contact.setCustomField( customIt.key(), customIt.data() );
558 } 564 }
559 565
560 if (foundAction){ 566 if (foundAction){
561 foundAction = false; 567 foundAction = false;
562 switch ( action ) { 568 switch ( action ) {
563 case OContact::ACTION_ADD: 569 case ACTION_ADD:
564 addContact_p (contact); 570 addContact_p (contact);
565 break; 571 break;
566 case OContact::ACTION_REMOVE: 572 case ACTION_REMOVE:
567 if ( !remove (contact.uid()) ) 573 if ( !remove (contact.uid()) )
568 qWarning ("ODefBack(journal)::Unable to remove uid: %d", 574 qWarning ("ODefBack(journal)::Unable to remove uid: %d",
569 contact.uid() ); 575 contact.uid() );
570 break; 576 break;
571 case OContact::ACTION_REPLACE: 577 case ACTION_REPLACE:
572 if ( !replace ( contact ) ) 578 if ( !replace ( contact ) )
573 qWarning ("ODefBack(journal)::Unable to replace uid: %d", 579 qWarning ("ODefBack(journal)::Unable to replace uid: %d",
574 contact.uid() ); 580 contact.uid() );
575 break; 581 break;
576 default: 582 default:
577 qWarning ("Unknown action: ignored !"); 583 qWarning ("Unknown action: ignored !");
578 break; 584 break;
579 } 585 }
@@ -590,17 +596,17 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
590 } 596 }
591 delete root; 597 delete root;
592 qWarning("returning from loading" ); 598 qWarning("returning from loading" );
593 return true; 599 return true;
594 } 600 }
595 601
596 602
597 void updateJournal( const OContact& cnt, 603 void updateJournal( const OContact& cnt,
598 OContact::journal_action action ) { 604 journal_action action ) {
599 QFile f( m_journalName ); 605 QFile f( m_journalName );
600 bool created = !f.exists(); 606 bool created = !f.exists();
601 if ( !f.open(IO_WriteOnly|IO_Append) ) 607 if ( !f.open(IO_WriteOnly|IO_Append) )
602 return; 608 return;
603 609
604 QString buf; 610 QString buf;
605 QCString str; 611 QCString str;
606 612
diff --git a/libopie2/opiepim/ocontact.h b/libopie2/opiepim/ocontact.h
index 65ba43e..1fd1c75 100644
--- a/libopie2/opiepim/ocontact.h
+++ b/libopie2/opiepim/ocontact.h
@@ -39,18 +39,16 @@ class ContactPrivate;
39class QPC_EXPORT OContact : public OPimRecord 39class QPC_EXPORT OContact : public OPimRecord
40{ 40{
41 friend class DataSet; 41 friend class DataSet;
42public: 42public:
43 OContact(); 43 OContact();
44 OContact( const QMap<int, QString> &fromMap ); 44 OContact( const QMap<int, QString> &fromMap );
45 virtual ~OContact(); 45 virtual ~OContact();
46 46
47 enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE };
48
49 /* 47 /*
50 * do we need to inline them 48 * do we need to inline them
51 * if yes do we need to inline them this way? 49 * if yes do we need to inline them this way?
52 * -zecke 50 * -zecke
53 */ 51 */
54 void setTitle( const QString &v ) { replace( Qtopia::Title, v ); } 52 void setTitle( const QString &v ) { replace( Qtopia::Title, v ); }
55 void setFirstName( const QString &v ) { replace( Qtopia::FirstName, v ); } 53 void setFirstName( const QString &v ) { replace( Qtopia::FirstName, v ); }
56 void setMiddleName( const QString &v ) { replace( Qtopia::MiddleName, v ); } 54 void setMiddleName( const QString &v ) { replace( Qtopia::MiddleName, v ); }