summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/ocontact.cpp8
-rw-r--r--libopie2/opiepim/ocontact.cpp8
2 files changed, 12 insertions, 4 deletions
diff --git a/libopie/pim/ocontact.cpp b/libopie/pim/ocontact.cpp
index efa2777..6aec62e 100644
--- a/libopie/pim/ocontact.cpp
+++ b/libopie/pim/ocontact.cpp
@@ -313,387 +313,391 @@ OContact::~OContact()
313 313
314/*! \fn QString OContact::office() const 314/*! \fn QString OContact::office() const
315 Returns the office for the contact. 315 Returns the office for the contact.
316*/ 316*/
317 317
318/*! \fn QString OContact::jobTitle() const 318/*! \fn QString OContact::jobTitle() const
319 Returns the job title of the contact. 319 Returns the job title of the contact.
320*/ 320*/
321 321
322/*! \fn QString OContact::profession() const 322/*! \fn QString OContact::profession() const
323 Returns the profession of the contact. 323 Returns the profession of the contact.
324*/ 324*/
325 325
326/*! \fn QString OContact::assistant() const 326/*! \fn QString OContact::assistant() const
327 Returns the assistant of the contact. 327 Returns the assistant of the contact.
328*/ 328*/
329 329
330/*! \fn QString OContact::manager() const 330/*! \fn QString OContact::manager() const
331 Returns the manager of the contact. 331 Returns the manager of the contact.
332*/ 332*/
333 333
334/*! \fn QString OContact::businessStreet() const 334/*! \fn QString OContact::businessStreet() const
335 Returns the business street address of the contact. 335 Returns the business street address of the contact.
336*/ 336*/
337 337
338/*! \fn QString OContact::businessCity() const 338/*! \fn QString OContact::businessCity() const
339 Returns the business city of the contact. 339 Returns the business city of the contact.
340*/ 340*/
341 341
342/*! \fn QString OContact::businessState() const 342/*! \fn QString OContact::businessState() const
343 Returns the business state of the contact. 343 Returns the business state of the contact.
344*/ 344*/
345 345
346/*! \fn QString OContact::businessZip() const 346/*! \fn QString OContact::businessZip() const
347 Returns the business zip of the contact. 347 Returns the business zip of the contact.
348*/ 348*/
349 349
350/*! \fn QString OContact::businessCountry() const 350/*! \fn QString OContact::businessCountry() const
351 Returns the business country of the contact. 351 Returns the business country of the contact.
352*/ 352*/
353 353
354/*! \fn QString OContact::businessPhone() const 354/*! \fn QString OContact::businessPhone() const
355 Returns the business phone number of the contact. 355 Returns the business phone number of the contact.
356*/ 356*/
357 357
358/*! \fn QString OContact::businessFax() const 358/*! \fn QString OContact::businessFax() const
359 Returns the business fax number of the contact. 359 Returns the business fax number of the contact.
360*/ 360*/
361 361
362/*! \fn QString OContact::businessMobile() const 362/*! \fn QString OContact::businessMobile() const
363 Returns the business mobile number of the contact. 363 Returns the business mobile number of the contact.
364*/ 364*/
365 365
366/*! \fn QString OContact::businessPager() const 366/*! \fn QString OContact::businessPager() const
367 Returns the business pager number of the contact. 367 Returns the business pager number of the contact.
368*/ 368*/
369 369
370/*! \fn QString OContact::businessWebpage() const 370/*! \fn QString OContact::businessWebpage() const
371 Returns the business webpage of the contact. 371 Returns the business webpage of the contact.
372*/ 372*/
373 373
374/*! \fn QString OContact::spouse() const 374/*! \fn QString OContact::spouse() const
375 Returns the spouse of the contact. 375 Returns the spouse of the contact.
376*/ 376*/
377 377
378/*! \fn QString OContact::gender() const 378/*! \fn QString OContact::gender() const
379 Returns the gender of the contact. 379 Returns the gender of the contact.
380*/ 380*/
381 381
382/*! \fn QString OContact::nickname() const 382/*! \fn QString OContact::nickname() const
383 Returns the nickname of the contact. 383 Returns the nickname of the contact.
384*/ 384*/
385 385
386/*! \fn QString OContact::children() const 386/*! \fn QString OContact::children() const
387 Returns the children of the contact. 387 Returns the children of the contact.
388*/ 388*/
389 389
390/*! \fn QString OContact::notes() const 390/*! \fn QString OContact::notes() const
391 Returns the notes relating to the the contact. 391 Returns the notes relating to the the contact.
392*/ 392*/
393 393
394/*! \fn QString OContact::groups() const 394/*! \fn QString OContact::groups() const
395 \internal 395 \internal
396 Returns the groups for the contact. 396 Returns the groups for the contact.
397*/ 397*/
398 398
399/*! \fn QStringList OContact::groupList() const 399/*! \fn QStringList OContact::groupList() const
400 \internal 400 \internal
401*/ 401*/
402 402
403/*! \fn QString OContact::field(int) const 403/*! \fn QString OContact::field(int) const
404 \internal 404 \internal
405*/ 405*/
406 406
407/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null ) 407/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null )
408 \internal 408 \internal
409*/ 409*/
410 410
411/*! \fn void OContact::setUid( int id ) 411/*! \fn void OContact::setUid( int id )
412 \internal 412 \internal
413 Sets the uid for this record to \a id. 413 Sets the uid for this record to \a id.
414*/ 414*/
415 415
416/*! \enum OContact::journal_action 416/*! \enum OContact::journal_action
417 \internal 417 \internal
418*/ 418*/
419 419
420/*! 420/*!
421 \internal 421 \internal
422*/ 422*/
423QMap<int, QString> OContact::toMap() const 423QMap<int, QString> OContact::toMap() const
424{ 424{
425 QMap<int, QString> map = mMap; 425 QMap<int, QString> map = mMap;
426 QString cats = idsToString( categories() ); 426 QString cats = idsToString( categories() );
427 if ( !cats.isEmpty() ) 427 if ( !cats.isEmpty() )
428 map.insert( Qtopia::AddressCategory, cats ); 428 map.insert( Qtopia::AddressCategory, cats );
429 return map; 429 return map;
430} 430}
431 431
432/*! 432/*!
433 Returns a rich text formatted QString representing the contents the contact. 433 Returns a rich text formatted QString representing the contents the contact.
434*/ 434*/
435QString OContact::toRichText() const 435QString OContact::toRichText() const
436{ 436{
437 QString text; 437 QString text;
438 QString value, comp, state; 438 QString value, comp, state;
439 439
440 // name, jobtitle and company 440 // name, jobtitle and company
441 if ( !(value = fullName()).isEmpty() ) 441 if ( !(value = fullName()).isEmpty() )
442 text += "<b>" + Qtopia::escapeString(value) + "</b><br>"; 442 text += "<b>" + Qtopia::escapeString(value) + "</b><br>";
443 if ( !(value = jobTitle()).isEmpty() ) 443 if ( !(value = jobTitle()).isEmpty() )
444 text += Qtopia::escapeString(value) + "<br>"; 444 text += Qtopia::escapeString(value) + "<br>";
445 445
446 comp = company(); 446 comp = company();
447 if ( !(value = department()).isEmpty() ) { 447 if ( !(value = department()).isEmpty() ) {
448 text += Qtopia::escapeString(value); 448 text += Qtopia::escapeString(value);
449 if ( comp ) 449 if ( comp )
450 text += ", "; 450 text += ", ";
451 else 451 else
452 text += "<br>"; 452 text += "<br>";
453 } 453 }
454 if ( !comp.isEmpty() ) 454 if ( !comp.isEmpty() )
455 text += Qtopia::escapeString(comp) + "<br>"; 455 text += Qtopia::escapeString(comp) + "<br>";
456 456
457 // business address 457 // business address
458 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() || 458 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() ||
459 !businessZip().isEmpty() || !businessCountry().isEmpty() ) { 459 !businessZip().isEmpty() || !businessCountry().isEmpty() ) {
460 text += "<br>"; 460 text += "<br>";
461 text += QObject::tr( "<b>Work Address:</b>" ); 461 text += QObject::tr( "<b>Work Address:</b>" );
462 text += "<br>"; 462 text += "<br>";
463 } 463 }
464 464
465 if ( !(value = businessStreet()).isEmpty() ) 465 if ( !(value = businessStreet()).isEmpty() )
466 text += Qtopia::escapeString(value) + "<br>"; 466 text += Qtopia::escapeString(value) + "<br>";
467 state = businessState(); 467 state = businessState();
468 if ( !(value = businessCity()).isEmpty() ) { 468 if ( !(value = businessCity()).isEmpty() ) {
469 text += Qtopia::escapeString(value); 469 text += Qtopia::escapeString(value);
470 if ( state ) 470 if ( state )
471 text += ", " + Qtopia::escapeString(state); 471 text += ", " + Qtopia::escapeString(state);
472 text += "<br>"; 472 text += "<br>";
473 } else if ( !state.isEmpty() ) 473 } else if ( !state.isEmpty() )
474 text += Qtopia::escapeString(state) + "<br>"; 474 text += Qtopia::escapeString(state) + "<br>";
475 if ( !(value = businessZip()).isEmpty() ) 475 if ( !(value = businessZip()).isEmpty() )
476 text += Qtopia::escapeString(value) + "<br>"; 476 text += Qtopia::escapeString(value) + "<br>";
477 if ( !(value = businessCountry()).isEmpty() ) 477 if ( !(value = businessCountry()).isEmpty() )
478 text += Qtopia::escapeString(value) + "<br>"; 478 text += Qtopia::escapeString(value) + "<br>";
479 479
480 // home address 480 // home address
481 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() || 481 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() ||
482 !homeZip().isEmpty() || !homeCountry().isEmpty() ) { 482 !homeZip().isEmpty() || !homeCountry().isEmpty() ) {
483 text += "<br>"; 483 text += "<br>";
484 text += QObject::tr( "<b>Home Address:</b>" ); 484 text += QObject::tr( "<b>Home Address:</b>" );
485 text += "<br>"; 485 text += "<br>";
486 } 486 }
487 487
488 if ( !(value = homeStreet()).isEmpty() ) 488 if ( !(value = homeStreet()).isEmpty() )
489 text += Qtopia::escapeString(value) + "<br>"; 489 text += Qtopia::escapeString(value) + "<br>";
490 state = homeState(); 490 state = homeState();
491 if ( !(value = homeCity()).isEmpty() ) { 491 if ( !(value = homeCity()).isEmpty() ) {
492 text += Qtopia::escapeString(value); 492 text += Qtopia::escapeString(value);
493 if ( !state.isEmpty() ) 493 if ( !state.isEmpty() )
494 text += ", " + Qtopia::escapeString(state); 494 text += ", " + Qtopia::escapeString(state);
495 text += "<br>"; 495 text += "<br>";
496 } else if (!state.isEmpty()) 496 } else if (!state.isEmpty())
497 text += Qtopia::escapeString(state) + "<br>"; 497 text += Qtopia::escapeString(state) + "<br>";
498 if ( !(value = homeZip()).isEmpty() ) 498 if ( !(value = homeZip()).isEmpty() )
499 text += Qtopia::escapeString(value) + "<br>"; 499 text += Qtopia::escapeString(value) + "<br>";
500 if ( !(value = homeCountry()).isEmpty() ) 500 if ( !(value = homeCountry()).isEmpty() )
501 text += Qtopia::escapeString(value) + "<br>"; 501 text += Qtopia::escapeString(value) + "<br>";
502 502
503 // the others... 503 // the others...
504 QString str; 504 QString str;
505 QString defEmail = defaultEmail();
506 if ( !defEmail.isEmpty() )
507 text += "<b>" + QObject::tr("Default Email: ") + "</b>"
508 + Qtopia::escapeString(defEmail) + "<br>";
505 str = emails(); 509 str = emails();
506 if ( !str.isEmpty() ) 510 if ( !str.isEmpty() && ( str != defEmail ) )
507 text += "<b>" + QObject::tr("Email Addresses: ") + "</b>" 511 text += "<b>" + QObject::tr("All Emails: ") + "</b>"
508 + Qtopia::escapeString(str) + "<br>"; 512 + Qtopia::escapeString(str) + "<br>";
509 str = homePhone(); 513 str = homePhone();
510 if ( !str.isEmpty() ) 514 if ( !str.isEmpty() )
511 text += "<b>" + QObject::tr("Home Phone: ") + "</b>" 515 text += "<b>" + QObject::tr("Home Phone: ") + "</b>"
512 + Qtopia::escapeString(str) + "<br>"; 516 + Qtopia::escapeString(str) + "<br>";
513 str = homeFax(); 517 str = homeFax();
514 if ( !str.isEmpty() ) 518 if ( !str.isEmpty() )
515 text += "<b>" + QObject::tr("Home Fax: ") + "</b>" 519 text += "<b>" + QObject::tr("Home Fax: ") + "</b>"
516 + Qtopia::escapeString(str) + "<br>"; 520 + Qtopia::escapeString(str) + "<br>";
517 str = homeMobile(); 521 str = homeMobile();
518 if ( !str.isEmpty() ) 522 if ( !str.isEmpty() )
519 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>" 523 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>"
520 + Qtopia::escapeString(str) + "<br>"; 524 + Qtopia::escapeString(str) + "<br>";
521 str = homeWebpage(); 525 str = homeWebpage();
522 if ( !str.isEmpty() ) 526 if ( !str.isEmpty() )
523 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>" 527 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>"
524 + Qtopia::escapeString(str) + "<br>"; 528 + Qtopia::escapeString(str) + "<br>";
525 str = businessWebpage(); 529 str = businessWebpage();
526 if ( !str.isEmpty() ) 530 if ( !str.isEmpty() )
527 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>" 531 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>"
528 + Qtopia::escapeString(str) + "<br>"; 532 + Qtopia::escapeString(str) + "<br>";
529 str = office(); 533 str = office();
530 if ( !str.isEmpty() ) 534 if ( !str.isEmpty() )
531 text += "<b>" + QObject::tr("Office: ") + "</b>" 535 text += "<b>" + QObject::tr("Office: ") + "</b>"
532 + Qtopia::escapeString(str) + "<br>"; 536 + Qtopia::escapeString(str) + "<br>";
533 str = businessPhone(); 537 str = businessPhone();
534 if ( !str.isEmpty() ) 538 if ( !str.isEmpty() )
535 text += "<b>" + QObject::tr("Business Phone: ") + "</b>" 539 text += "<b>" + QObject::tr("Business Phone: ") + "</b>"
536 + Qtopia::escapeString(str) + "<br>"; 540 + Qtopia::escapeString(str) + "<br>";
537 str = businessFax(); 541 str = businessFax();
538 if ( !str.isEmpty() ) 542 if ( !str.isEmpty() )
539 text += "<b>" + QObject::tr("Business Fax: ") + "</b>" 543 text += "<b>" + QObject::tr("Business Fax: ") + "</b>"
540 + Qtopia::escapeString(str) + "<br>"; 544 + Qtopia::escapeString(str) + "<br>";
541 str = businessMobile(); 545 str = businessMobile();
542 if ( !str.isEmpty() ) 546 if ( !str.isEmpty() )
543 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>" 547 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>"
544 + Qtopia::escapeString(str) + "<br>"; 548 + Qtopia::escapeString(str) + "<br>";
545 str = businessPager(); 549 str = businessPager();
546 if ( !str.isEmpty() ) 550 if ( !str.isEmpty() )
547 text += "<b>" + QObject::tr("Business Pager: ") + "</b>" 551 text += "<b>" + QObject::tr("Business Pager: ") + "</b>"
548 + Qtopia::escapeString(str) + "<br>"; 552 + Qtopia::escapeString(str) + "<br>";
549 str = profession(); 553 str = profession();
550 if ( !str.isEmpty() ) 554 if ( !str.isEmpty() )
551 text += "<b>" + QObject::tr("Profession: ") + "</b>" 555 text += "<b>" + QObject::tr("Profession: ") + "</b>"
552 + Qtopia::escapeString(str) + "<br>"; 556 + Qtopia::escapeString(str) + "<br>";
553 str = assistant(); 557 str = assistant();
554 if ( !str.isEmpty() ) 558 if ( !str.isEmpty() )
555 text += "<b>" + QObject::tr("Assistant: ") + "</b>" 559 text += "<b>" + QObject::tr("Assistant: ") + "</b>"
556 + Qtopia::escapeString(str) + "<br>"; 560 + Qtopia::escapeString(str) + "<br>";
557 str = manager(); 561 str = manager();
558 if ( !str.isEmpty() ) 562 if ( !str.isEmpty() )
559 text += "<b>" + QObject::tr("Manager: ") + "</b>" 563 text += "<b>" + QObject::tr("Manager: ") + "</b>"
560 + Qtopia::escapeString(str) + "<br>"; 564 + Qtopia::escapeString(str) + "<br>";
561 str = gender(); 565 str = gender();
562 if ( !str.isEmpty() && str.toInt() != 0 ) { 566 if ( !str.isEmpty() && str.toInt() != 0 ) {
563 if ( str.toInt() == 1 ) 567 if ( str.toInt() == 1 )
564 str = QObject::tr( "Male" ); 568 str = QObject::tr( "Male" );
565 else if ( str.toInt() == 2 ) 569 else if ( str.toInt() == 2 )
566 str = QObject::tr( "Female" ); 570 str = QObject::tr( "Female" );
567 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>"; 571 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>";
568 } 572 }
569 str = spouse(); 573 str = spouse();
570 if ( !str.isEmpty() ) 574 if ( !str.isEmpty() )
571 text += "<b>" + QObject::tr("Spouse: ") + "</b>" 575 text += "<b>" + QObject::tr("Spouse: ") + "</b>"
572 + Qtopia::escapeString(str) + "<br>"; 576 + Qtopia::escapeString(str) + "<br>";
573 if ( birthday().isValid() ){ 577 if ( birthday().isValid() ){
574 str = TimeString::numberDateString( birthday() ); 578 str = TimeString::numberDateString( birthday() );
575 text += "<b>" + QObject::tr("Birthday: ") + "</b>" 579 text += "<b>" + QObject::tr("Birthday: ") + "</b>"
576 + Qtopia::escapeString(str) + "<br>"; 580 + Qtopia::escapeString(str) + "<br>";
577 } 581 }
578 if ( anniversary().isValid() ){ 582 if ( anniversary().isValid() ){
579 str = TimeString::numberDateString( anniversary() ); 583 str = TimeString::numberDateString( anniversary() );
580 text += "<b>" + QObject::tr("Anniversary: ") + "</b>" 584 text += "<b>" + QObject::tr("Anniversary: ") + "</b>"
581 + Qtopia::escapeString(str) + "<br>"; 585 + Qtopia::escapeString(str) + "<br>";
582 } 586 }
583 str = nickname(); 587 str = nickname();
584 if ( !str.isEmpty() ) 588 if ( !str.isEmpty() )
585 text += "<b>" + QObject::tr("Nickname: ") + "</b>" 589 text += "<b>" + QObject::tr("Nickname: ") + "</b>"
586 + Qtopia::escapeString(str) + "<br>"; 590 + Qtopia::escapeString(str) + "<br>";
587 591
588 if ( categoryNames().count() ){ 592 if ( categoryNames().count() ){
589 text += "<b>" + QObject::tr( "Category:") + "</b> "; 593 text += "<b>" + QObject::tr( "Category:") + "</b> ";
590 text += categoryNames().join(", "); 594 text += categoryNames().join(", ");
591 text += "<br>"; 595 text += "<br>";
592 } 596 }
593 597
594 // notes last 598 // notes last
595 if ( (value = notes()) ) { 599 if ( (value = notes()) ) {
596 QRegExp reg("\n"); 600 QRegExp reg("\n");
597 601
598 //QString tmp = Qtopia::escapeString(value); 602 //QString tmp = Qtopia::escapeString(value);
599 QString tmp = QStyleSheet::convertFromPlainText(value); 603 QString tmp = QStyleSheet::convertFromPlainText(value);
600 //tmp.replace( reg, "<br>" ); 604 //tmp.replace( reg, "<br>" );
601 text += "<br>" + tmp + "<br>"; 605 text += "<br>" + tmp + "<br>";
602 } 606 }
603 return text; 607 return text;
604} 608}
605 609
606/*! 610/*!
607 \internal 611 \internal
608*/ 612*/
609void OContact::insert( int key, const QString &v ) 613void OContact::insert( int key, const QString &v )
610{ 614{
611 QString value = v.stripWhiteSpace(); 615 QString value = v.stripWhiteSpace();
612 if ( value.isEmpty() ) 616 if ( value.isEmpty() )
613 mMap.remove( key ); 617 mMap.remove( key );
614 else 618 else
615 mMap.insert( key, value ); 619 mMap.insert( key, value );
616} 620}
617 621
618/*! 622/*!
619 \internal 623 \internal
620*/ 624*/
621void OContact::replace( int key, const QString & v ) 625void OContact::replace( int key, const QString & v )
622{ 626{
623 QString value = v.stripWhiteSpace(); 627 QString value = v.stripWhiteSpace();
624 if ( value.isEmpty() ) 628 if ( value.isEmpty() )
625 mMap.remove( key ); 629 mMap.remove( key );
626 else 630 else
627 mMap.replace( key, value ); 631 mMap.replace( key, value );
628} 632}
629 633
630/*! 634/*!
631 \internal 635 \internal
632*/ 636*/
633QString OContact::find( int key ) const 637QString OContact::find( int key ) const
634{ 638{
635 return mMap[key]; 639 return mMap[key];
636} 640}
637 641
638/*! 642/*!
639 \internal 643 \internal
640*/ 644*/
641QString OContact::displayAddress( const QString &street, 645QString OContact::displayAddress( const QString &street,
642 const QString &city, 646 const QString &city,
643 const QString &state, 647 const QString &state,
644 const QString &zip, 648 const QString &zip,
645 const QString &country ) const 649 const QString &country ) const
646{ 650{
647 QString s = street; 651 QString s = street;
648 if ( !street.isEmpty() ) 652 if ( !street.isEmpty() )
649 s+= "\n"; 653 s+= "\n";
650 s += city; 654 s += city;
651 if ( !city.isEmpty() && !state.isEmpty() ) 655 if ( !city.isEmpty() && !state.isEmpty() )
652 s += ", "; 656 s += ", ";
653 s += state; 657 s += state;
654 if ( !state.isEmpty() && !zip.isEmpty() ) 658 if ( !state.isEmpty() && !zip.isEmpty() )
655 s += " "; 659 s += " ";
656 s += zip; 660 s += zip;
657 if ( !country.isEmpty() && !s.isEmpty() ) 661 if ( !country.isEmpty() && !s.isEmpty() )
658 s += "\n"; 662 s += "\n";
659 s += country; 663 s += country;
660 return s; 664 return s;
661} 665}
662 666
663/*! 667/*!
664 \internal 668 \internal
665*/ 669*/
666QString OContact::displayBusinessAddress() const 670QString OContact::displayBusinessAddress() const
667{ 671{
668 return displayAddress( businessStreet(), businessCity(), 672 return displayAddress( businessStreet(), businessCity(),
669 businessState(), businessZip(), 673 businessState(), businessZip(),
670 businessCountry() ); 674 businessCountry() );
671} 675}
672 676
673/*! 677/*!
674 \internal 678 \internal
675*/ 679*/
676QString OContact::displayHomeAddress() const 680QString OContact::displayHomeAddress() const
677{ 681{
678 return displayAddress( homeStreet(), homeCity(), 682 return displayAddress( homeStreet(), homeCity(),
679 homeState(), homeZip(), 683 homeState(), homeZip(),
680 homeCountry() ); 684 homeCountry() );
681} 685}
682 686
683/*! 687/*!
684 Returns the full name of the contact 688 Returns the full name of the contact
685*/ 689*/
686QString OContact::fullName() const 690QString OContact::fullName() const
687{ 691{
688 QString title = find( Qtopia::Title ); 692 QString title = find( Qtopia::Title );
689 QString firstName = find( Qtopia::FirstName ); 693 QString firstName = find( Qtopia::FirstName );
690 QString middleName = find( Qtopia::MiddleName ); 694 QString middleName = find( Qtopia::MiddleName );
691 QString lastName = find( Qtopia::LastName ); 695 QString lastName = find( Qtopia::LastName );
692 QString suffix = find( Qtopia::Suffix ); 696 QString suffix = find( Qtopia::Suffix );
693 697
694 QString name = title; 698 QString name = title;
695 if ( !firstName.isEmpty() ) { 699 if ( !firstName.isEmpty() ) {
696 if ( !name.isEmpty() ) 700 if ( !name.isEmpty() )
697 name += " "; 701 name += " ";
698 name += firstName; 702 name += firstName;
699 } 703 }
diff --git a/libopie2/opiepim/ocontact.cpp b/libopie2/opiepim/ocontact.cpp
index efa2777..6aec62e 100644
--- a/libopie2/opiepim/ocontact.cpp
+++ b/libopie2/opiepim/ocontact.cpp
@@ -313,387 +313,391 @@ OContact::~OContact()
313 313
314/*! \fn QString OContact::office() const 314/*! \fn QString OContact::office() const
315 Returns the office for the contact. 315 Returns the office for the contact.
316*/ 316*/
317 317
318/*! \fn QString OContact::jobTitle() const 318/*! \fn QString OContact::jobTitle() const
319 Returns the job title of the contact. 319 Returns the job title of the contact.
320*/ 320*/
321 321
322/*! \fn QString OContact::profession() const 322/*! \fn QString OContact::profession() const
323 Returns the profession of the contact. 323 Returns the profession of the contact.
324*/ 324*/
325 325
326/*! \fn QString OContact::assistant() const 326/*! \fn QString OContact::assistant() const
327 Returns the assistant of the contact. 327 Returns the assistant of the contact.
328*/ 328*/
329 329
330/*! \fn QString OContact::manager() const 330/*! \fn QString OContact::manager() const
331 Returns the manager of the contact. 331 Returns the manager of the contact.
332*/ 332*/
333 333
334/*! \fn QString OContact::businessStreet() const 334/*! \fn QString OContact::businessStreet() const
335 Returns the business street address of the contact. 335 Returns the business street address of the contact.
336*/ 336*/
337 337
338/*! \fn QString OContact::businessCity() const 338/*! \fn QString OContact::businessCity() const
339 Returns the business city of the contact. 339 Returns the business city of the contact.
340*/ 340*/
341 341
342/*! \fn QString OContact::businessState() const 342/*! \fn QString OContact::businessState() const
343 Returns the business state of the contact. 343 Returns the business state of the contact.
344*/ 344*/
345 345
346/*! \fn QString OContact::businessZip() const 346/*! \fn QString OContact::businessZip() const
347 Returns the business zip of the contact. 347 Returns the business zip of the contact.
348*/ 348*/
349 349
350/*! \fn QString OContact::businessCountry() const 350/*! \fn QString OContact::businessCountry() const
351 Returns the business country of the contact. 351 Returns the business country of the contact.
352*/ 352*/
353 353
354/*! \fn QString OContact::businessPhone() const 354/*! \fn QString OContact::businessPhone() const
355 Returns the business phone number of the contact. 355 Returns the business phone number of the contact.
356*/ 356*/
357 357
358/*! \fn QString OContact::businessFax() const 358/*! \fn QString OContact::businessFax() const
359 Returns the business fax number of the contact. 359 Returns the business fax number of the contact.
360*/ 360*/
361 361
362/*! \fn QString OContact::businessMobile() const 362/*! \fn QString OContact::businessMobile() const
363 Returns the business mobile number of the contact. 363 Returns the business mobile number of the contact.
364*/ 364*/
365 365
366/*! \fn QString OContact::businessPager() const 366/*! \fn QString OContact::businessPager() const
367 Returns the business pager number of the contact. 367 Returns the business pager number of the contact.
368*/ 368*/
369 369
370/*! \fn QString OContact::businessWebpage() const 370/*! \fn QString OContact::businessWebpage() const
371 Returns the business webpage of the contact. 371 Returns the business webpage of the contact.
372*/ 372*/
373 373
374/*! \fn QString OContact::spouse() const 374/*! \fn QString OContact::spouse() const
375 Returns the spouse of the contact. 375 Returns the spouse of the contact.
376*/ 376*/
377 377
378/*! \fn QString OContact::gender() const 378/*! \fn QString OContact::gender() const
379 Returns the gender of the contact. 379 Returns the gender of the contact.
380*/ 380*/
381 381
382/*! \fn QString OContact::nickname() const 382/*! \fn QString OContact::nickname() const
383 Returns the nickname of the contact. 383 Returns the nickname of the contact.
384*/ 384*/
385 385
386/*! \fn QString OContact::children() const 386/*! \fn QString OContact::children() const
387 Returns the children of the contact. 387 Returns the children of the contact.
388*/ 388*/
389 389
390/*! \fn QString OContact::notes() const 390/*! \fn QString OContact::notes() const
391 Returns the notes relating to the the contact. 391 Returns the notes relating to the the contact.
392*/ 392*/
393 393
394/*! \fn QString OContact::groups() const 394/*! \fn QString OContact::groups() const
395 \internal 395 \internal
396 Returns the groups for the contact. 396 Returns the groups for the contact.
397*/ 397*/
398 398
399/*! \fn QStringList OContact::groupList() const 399/*! \fn QStringList OContact::groupList() const
400 \internal 400 \internal
401*/ 401*/
402 402
403/*! \fn QString OContact::field(int) const 403/*! \fn QString OContact::field(int) const
404 \internal 404 \internal
405*/ 405*/
406 406
407/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null ) 407/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null )
408 \internal 408 \internal
409*/ 409*/
410 410
411/*! \fn void OContact::setUid( int id ) 411/*! \fn void OContact::setUid( int id )
412 \internal 412 \internal
413 Sets the uid for this record to \a id. 413 Sets the uid for this record to \a id.
414*/ 414*/
415 415
416/*! \enum OContact::journal_action 416/*! \enum OContact::journal_action
417 \internal 417 \internal
418*/ 418*/
419 419
420/*! 420/*!
421 \internal 421 \internal
422*/ 422*/
423QMap<int, QString> OContact::toMap() const 423QMap<int, QString> OContact::toMap() const
424{ 424{
425 QMap<int, QString> map = mMap; 425 QMap<int, QString> map = mMap;
426 QString cats = idsToString( categories() ); 426 QString cats = idsToString( categories() );
427 if ( !cats.isEmpty() ) 427 if ( !cats.isEmpty() )
428 map.insert( Qtopia::AddressCategory, cats ); 428 map.insert( Qtopia::AddressCategory, cats );
429 return map; 429 return map;
430} 430}
431 431
432/*! 432/*!
433 Returns a rich text formatted QString representing the contents the contact. 433 Returns a rich text formatted QString representing the contents the contact.
434*/ 434*/
435QString OContact::toRichText() const 435QString OContact::toRichText() const
436{ 436{
437 QString text; 437 QString text;
438 QString value, comp, state; 438 QString value, comp, state;
439 439
440 // name, jobtitle and company 440 // name, jobtitle and company
441 if ( !(value = fullName()).isEmpty() ) 441 if ( !(value = fullName()).isEmpty() )
442 text += "<b>" + Qtopia::escapeString(value) + "</b><br>"; 442 text += "<b>" + Qtopia::escapeString(value) + "</b><br>";
443 if ( !(value = jobTitle()).isEmpty() ) 443 if ( !(value = jobTitle()).isEmpty() )
444 text += Qtopia::escapeString(value) + "<br>"; 444 text += Qtopia::escapeString(value) + "<br>";
445 445
446 comp = company(); 446 comp = company();
447 if ( !(value = department()).isEmpty() ) { 447 if ( !(value = department()).isEmpty() ) {
448 text += Qtopia::escapeString(value); 448 text += Qtopia::escapeString(value);
449 if ( comp ) 449 if ( comp )
450 text += ", "; 450 text += ", ";
451 else 451 else
452 text += "<br>"; 452 text += "<br>";
453 } 453 }
454 if ( !comp.isEmpty() ) 454 if ( !comp.isEmpty() )
455 text += Qtopia::escapeString(comp) + "<br>"; 455 text += Qtopia::escapeString(comp) + "<br>";
456 456
457 // business address 457 // business address
458 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() || 458 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() ||
459 !businessZip().isEmpty() || !businessCountry().isEmpty() ) { 459 !businessZip().isEmpty() || !businessCountry().isEmpty() ) {
460 text += "<br>"; 460 text += "<br>";
461 text += QObject::tr( "<b>Work Address:</b>" ); 461 text += QObject::tr( "<b>Work Address:</b>" );
462 text += "<br>"; 462 text += "<br>";
463 } 463 }
464 464
465 if ( !(value = businessStreet()).isEmpty() ) 465 if ( !(value = businessStreet()).isEmpty() )
466 text += Qtopia::escapeString(value) + "<br>"; 466 text += Qtopia::escapeString(value) + "<br>";
467 state = businessState(); 467 state = businessState();
468 if ( !(value = businessCity()).isEmpty() ) { 468 if ( !(value = businessCity()).isEmpty() ) {
469 text += Qtopia::escapeString(value); 469 text += Qtopia::escapeString(value);
470 if ( state ) 470 if ( state )
471 text += ", " + Qtopia::escapeString(state); 471 text += ", " + Qtopia::escapeString(state);
472 text += "<br>"; 472 text += "<br>";
473 } else if ( !state.isEmpty() ) 473 } else if ( !state.isEmpty() )
474 text += Qtopia::escapeString(state) + "<br>"; 474 text += Qtopia::escapeString(state) + "<br>";
475 if ( !(value = businessZip()).isEmpty() ) 475 if ( !(value = businessZip()).isEmpty() )
476 text += Qtopia::escapeString(value) + "<br>"; 476 text += Qtopia::escapeString(value) + "<br>";
477 if ( !(value = businessCountry()).isEmpty() ) 477 if ( !(value = businessCountry()).isEmpty() )
478 text += Qtopia::escapeString(value) + "<br>"; 478 text += Qtopia::escapeString(value) + "<br>";
479 479
480 // home address 480 // home address
481 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() || 481 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() ||
482 !homeZip().isEmpty() || !homeCountry().isEmpty() ) { 482 !homeZip().isEmpty() || !homeCountry().isEmpty() ) {
483 text += "<br>"; 483 text += "<br>";
484 text += QObject::tr( "<b>Home Address:</b>" ); 484 text += QObject::tr( "<b>Home Address:</b>" );
485 text += "<br>"; 485 text += "<br>";
486 } 486 }
487 487
488 if ( !(value = homeStreet()).isEmpty() ) 488 if ( !(value = homeStreet()).isEmpty() )
489 text += Qtopia::escapeString(value) + "<br>"; 489 text += Qtopia::escapeString(value) + "<br>";
490 state = homeState(); 490 state = homeState();
491 if ( !(value = homeCity()).isEmpty() ) { 491 if ( !(value = homeCity()).isEmpty() ) {
492 text += Qtopia::escapeString(value); 492 text += Qtopia::escapeString(value);
493 if ( !state.isEmpty() ) 493 if ( !state.isEmpty() )
494 text += ", " + Qtopia::escapeString(state); 494 text += ", " + Qtopia::escapeString(state);
495 text += "<br>"; 495 text += "<br>";
496 } else if (!state.isEmpty()) 496 } else if (!state.isEmpty())
497 text += Qtopia::escapeString(state) + "<br>"; 497 text += Qtopia::escapeString(state) + "<br>";
498 if ( !(value = homeZip()).isEmpty() ) 498 if ( !(value = homeZip()).isEmpty() )
499 text += Qtopia::escapeString(value) + "<br>"; 499 text += Qtopia::escapeString(value) + "<br>";
500 if ( !(value = homeCountry()).isEmpty() ) 500 if ( !(value = homeCountry()).isEmpty() )
501 text += Qtopia::escapeString(value) + "<br>"; 501 text += Qtopia::escapeString(value) + "<br>";
502 502
503 // the others... 503 // the others...
504 QString str; 504 QString str;
505 QString defEmail = defaultEmail();
506 if ( !defEmail.isEmpty() )
507 text += "<b>" + QObject::tr("Default Email: ") + "</b>"
508 + Qtopia::escapeString(defEmail) + "<br>";
505 str = emails(); 509 str = emails();
506 if ( !str.isEmpty() ) 510 if ( !str.isEmpty() && ( str != defEmail ) )
507 text += "<b>" + QObject::tr("Email Addresses: ") + "</b>" 511 text += "<b>" + QObject::tr("All Emails: ") + "</b>"
508 + Qtopia::escapeString(str) + "<br>"; 512 + Qtopia::escapeString(str) + "<br>";
509 str = homePhone(); 513 str = homePhone();
510 if ( !str.isEmpty() ) 514 if ( !str.isEmpty() )
511 text += "<b>" + QObject::tr("Home Phone: ") + "</b>" 515 text += "<b>" + QObject::tr("Home Phone: ") + "</b>"
512 + Qtopia::escapeString(str) + "<br>"; 516 + Qtopia::escapeString(str) + "<br>";
513 str = homeFax(); 517 str = homeFax();
514 if ( !str.isEmpty() ) 518 if ( !str.isEmpty() )
515 text += "<b>" + QObject::tr("Home Fax: ") + "</b>" 519 text += "<b>" + QObject::tr("Home Fax: ") + "</b>"
516 + Qtopia::escapeString(str) + "<br>"; 520 + Qtopia::escapeString(str) + "<br>";
517 str = homeMobile(); 521 str = homeMobile();
518 if ( !str.isEmpty() ) 522 if ( !str.isEmpty() )
519 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>" 523 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>"
520 + Qtopia::escapeString(str) + "<br>"; 524 + Qtopia::escapeString(str) + "<br>";
521 str = homeWebpage(); 525 str = homeWebpage();
522 if ( !str.isEmpty() ) 526 if ( !str.isEmpty() )
523 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>" 527 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>"
524 + Qtopia::escapeString(str) + "<br>"; 528 + Qtopia::escapeString(str) + "<br>";
525 str = businessWebpage(); 529 str = businessWebpage();
526 if ( !str.isEmpty() ) 530 if ( !str.isEmpty() )
527 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>" 531 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>"
528 + Qtopia::escapeString(str) + "<br>"; 532 + Qtopia::escapeString(str) + "<br>";
529 str = office(); 533 str = office();
530 if ( !str.isEmpty() ) 534 if ( !str.isEmpty() )
531 text += "<b>" + QObject::tr("Office: ") + "</b>" 535 text += "<b>" + QObject::tr("Office: ") + "</b>"
532 + Qtopia::escapeString(str) + "<br>"; 536 + Qtopia::escapeString(str) + "<br>";
533 str = businessPhone(); 537 str = businessPhone();
534 if ( !str.isEmpty() ) 538 if ( !str.isEmpty() )
535 text += "<b>" + QObject::tr("Business Phone: ") + "</b>" 539 text += "<b>" + QObject::tr("Business Phone: ") + "</b>"
536 + Qtopia::escapeString(str) + "<br>"; 540 + Qtopia::escapeString(str) + "<br>";
537 str = businessFax(); 541 str = businessFax();
538 if ( !str.isEmpty() ) 542 if ( !str.isEmpty() )
539 text += "<b>" + QObject::tr("Business Fax: ") + "</b>" 543 text += "<b>" + QObject::tr("Business Fax: ") + "</b>"
540 + Qtopia::escapeString(str) + "<br>"; 544 + Qtopia::escapeString(str) + "<br>";
541 str = businessMobile(); 545 str = businessMobile();
542 if ( !str.isEmpty() ) 546 if ( !str.isEmpty() )
543 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>" 547 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>"
544 + Qtopia::escapeString(str) + "<br>"; 548 + Qtopia::escapeString(str) + "<br>";
545 str = businessPager(); 549 str = businessPager();
546 if ( !str.isEmpty() ) 550 if ( !str.isEmpty() )
547 text += "<b>" + QObject::tr("Business Pager: ") + "</b>" 551 text += "<b>" + QObject::tr("Business Pager: ") + "</b>"
548 + Qtopia::escapeString(str) + "<br>"; 552 + Qtopia::escapeString(str) + "<br>";
549 str = profession(); 553 str = profession();
550 if ( !str.isEmpty() ) 554 if ( !str.isEmpty() )
551 text += "<b>" + QObject::tr("Profession: ") + "</b>" 555 text += "<b>" + QObject::tr("Profession: ") + "</b>"
552 + Qtopia::escapeString(str) + "<br>"; 556 + Qtopia::escapeString(str) + "<br>";
553 str = assistant(); 557 str = assistant();
554 if ( !str.isEmpty() ) 558 if ( !str.isEmpty() )
555 text += "<b>" + QObject::tr("Assistant: ") + "</b>" 559 text += "<b>" + QObject::tr("Assistant: ") + "</b>"
556 + Qtopia::escapeString(str) + "<br>"; 560 + Qtopia::escapeString(str) + "<br>";
557 str = manager(); 561 str = manager();
558 if ( !str.isEmpty() ) 562 if ( !str.isEmpty() )
559 text += "<b>" + QObject::tr("Manager: ") + "</b>" 563 text += "<b>" + QObject::tr("Manager: ") + "</b>"
560 + Qtopia::escapeString(str) + "<br>"; 564 + Qtopia::escapeString(str) + "<br>";
561 str = gender(); 565 str = gender();
562 if ( !str.isEmpty() && str.toInt() != 0 ) { 566 if ( !str.isEmpty() && str.toInt() != 0 ) {
563 if ( str.toInt() == 1 ) 567 if ( str.toInt() == 1 )
564 str = QObject::tr( "Male" ); 568 str = QObject::tr( "Male" );
565 else if ( str.toInt() == 2 ) 569 else if ( str.toInt() == 2 )
566 str = QObject::tr( "Female" ); 570 str = QObject::tr( "Female" );
567 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>"; 571 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>";
568 } 572 }
569 str = spouse(); 573 str = spouse();
570 if ( !str.isEmpty() ) 574 if ( !str.isEmpty() )
571 text += "<b>" + QObject::tr("Spouse: ") + "</b>" 575 text += "<b>" + QObject::tr("Spouse: ") + "</b>"
572 + Qtopia::escapeString(str) + "<br>"; 576 + Qtopia::escapeString(str) + "<br>";
573 if ( birthday().isValid() ){ 577 if ( birthday().isValid() ){
574 str = TimeString::numberDateString( birthday() ); 578 str = TimeString::numberDateString( birthday() );
575 text += "<b>" + QObject::tr("Birthday: ") + "</b>" 579 text += "<b>" + QObject::tr("Birthday: ") + "</b>"
576 + Qtopia::escapeString(str) + "<br>"; 580 + Qtopia::escapeString(str) + "<br>";
577 } 581 }
578 if ( anniversary().isValid() ){ 582 if ( anniversary().isValid() ){
579 str = TimeString::numberDateString( anniversary() ); 583 str = TimeString::numberDateString( anniversary() );
580 text += "<b>" + QObject::tr("Anniversary: ") + "</b>" 584 text += "<b>" + QObject::tr("Anniversary: ") + "</b>"
581 + Qtopia::escapeString(str) + "<br>"; 585 + Qtopia::escapeString(str) + "<br>";
582 } 586 }
583 str = nickname(); 587 str = nickname();
584 if ( !str.isEmpty() ) 588 if ( !str.isEmpty() )
585 text += "<b>" + QObject::tr("Nickname: ") + "</b>" 589 text += "<b>" + QObject::tr("Nickname: ") + "</b>"
586 + Qtopia::escapeString(str) + "<br>"; 590 + Qtopia::escapeString(str) + "<br>";
587 591
588 if ( categoryNames().count() ){ 592 if ( categoryNames().count() ){
589 text += "<b>" + QObject::tr( "Category:") + "</b> "; 593 text += "<b>" + QObject::tr( "Category:") + "</b> ";
590 text += categoryNames().join(", "); 594 text += categoryNames().join(", ");
591 text += "<br>"; 595 text += "<br>";
592 } 596 }
593 597
594 // notes last 598 // notes last
595 if ( (value = notes()) ) { 599 if ( (value = notes()) ) {
596 QRegExp reg("\n"); 600 QRegExp reg("\n");
597 601
598 //QString tmp = Qtopia::escapeString(value); 602 //QString tmp = Qtopia::escapeString(value);
599 QString tmp = QStyleSheet::convertFromPlainText(value); 603 QString tmp = QStyleSheet::convertFromPlainText(value);
600 //tmp.replace( reg, "<br>" ); 604 //tmp.replace( reg, "<br>" );
601 text += "<br>" + tmp + "<br>"; 605 text += "<br>" + tmp + "<br>";
602 } 606 }
603 return text; 607 return text;
604} 608}
605 609
606/*! 610/*!
607 \internal 611 \internal
608*/ 612*/
609void OContact::insert( int key, const QString &v ) 613void OContact::insert( int key, const QString &v )
610{ 614{
611 QString value = v.stripWhiteSpace(); 615 QString value = v.stripWhiteSpace();
612 if ( value.isEmpty() ) 616 if ( value.isEmpty() )
613 mMap.remove( key ); 617 mMap.remove( key );
614 else 618 else
615 mMap.insert( key, value ); 619 mMap.insert( key, value );
616} 620}
617 621
618/*! 622/*!
619 \internal 623 \internal
620*/ 624*/
621void OContact::replace( int key, const QString & v ) 625void OContact::replace( int key, const QString & v )
622{ 626{
623 QString value = v.stripWhiteSpace(); 627 QString value = v.stripWhiteSpace();
624 if ( value.isEmpty() ) 628 if ( value.isEmpty() )
625 mMap.remove( key ); 629 mMap.remove( key );
626 else 630 else
627 mMap.replace( key, value ); 631 mMap.replace( key, value );
628} 632}
629 633
630/*! 634/*!
631 \internal 635 \internal
632*/ 636*/
633QString OContact::find( int key ) const 637QString OContact::find( int key ) const
634{ 638{
635 return mMap[key]; 639 return mMap[key];
636} 640}
637 641
638/*! 642/*!
639 \internal 643 \internal
640*/ 644*/
641QString OContact::displayAddress( const QString &street, 645QString OContact::displayAddress( const QString &street,
642 const QString &city, 646 const QString &city,
643 const QString &state, 647 const QString &state,
644 const QString &zip, 648 const QString &zip,
645 const QString &country ) const 649 const QString &country ) const
646{ 650{
647 QString s = street; 651 QString s = street;
648 if ( !street.isEmpty() ) 652 if ( !street.isEmpty() )
649 s+= "\n"; 653 s+= "\n";
650 s += city; 654 s += city;
651 if ( !city.isEmpty() && !state.isEmpty() ) 655 if ( !city.isEmpty() && !state.isEmpty() )
652 s += ", "; 656 s += ", ";
653 s += state; 657 s += state;
654 if ( !state.isEmpty() && !zip.isEmpty() ) 658 if ( !state.isEmpty() && !zip.isEmpty() )
655 s += " "; 659 s += " ";
656 s += zip; 660 s += zip;
657 if ( !country.isEmpty() && !s.isEmpty() ) 661 if ( !country.isEmpty() && !s.isEmpty() )
658 s += "\n"; 662 s += "\n";
659 s += country; 663 s += country;
660 return s; 664 return s;
661} 665}
662 666
663/*! 667/*!
664 \internal 668 \internal
665*/ 669*/
666QString OContact::displayBusinessAddress() const 670QString OContact::displayBusinessAddress() const
667{ 671{
668 return displayAddress( businessStreet(), businessCity(), 672 return displayAddress( businessStreet(), businessCity(),
669 businessState(), businessZip(), 673 businessState(), businessZip(),
670 businessCountry() ); 674 businessCountry() );
671} 675}
672 676
673/*! 677/*!
674 \internal 678 \internal
675*/ 679*/
676QString OContact::displayHomeAddress() const 680QString OContact::displayHomeAddress() const
677{ 681{
678 return displayAddress( homeStreet(), homeCity(), 682 return displayAddress( homeStreet(), homeCity(),
679 homeState(), homeZip(), 683 homeState(), homeZip(),
680 homeCountry() ); 684 homeCountry() );
681} 685}
682 686
683/*! 687/*!
684 Returns the full name of the contact 688 Returns the full name of the contact
685*/ 689*/
686QString OContact::fullName() const 690QString OContact::fullName() const
687{ 691{
688 QString title = find( Qtopia::Title ); 692 QString title = find( Qtopia::Title );
689 QString firstName = find( Qtopia::FirstName ); 693 QString firstName = find( Qtopia::FirstName );
690 QString middleName = find( Qtopia::MiddleName ); 694 QString middleName = find( Qtopia::MiddleName );
691 QString lastName = find( Qtopia::LastName ); 695 QString lastName = find( Qtopia::LastName );
692 QString suffix = find( Qtopia::Suffix ); 696 QString suffix = find( Qtopia::Suffix );
693 697
694 QString name = title; 698 QString name = title;
695 if ( !firstName.isEmpty() ) { 699 if ( !firstName.isEmpty() ) {
696 if ( !name.isEmpty() ) 700 if ( !name.isEmpty() )
697 name += " "; 701 name += " ";
698 name += firstName; 702 name += firstName;
699 } 703 }