summaryrefslogtreecommitdiff
authoreilers <eilers>2003-01-02 10:24:30 (UTC)
committer eilers <eilers>2003-01-02 10:24:30 (UTC)
commit8a56de0062724c2ed52481af0a22e0f69423ff51 (patch) (unidiff)
tree7a9bf841e129d1e84d5b8b15887f37630ca32f06
parentbd26d4cab11d12f3382bb6fb6e0f7c7815975013 (diff)
downloadopie-8a56de0062724c2ed52481af0a22e0f69423ff51.zip
opie-8a56de0062724c2ed52481af0a22e0f69423ff51.tar.gz
opie-8a56de0062724c2ed52481af0a22e0f69423ff51.tar.bz2
Detailview cleanup..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/ocontact.cpp122
-rw-r--r--libopie2/opiepim/ocontact.cpp122
2 files changed, 154 insertions, 90 deletions
diff --git a/libopie/pim/ocontact.cpp b/libopie/pim/ocontact.cpp
index c9084ad..9230b8b 100644
--- a/libopie/pim/ocontact.cpp
+++ b/libopie/pim/ocontact.cpp
@@ -376,300 +376,332 @@ OContact::~OContact()
376 Returns the spouse of the contact. 376 Returns the spouse of the contact.
377*/ 377*/
378 378
379/*! \fn QString OContact::gender() const 379/*! \fn QString OContact::gender() const
380 Returns the gender of the contact. 380 Returns the gender of the contact.
381*/ 381*/
382 382
383/*! \fn QString OContact::nickname() const 383/*! \fn QString OContact::nickname() const
384 Returns the nickname of the contact. 384 Returns the nickname of the contact.
385*/ 385*/
386 386
387/*! \fn QString OContact::children() const 387/*! \fn QString OContact::children() const
388 Returns the children of the contact. 388 Returns the children of the contact.
389*/ 389*/
390 390
391/*! \fn QString OContact::notes() const 391/*! \fn QString OContact::notes() const
392 Returns the notes relating to the the contact. 392 Returns the notes relating to the the contact.
393*/ 393*/
394 394
395/*! \fn QString OContact::groups() const 395/*! \fn QString OContact::groups() const
396 \internal 396 \internal
397 Returns the groups for the contact. 397 Returns the groups for the contact.
398*/ 398*/
399 399
400/*! \fn QStringList OContact::groupList() const 400/*! \fn QStringList OContact::groupList() const
401 \internal 401 \internal
402*/ 402*/
403 403
404/*! \fn QString OContact::field(int) const 404/*! \fn QString OContact::field(int) const
405 \internal 405 \internal
406*/ 406*/
407 407
408/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null ) 408/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null )
409 \internal 409 \internal
410*/ 410*/
411 411
412/*! \fn void OContact::setUid( int id ) 412/*! \fn void OContact::setUid( int id )
413 \internal 413 \internal
414 Sets the uid for this record to \a id. 414 Sets the uid for this record to \a id.
415*/ 415*/
416 416
417/*! \enum OContact::journal_action 417/*! \enum OContact::journal_action
418 \internal 418 \internal
419*/ 419*/
420 420
421/*! 421/*!
422 \internal 422 \internal
423*/ 423*/
424QMap<int, QString> OContact::toMap() const 424QMap<int, QString> OContact::toMap() const
425{ 425{
426 QMap<int, QString> map = mMap; 426 QMap<int, QString> map = mMap;
427 QString cats = idsToString( categories() ); 427 QString cats = idsToString( categories() );
428 if ( !cats.isEmpty() ) 428 if ( !cats.isEmpty() )
429 map.insert( Qtopia::AddressCategory, cats ); 429 map.insert( Qtopia::AddressCategory, cats );
430 return map; 430 return map;
431} 431}
432 432
433/*! 433/*!
434 Returns a rich text formatted QString representing the contents the contact. 434 Returns a rich text formatted QString representing the contents the contact.
435*/ 435*/
436QString OContact::toRichText() const 436QString OContact::toRichText() const
437{ 437{
438 QString text; 438 QString text;
439 QString value, comp, state; 439 QString value, comp, state;
440 QString str;
441 bool marker = false;
440 442
441 // name, jobtitle and company 443 // name, jobtitle and company
442 if ( !(value = fullName()).isEmpty() ) 444 if ( !(value = fullName()).isEmpty() )
443 text += "<b>" + Qtopia::escapeString(value) + "</b><br>"; 445 text += "<b><h3>" + Qtopia::escapeString(value) + "</h3></b><br>";
444 if ( !(value = jobTitle()).isEmpty() ) 446 if ( !(value = jobTitle()).isEmpty() )
445 text += Qtopia::escapeString(value) + "<br>"; 447 text += Qtopia::escapeString(value) + "<br>";
446 448
447 comp = company(); 449 comp = company();
448 if ( !(value = department()).isEmpty() ) { 450 if ( !(value = department()).isEmpty() ) {
449 text += Qtopia::escapeString(value); 451 text += Qtopia::escapeString(value);
450 if ( comp ) 452 if ( comp )
451 text += ", "; 453 text += ", ";
452 else 454 else
453 text += "<br>"; 455 text += "<br>";
454 } 456 }
455 if ( !comp.isEmpty() ) 457 if ( !comp.isEmpty() )
456 text += Qtopia::escapeString(comp) + "<br>"; 458 text += Qtopia::escapeString(comp) + "<br>";
457 459
460 QString defEmail = defaultEmail();
461 if ( !defEmail.isEmpty() )
462 text += "<b>" + QObject::tr("Default Email: ") + "</b>"
463 + Qtopia::escapeString(defEmail) + "<br>";
464
465 text += "<hr>";
466
458 // business address 467 // business address
459 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() || 468 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() ||
460 !businessZip().isEmpty() || !businessCountry().isEmpty() ) { 469 !businessZip().isEmpty() || !businessCountry().isEmpty() ) {
461 text += "<br>"; 470 text += "<br>";
462 text += QObject::tr( "<b>Work Address:</b>" ); 471 text += QObject::tr( "<b>Work Address:</b>" );
463 text += "<br>"; 472 text += "<br>";
473 marker = true;
464 } 474 }
465 475
466 if ( !(value = businessStreet()).isEmpty() ) 476 if ( !(value = businessStreet()).isEmpty() )
467 text += Qtopia::escapeString(value) + "<br>"; 477 text += Qtopia::escapeString(value) + "<br>";
468 state = businessState(); 478 state = businessState();
469 if ( !(value = businessCity()).isEmpty() ) { 479 if ( !(value = businessCity()).isEmpty() ) {
470 text += Qtopia::escapeString(value); 480 text += Qtopia::escapeString(value);
471 if ( state ) 481 if ( state )
472 text += ", " + Qtopia::escapeString(state); 482 text += ", " + Qtopia::escapeString(state);
473 text += "<br>"; 483 text += "<br>";
474 } else if ( !state.isEmpty() ) 484 } else if ( !state.isEmpty() )
475 text += Qtopia::escapeString(state) + "<br>"; 485 text += Qtopia::escapeString(state) + "<br>";
476 if ( !(value = businessZip()).isEmpty() ) 486 if ( !(value = businessZip()).isEmpty() )
477 text += Qtopia::escapeString(value) + "<br>"; 487 text += Qtopia::escapeString(value) + "<br>";
478 if ( !(value = businessCountry()).isEmpty() ) 488 if ( !(value = businessCountry()).isEmpty() )
479 text += Qtopia::escapeString(value) + "<br>"; 489 text += Qtopia::escapeString(value) + "<br>";
480 490
491 // rest of Business data
492 str = office();
493 if ( !str.isEmpty() ){
494 text += "<b>" + QObject::tr("Office: ") + "</b>"
495 + Qtopia::escapeString(str) + "<br>";
496 marker = true;
497 }
498 str = businessWebpage();
499 if ( !str.isEmpty() ){
500 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>"
501 + Qtopia::escapeString(str) + "<br>";
502 marker = true;
503 }
504 str = businessPhone();
505 if ( !str.isEmpty() ){
506 text += "<b>" + QObject::tr("Business Phone: ") + "</b>"
507 + Qtopia::escapeString(str) + "<br>";
508 marker = true;
509 }
510 str = businessFax();
511 if ( !str.isEmpty() ){
512 text += "<b>" + QObject::tr("Business Fax: ") + "</b>"
513 + Qtopia::escapeString(str) + "<br>";
514 marker = true;
515 }
516 str = businessMobile();
517 if ( !str.isEmpty() ){
518 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>"
519 + Qtopia::escapeString(str) + "<br>";
520 marker = true;
521 }
522 str = businessPager();
523 if ( !str.isEmpty() ){
524 text += "<b>" + QObject::tr("Business Pager: ") + "</b>"
525 + Qtopia::escapeString(str) + "<br>";
526 marker = true;
527 }
528
481 // home address 529 // home address
482 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() || 530 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() ||
483 !homeZip().isEmpty() || !homeCountry().isEmpty() ) { 531 !homeZip().isEmpty() || !homeCountry().isEmpty() ) {
484 text += "<br>"; 532 text += "<br>";
485 text += QObject::tr( "<b>Home Address:</b>" ); 533 text += QObject::tr( "<b>Home Address:</b>" );
486 text += "<br>"; 534 text += "<br>";
487 } 535 }
488 536
489 if ( !(value = homeStreet()).isEmpty() ) 537 if ( !(value = homeStreet()).isEmpty() )
490 text += Qtopia::escapeString(value) + "<br>"; 538 text += Qtopia::escapeString(value) + "<br>";
491 state = homeState(); 539 state = homeState();
492 if ( !(value = homeCity()).isEmpty() ) { 540 if ( !(value = homeCity()).isEmpty() ) {
493 text += Qtopia::escapeString(value); 541 text += Qtopia::escapeString(value);
494 if ( !state.isEmpty() ) 542 if ( !state.isEmpty() )
495 text += ", " + Qtopia::escapeString(state); 543 text += ", " + Qtopia::escapeString(state);
496 text += "<br>"; 544 text += "<br>";
497 } else if (!state.isEmpty()) 545 } else if (!state.isEmpty())
498 text += Qtopia::escapeString(state) + "<br>"; 546 text += Qtopia::escapeString(state) + "<br>";
499 if ( !(value = homeZip()).isEmpty() ) 547 if ( !(value = homeZip()).isEmpty() )
500 text += Qtopia::escapeString(value) + "<br>"; 548 text += Qtopia::escapeString(value) + "<br>";
501 if ( !(value = homeCountry()).isEmpty() ) 549 if ( !(value = homeCountry()).isEmpty() )
502 text += Qtopia::escapeString(value) + "<br>"; 550 text += Qtopia::escapeString(value) + "<br>";
503 551
504 // the others... 552 // rest of Home data
505 QString str; 553 str = homeWebpage();
506 QString defEmail = defaultEmail(); 554 if ( !str.isEmpty() ){
507 if ( !defEmail.isEmpty() ) 555 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>"
508 text += "<b>" + QObject::tr("Default Email: ") + "</b>"
509 + Qtopia::escapeString(defEmail) + "<br>";
510 str = emails();
511 if ( !str.isEmpty() && ( str != defEmail ) )
512 text += "<b>" + QObject::tr("All Emails: ") + "</b>"
513 + Qtopia::escapeString(str) + "<br>"; 556 + Qtopia::escapeString(str) + "<br>";
557 marker = true;
558 }
514 str = homePhone(); 559 str = homePhone();
515 if ( !str.isEmpty() ) 560 if ( !str.isEmpty() ){
516 text += "<b>" + QObject::tr("Home Phone: ") + "</b>" 561 text += "<b>" + QObject::tr("Home Phone: ") + "</b>"
517 + Qtopia::escapeString(str) + "<br>"; 562 + Qtopia::escapeString(str) + "<br>";
563 marker = true;
564 }
518 str = homeFax(); 565 str = homeFax();
519 if ( !str.isEmpty() ) 566 if ( !str.isEmpty() ){
520 text += "<b>" + QObject::tr("Home Fax: ") + "</b>" 567 text += "<b>" + QObject::tr("Home Fax: ") + "</b>"
521 + Qtopia::escapeString(str) + "<br>"; 568 + Qtopia::escapeString(str) + "<br>";
569 marker = true;
570 }
522 str = homeMobile(); 571 str = homeMobile();
523 if ( !str.isEmpty() ) 572 if ( !str.isEmpty() ){
524 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>" 573 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>"
525 + Qtopia::escapeString(str) + "<br>"; 574 + Qtopia::escapeString(str) + "<br>";
526 str = homeWebpage(); 575 marker = true;
527 if ( !str.isEmpty() ) 576 }
528 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>" 577
529 + Qtopia::escapeString(str) + "<br>"; 578 if ( marker )
530 str = businessWebpage(); 579 text += "<br><hr><br>";
531 if ( !str.isEmpty() ) 580 // the others...
532 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>" 581 str = emails();
533 + Qtopia::escapeString(str) + "<br>"; 582 if ( !str.isEmpty() && ( str != defEmail ) )
534 str = office(); 583 text += "<b>" + QObject::tr("All Emails: ") + "</b>"
535 if ( !str.isEmpty() )
536 text += "<b>" + QObject::tr("Office: ") + "</b>"
537 + Qtopia::escapeString(str) + "<br>";
538 str = businessPhone();
539 if ( !str.isEmpty() )
540 text += "<b>" + QObject::tr("Business Phone: ") + "</b>"
541 + Qtopia::escapeString(str) + "<br>";
542 str = businessFax();
543 if ( !str.isEmpty() )
544 text += "<b>" + QObject::tr("Business Fax: ") + "</b>"
545 + Qtopia::escapeString(str) + "<br>";
546 str = businessMobile();
547 if ( !str.isEmpty() )
548 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>"
549 + Qtopia::escapeString(str) + "<br>";
550 str = businessPager();
551 if ( !str.isEmpty() )
552 text += "<b>" + QObject::tr("Business Pager: ") + "</b>"
553 + Qtopia::escapeString(str) + "<br>"; 584 + Qtopia::escapeString(str) + "<br>";
554 str = profession(); 585 str = profession();
555 if ( !str.isEmpty() ) 586 if ( !str.isEmpty() )
556 text += "<b>" + QObject::tr("Profession: ") + "</b>" 587 text += "<b>" + QObject::tr("Profession: ") + "</b>"
557 + Qtopia::escapeString(str) + "<br>"; 588 + Qtopia::escapeString(str) + "<br>";
558 str = assistant(); 589 str = assistant();
559 if ( !str.isEmpty() ) 590 if ( !str.isEmpty() )
560 text += "<b>" + QObject::tr("Assistant: ") + "</b>" 591 text += "<b>" + QObject::tr("Assistant: ") + "</b>"
561 + Qtopia::escapeString(str) + "<br>"; 592 + Qtopia::escapeString(str) + "<br>";
562 str = manager(); 593 str = manager();
563 if ( !str.isEmpty() ) 594 if ( !str.isEmpty() )
564 text += "<b>" + QObject::tr("Manager: ") + "</b>" 595 text += "<b>" + QObject::tr("Manager: ") + "</b>"
565 + Qtopia::escapeString(str) + "<br>"; 596 + Qtopia::escapeString(str) + "<br>";
566 str = gender(); 597 str = gender();
567 if ( !str.isEmpty() && str.toInt() != 0 ) { 598 if ( !str.isEmpty() && str.toInt() != 0 ) {
568 if ( str.toInt() == 1 ) 599 if ( str.toInt() == 1 )
569 str = QObject::tr( "Male" ); 600 str = QObject::tr( "Male" );
570 else if ( str.toInt() == 2 ) 601 else if ( str.toInt() == 2 )
571 str = QObject::tr( "Female" ); 602 str = QObject::tr( "Female" );
572 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>"; 603 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>";
573 } 604 }
574 str = spouse(); 605 str = spouse();
575 if ( !str.isEmpty() ) 606 if ( !str.isEmpty() )
576 text += "<b>" + QObject::tr("Spouse: ") + "</b>" 607 text += "<b>" + QObject::tr("Spouse: ") + "</b>"
577 + Qtopia::escapeString(str) + "<br>"; 608 + Qtopia::escapeString(str) + "<br>";
578 if ( birthday().isValid() ){ 609 if ( birthday().isValid() ){
579 str = TimeString::numberDateString( birthday() ); 610 str = TimeString::numberDateString( birthday() );
580 text += "<b>" + QObject::tr("Birthday: ") + "</b>" 611 text += "<b>" + QObject::tr("Birthday: ") + "</b>"
581 + Qtopia::escapeString(str) + "<br>"; 612 + Qtopia::escapeString(str) + "<br>";
582 } 613 }
583 if ( anniversary().isValid() ){ 614 if ( anniversary().isValid() ){
584 str = TimeString::numberDateString( anniversary() ); 615 str = TimeString::numberDateString( anniversary() );
585 text += "<b>" + QObject::tr("Anniversary: ") + "</b>" 616 text += "<b>" + QObject::tr("Anniversary: ") + "</b>"
586 + Qtopia::escapeString(str) + "<br>"; 617 + Qtopia::escapeString(str) + "<br>";
587 } 618 }
588 str = children(); 619 str = children();
589 if ( !str.isEmpty() ) 620 if ( !str.isEmpty() )
590 text += "<b>" + QObject::tr("Children: ") + "</b>" 621 text += "<b>" + QObject::tr("Children: ") + "</b>"
591 + Qtopia::escapeString(str) + "<br>"; 622 + Qtopia::escapeString(str) + "<br>";
592 623
593 str = nickname(); 624 str = nickname();
594 if ( !str.isEmpty() ) 625 if ( !str.isEmpty() )
595 text += "<b>" + QObject::tr("Nickname: ") + "</b>" 626 text += "<b>" + QObject::tr("Nickname: ") + "</b>"
596 + Qtopia::escapeString(str) + "<br>"; 627 + Qtopia::escapeString(str) + "<br>";
597 628
598 if ( categoryNames().count() ){ 629 if ( categoryNames().count() ){
599 text += "<b>" + QObject::tr( "Category:") + "</b> "; 630 text += "<b>" + QObject::tr( "Category:") + "</b> ";
600 text += categoryNames().join(", "); 631 text += categoryNames().join(", ");
601 text += "<br>"; 632 text += "<br>";
602 } 633 }
603 634
604 // notes last 635 // notes last
605 if ( (value = notes()) ) { 636 if ( (value = notes()) ) {
606 QRegExp reg("\n"); 637 text += "<br><hr><b>" + QObject::tr( "Notes:") + "</b> ";
638 QRegExp reg("\n");
607 639
608 //QString tmp = Qtopia::escapeString(value); 640 //QString tmp = Qtopia::escapeString(value);
609 QString tmp = QStyleSheet::convertFromPlainText(value); 641 QString tmp = QStyleSheet::convertFromPlainText(value);
610 //tmp.replace( reg, "<br>" ); 642 //tmp.replace( reg, "<br>" );
611 text += "<br>" + tmp + "<br>"; 643 text += "<br>" + tmp + "<br>";
612 } 644 }
613 return text; 645 return text;
614} 646}
615 647
616/*! 648/*!
617 \internal 649 \internal
618*/ 650*/
619void OContact::insert( int key, const QString &v ) 651void OContact::insert( int key, const QString &v )
620{ 652{
621 QString value = v.stripWhiteSpace(); 653 QString value = v.stripWhiteSpace();
622 if ( value.isEmpty() ) 654 if ( value.isEmpty() )
623 mMap.remove( key ); 655 mMap.remove( key );
624 else 656 else
625 mMap.insert( key, value ); 657 mMap.insert( key, value );
626} 658}
627 659
628/*! 660/*!
629 \internal 661 \internal
630*/ 662*/
631void OContact::replace( int key, const QString & v ) 663void OContact::replace( int key, const QString & v )
632{ 664{
633 QString value = v.stripWhiteSpace(); 665 QString value = v.stripWhiteSpace();
634 if ( value.isEmpty() ) 666 if ( value.isEmpty() )
635 mMap.remove( key ); 667 mMap.remove( key );
636 else 668 else
637 mMap.replace( key, value ); 669 mMap.replace( key, value );
638} 670}
639 671
640/*! 672/*!
641 \internal 673 \internal
642*/ 674*/
643QString OContact::find( int key ) const 675QString OContact::find( int key ) const
644{ 676{
645 return mMap[key]; 677 return mMap[key];
646} 678}
647 679
648/*! 680/*!
649 \internal 681 \internal
650*/ 682*/
651QString OContact::displayAddress( const QString &street, 683QString OContact::displayAddress( const QString &street,
652 const QString &city, 684 const QString &city,
653 const QString &state, 685 const QString &state,
654 const QString &zip, 686 const QString &zip,
655 const QString &country ) const 687 const QString &country ) const
656{ 688{
657 QString s = street; 689 QString s = street;
658 if ( !street.isEmpty() ) 690 if ( !street.isEmpty() )
659 s+= "\n"; 691 s+= "\n";
660 s += city; 692 s += city;
661 if ( !city.isEmpty() && !state.isEmpty() ) 693 if ( !city.isEmpty() && !state.isEmpty() )
662 s += ", "; 694 s += ", ";
663 s += state; 695 s += state;
664 if ( !state.isEmpty() && !zip.isEmpty() ) 696 if ( !state.isEmpty() && !zip.isEmpty() )
665 s += " "; 697 s += " ";
666 s += zip; 698 s += zip;
667 if ( !country.isEmpty() && !s.isEmpty() ) 699 if ( !country.isEmpty() && !s.isEmpty() )
668 s += "\n"; 700 s += "\n";
669 s += country; 701 s += country;
670 return s; 702 return s;
671} 703}
672 704
673/*! 705/*!
674 \internal 706 \internal
675*/ 707*/
diff --git a/libopie2/opiepim/ocontact.cpp b/libopie2/opiepim/ocontact.cpp
index c9084ad..9230b8b 100644
--- a/libopie2/opiepim/ocontact.cpp
+++ b/libopie2/opiepim/ocontact.cpp
@@ -376,300 +376,332 @@ OContact::~OContact()
376 Returns the spouse of the contact. 376 Returns the spouse of the contact.
377*/ 377*/
378 378
379/*! \fn QString OContact::gender() const 379/*! \fn QString OContact::gender() const
380 Returns the gender of the contact. 380 Returns the gender of the contact.
381*/ 381*/
382 382
383/*! \fn QString OContact::nickname() const 383/*! \fn QString OContact::nickname() const
384 Returns the nickname of the contact. 384 Returns the nickname of the contact.
385*/ 385*/
386 386
387/*! \fn QString OContact::children() const 387/*! \fn QString OContact::children() const
388 Returns the children of the contact. 388 Returns the children of the contact.
389*/ 389*/
390 390
391/*! \fn QString OContact::notes() const 391/*! \fn QString OContact::notes() const
392 Returns the notes relating to the the contact. 392 Returns the notes relating to the the contact.
393*/ 393*/
394 394
395/*! \fn QString OContact::groups() const 395/*! \fn QString OContact::groups() const
396 \internal 396 \internal
397 Returns the groups for the contact. 397 Returns the groups for the contact.
398*/ 398*/
399 399
400/*! \fn QStringList OContact::groupList() const 400/*! \fn QStringList OContact::groupList() const
401 \internal 401 \internal
402*/ 402*/
403 403
404/*! \fn QString OContact::field(int) const 404/*! \fn QString OContact::field(int) const
405 \internal 405 \internal
406*/ 406*/
407 407
408/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null ) 408/*! \fn void OContact::saveJournal( journal_action, const QString & = QString::null )
409 \internal 409 \internal
410*/ 410*/
411 411
412/*! \fn void OContact::setUid( int id ) 412/*! \fn void OContact::setUid( int id )
413 \internal 413 \internal
414 Sets the uid for this record to \a id. 414 Sets the uid for this record to \a id.
415*/ 415*/
416 416
417/*! \enum OContact::journal_action 417/*! \enum OContact::journal_action
418 \internal 418 \internal
419*/ 419*/
420 420
421/*! 421/*!
422 \internal 422 \internal
423*/ 423*/
424QMap<int, QString> OContact::toMap() const 424QMap<int, QString> OContact::toMap() const
425{ 425{
426 QMap<int, QString> map = mMap; 426 QMap<int, QString> map = mMap;
427 QString cats = idsToString( categories() ); 427 QString cats = idsToString( categories() );
428 if ( !cats.isEmpty() ) 428 if ( !cats.isEmpty() )
429 map.insert( Qtopia::AddressCategory, cats ); 429 map.insert( Qtopia::AddressCategory, cats );
430 return map; 430 return map;
431} 431}
432 432
433/*! 433/*!
434 Returns a rich text formatted QString representing the contents the contact. 434 Returns a rich text formatted QString representing the contents the contact.
435*/ 435*/
436QString OContact::toRichText() const 436QString OContact::toRichText() const
437{ 437{
438 QString text; 438 QString text;
439 QString value, comp, state; 439 QString value, comp, state;
440 QString str;
441 bool marker = false;
440 442
441 // name, jobtitle and company 443 // name, jobtitle and company
442 if ( !(value = fullName()).isEmpty() ) 444 if ( !(value = fullName()).isEmpty() )
443 text += "<b>" + Qtopia::escapeString(value) + "</b><br>"; 445 text += "<b><h3>" + Qtopia::escapeString(value) + "</h3></b><br>";
444 if ( !(value = jobTitle()).isEmpty() ) 446 if ( !(value = jobTitle()).isEmpty() )
445 text += Qtopia::escapeString(value) + "<br>"; 447 text += Qtopia::escapeString(value) + "<br>";
446 448
447 comp = company(); 449 comp = company();
448 if ( !(value = department()).isEmpty() ) { 450 if ( !(value = department()).isEmpty() ) {
449 text += Qtopia::escapeString(value); 451 text += Qtopia::escapeString(value);
450 if ( comp ) 452 if ( comp )
451 text += ", "; 453 text += ", ";
452 else 454 else
453 text += "<br>"; 455 text += "<br>";
454 } 456 }
455 if ( !comp.isEmpty() ) 457 if ( !comp.isEmpty() )
456 text += Qtopia::escapeString(comp) + "<br>"; 458 text += Qtopia::escapeString(comp) + "<br>";
457 459
460 QString defEmail = defaultEmail();
461 if ( !defEmail.isEmpty() )
462 text += "<b>" + QObject::tr("Default Email: ") + "</b>"
463 + Qtopia::escapeString(defEmail) + "<br>";
464
465 text += "<hr>";
466
458 // business address 467 // business address
459 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() || 468 if ( !businessStreet().isEmpty() || !businessCity().isEmpty() ||
460 !businessZip().isEmpty() || !businessCountry().isEmpty() ) { 469 !businessZip().isEmpty() || !businessCountry().isEmpty() ) {
461 text += "<br>"; 470 text += "<br>";
462 text += QObject::tr( "<b>Work Address:</b>" ); 471 text += QObject::tr( "<b>Work Address:</b>" );
463 text += "<br>"; 472 text += "<br>";
473 marker = true;
464 } 474 }
465 475
466 if ( !(value = businessStreet()).isEmpty() ) 476 if ( !(value = businessStreet()).isEmpty() )
467 text += Qtopia::escapeString(value) + "<br>"; 477 text += Qtopia::escapeString(value) + "<br>";
468 state = businessState(); 478 state = businessState();
469 if ( !(value = businessCity()).isEmpty() ) { 479 if ( !(value = businessCity()).isEmpty() ) {
470 text += Qtopia::escapeString(value); 480 text += Qtopia::escapeString(value);
471 if ( state ) 481 if ( state )
472 text += ", " + Qtopia::escapeString(state); 482 text += ", " + Qtopia::escapeString(state);
473 text += "<br>"; 483 text += "<br>";
474 } else if ( !state.isEmpty() ) 484 } else if ( !state.isEmpty() )
475 text += Qtopia::escapeString(state) + "<br>"; 485 text += Qtopia::escapeString(state) + "<br>";
476 if ( !(value = businessZip()).isEmpty() ) 486 if ( !(value = businessZip()).isEmpty() )
477 text += Qtopia::escapeString(value) + "<br>"; 487 text += Qtopia::escapeString(value) + "<br>";
478 if ( !(value = businessCountry()).isEmpty() ) 488 if ( !(value = businessCountry()).isEmpty() )
479 text += Qtopia::escapeString(value) + "<br>"; 489 text += Qtopia::escapeString(value) + "<br>";
480 490
491 // rest of Business data
492 str = office();
493 if ( !str.isEmpty() ){
494 text += "<b>" + QObject::tr("Office: ") + "</b>"
495 + Qtopia::escapeString(str) + "<br>";
496 marker = true;
497 }
498 str = businessWebpage();
499 if ( !str.isEmpty() ){
500 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>"
501 + Qtopia::escapeString(str) + "<br>";
502 marker = true;
503 }
504 str = businessPhone();
505 if ( !str.isEmpty() ){
506 text += "<b>" + QObject::tr("Business Phone: ") + "</b>"
507 + Qtopia::escapeString(str) + "<br>";
508 marker = true;
509 }
510 str = businessFax();
511 if ( !str.isEmpty() ){
512 text += "<b>" + QObject::tr("Business Fax: ") + "</b>"
513 + Qtopia::escapeString(str) + "<br>";
514 marker = true;
515 }
516 str = businessMobile();
517 if ( !str.isEmpty() ){
518 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>"
519 + Qtopia::escapeString(str) + "<br>";
520 marker = true;
521 }
522 str = businessPager();
523 if ( !str.isEmpty() ){
524 text += "<b>" + QObject::tr("Business Pager: ") + "</b>"
525 + Qtopia::escapeString(str) + "<br>";
526 marker = true;
527 }
528
481 // home address 529 // home address
482 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() || 530 if ( !homeStreet().isEmpty() || !homeCity().isEmpty() ||
483 !homeZip().isEmpty() || !homeCountry().isEmpty() ) { 531 !homeZip().isEmpty() || !homeCountry().isEmpty() ) {
484 text += "<br>"; 532 text += "<br>";
485 text += QObject::tr( "<b>Home Address:</b>" ); 533 text += QObject::tr( "<b>Home Address:</b>" );
486 text += "<br>"; 534 text += "<br>";
487 } 535 }
488 536
489 if ( !(value = homeStreet()).isEmpty() ) 537 if ( !(value = homeStreet()).isEmpty() )
490 text += Qtopia::escapeString(value) + "<br>"; 538 text += Qtopia::escapeString(value) + "<br>";
491 state = homeState(); 539 state = homeState();
492 if ( !(value = homeCity()).isEmpty() ) { 540 if ( !(value = homeCity()).isEmpty() ) {
493 text += Qtopia::escapeString(value); 541 text += Qtopia::escapeString(value);
494 if ( !state.isEmpty() ) 542 if ( !state.isEmpty() )
495 text += ", " + Qtopia::escapeString(state); 543 text += ", " + Qtopia::escapeString(state);
496 text += "<br>"; 544 text += "<br>";
497 } else if (!state.isEmpty()) 545 } else if (!state.isEmpty())
498 text += Qtopia::escapeString(state) + "<br>"; 546 text += Qtopia::escapeString(state) + "<br>";
499 if ( !(value = homeZip()).isEmpty() ) 547 if ( !(value = homeZip()).isEmpty() )
500 text += Qtopia::escapeString(value) + "<br>"; 548 text += Qtopia::escapeString(value) + "<br>";
501 if ( !(value = homeCountry()).isEmpty() ) 549 if ( !(value = homeCountry()).isEmpty() )
502 text += Qtopia::escapeString(value) + "<br>"; 550 text += Qtopia::escapeString(value) + "<br>";
503 551
504 // the others... 552 // rest of Home data
505 QString str; 553 str = homeWebpage();
506 QString defEmail = defaultEmail(); 554 if ( !str.isEmpty() ){
507 if ( !defEmail.isEmpty() ) 555 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>"
508 text += "<b>" + QObject::tr("Default Email: ") + "</b>"
509 + Qtopia::escapeString(defEmail) + "<br>";
510 str = emails();
511 if ( !str.isEmpty() && ( str != defEmail ) )
512 text += "<b>" + QObject::tr("All Emails: ") + "</b>"
513 + Qtopia::escapeString(str) + "<br>"; 556 + Qtopia::escapeString(str) + "<br>";
557 marker = true;
558 }
514 str = homePhone(); 559 str = homePhone();
515 if ( !str.isEmpty() ) 560 if ( !str.isEmpty() ){
516 text += "<b>" + QObject::tr("Home Phone: ") + "</b>" 561 text += "<b>" + QObject::tr("Home Phone: ") + "</b>"
517 + Qtopia::escapeString(str) + "<br>"; 562 + Qtopia::escapeString(str) + "<br>";
563 marker = true;
564 }
518 str = homeFax(); 565 str = homeFax();
519 if ( !str.isEmpty() ) 566 if ( !str.isEmpty() ){
520 text += "<b>" + QObject::tr("Home Fax: ") + "</b>" 567 text += "<b>" + QObject::tr("Home Fax: ") + "</b>"
521 + Qtopia::escapeString(str) + "<br>"; 568 + Qtopia::escapeString(str) + "<br>";
569 marker = true;
570 }
522 str = homeMobile(); 571 str = homeMobile();
523 if ( !str.isEmpty() ) 572 if ( !str.isEmpty() ){
524 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>" 573 text += "<b>" + QObject::tr("Home Mobile: ") + "</b>"
525 + Qtopia::escapeString(str) + "<br>"; 574 + Qtopia::escapeString(str) + "<br>";
526 str = homeWebpage(); 575 marker = true;
527 if ( !str.isEmpty() ) 576 }
528 text += "<b>" + QObject::tr("Home Web Page: ") + "</b>" 577
529 + Qtopia::escapeString(str) + "<br>"; 578 if ( marker )
530 str = businessWebpage(); 579 text += "<br><hr><br>";
531 if ( !str.isEmpty() ) 580 // the others...
532 text += "<b>" + QObject::tr("Business Web Page: ") + "</b>" 581 str = emails();
533 + Qtopia::escapeString(str) + "<br>"; 582 if ( !str.isEmpty() && ( str != defEmail ) )
534 str = office(); 583 text += "<b>" + QObject::tr("All Emails: ") + "</b>"
535 if ( !str.isEmpty() )
536 text += "<b>" + QObject::tr("Office: ") + "</b>"
537 + Qtopia::escapeString(str) + "<br>";
538 str = businessPhone();
539 if ( !str.isEmpty() )
540 text += "<b>" + QObject::tr("Business Phone: ") + "</b>"
541 + Qtopia::escapeString(str) + "<br>";
542 str = businessFax();
543 if ( !str.isEmpty() )
544 text += "<b>" + QObject::tr("Business Fax: ") + "</b>"
545 + Qtopia::escapeString(str) + "<br>";
546 str = businessMobile();
547 if ( !str.isEmpty() )
548 text += "<b>" + QObject::tr("Business Mobile: ") + "</b>"
549 + Qtopia::escapeString(str) + "<br>";
550 str = businessPager();
551 if ( !str.isEmpty() )
552 text += "<b>" + QObject::tr("Business Pager: ") + "</b>"
553 + Qtopia::escapeString(str) + "<br>"; 584 + Qtopia::escapeString(str) + "<br>";
554 str = profession(); 585 str = profession();
555 if ( !str.isEmpty() ) 586 if ( !str.isEmpty() )
556 text += "<b>" + QObject::tr("Profession: ") + "</b>" 587 text += "<b>" + QObject::tr("Profession: ") + "</b>"
557 + Qtopia::escapeString(str) + "<br>"; 588 + Qtopia::escapeString(str) + "<br>";
558 str = assistant(); 589 str = assistant();
559 if ( !str.isEmpty() ) 590 if ( !str.isEmpty() )
560 text += "<b>" + QObject::tr("Assistant: ") + "</b>" 591 text += "<b>" + QObject::tr("Assistant: ") + "</b>"
561 + Qtopia::escapeString(str) + "<br>"; 592 + Qtopia::escapeString(str) + "<br>";
562 str = manager(); 593 str = manager();
563 if ( !str.isEmpty() ) 594 if ( !str.isEmpty() )
564 text += "<b>" + QObject::tr("Manager: ") + "</b>" 595 text += "<b>" + QObject::tr("Manager: ") + "</b>"
565 + Qtopia::escapeString(str) + "<br>"; 596 + Qtopia::escapeString(str) + "<br>";
566 str = gender(); 597 str = gender();
567 if ( !str.isEmpty() && str.toInt() != 0 ) { 598 if ( !str.isEmpty() && str.toInt() != 0 ) {
568 if ( str.toInt() == 1 ) 599 if ( str.toInt() == 1 )
569 str = QObject::tr( "Male" ); 600 str = QObject::tr( "Male" );
570 else if ( str.toInt() == 2 ) 601 else if ( str.toInt() == 2 )
571 str = QObject::tr( "Female" ); 602 str = QObject::tr( "Female" );
572 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>"; 603 text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>";
573 } 604 }
574 str = spouse(); 605 str = spouse();
575 if ( !str.isEmpty() ) 606 if ( !str.isEmpty() )
576 text += "<b>" + QObject::tr("Spouse: ") + "</b>" 607 text += "<b>" + QObject::tr("Spouse: ") + "</b>"
577 + Qtopia::escapeString(str) + "<br>"; 608 + Qtopia::escapeString(str) + "<br>";
578 if ( birthday().isValid() ){ 609 if ( birthday().isValid() ){
579 str = TimeString::numberDateString( birthday() ); 610 str = TimeString::numberDateString( birthday() );
580 text += "<b>" + QObject::tr("Birthday: ") + "</b>" 611 text += "<b>" + QObject::tr("Birthday: ") + "</b>"
581 + Qtopia::escapeString(str) + "<br>"; 612 + Qtopia::escapeString(str) + "<br>";
582 } 613 }
583 if ( anniversary().isValid() ){ 614 if ( anniversary().isValid() ){
584 str = TimeString::numberDateString( anniversary() ); 615 str = TimeString::numberDateString( anniversary() );
585 text += "<b>" + QObject::tr("Anniversary: ") + "</b>" 616 text += "<b>" + QObject::tr("Anniversary: ") + "</b>"
586 + Qtopia::escapeString(str) + "<br>"; 617 + Qtopia::escapeString(str) + "<br>";
587 } 618 }
588 str = children(); 619 str = children();
589 if ( !str.isEmpty() ) 620 if ( !str.isEmpty() )
590 text += "<b>" + QObject::tr("Children: ") + "</b>" 621 text += "<b>" + QObject::tr("Children: ") + "</b>"
591 + Qtopia::escapeString(str) + "<br>"; 622 + Qtopia::escapeString(str) + "<br>";
592 623
593 str = nickname(); 624 str = nickname();
594 if ( !str.isEmpty() ) 625 if ( !str.isEmpty() )
595 text += "<b>" + QObject::tr("Nickname: ") + "</b>" 626 text += "<b>" + QObject::tr("Nickname: ") + "</b>"
596 + Qtopia::escapeString(str) + "<br>"; 627 + Qtopia::escapeString(str) + "<br>";
597 628
598 if ( categoryNames().count() ){ 629 if ( categoryNames().count() ){
599 text += "<b>" + QObject::tr( "Category:") + "</b> "; 630 text += "<b>" + QObject::tr( "Category:") + "</b> ";
600 text += categoryNames().join(", "); 631 text += categoryNames().join(", ");
601 text += "<br>"; 632 text += "<br>";
602 } 633 }
603 634
604 // notes last 635 // notes last
605 if ( (value = notes()) ) { 636 if ( (value = notes()) ) {
606 QRegExp reg("\n"); 637 text += "<br><hr><b>" + QObject::tr( "Notes:") + "</b> ";
638 QRegExp reg("\n");
607 639
608 //QString tmp = Qtopia::escapeString(value); 640 //QString tmp = Qtopia::escapeString(value);
609 QString tmp = QStyleSheet::convertFromPlainText(value); 641 QString tmp = QStyleSheet::convertFromPlainText(value);
610 //tmp.replace( reg, "<br>" ); 642 //tmp.replace( reg, "<br>" );
611 text += "<br>" + tmp + "<br>"; 643 text += "<br>" + tmp + "<br>";
612 } 644 }
613 return text; 645 return text;
614} 646}
615 647
616/*! 648/*!
617 \internal 649 \internal
618*/ 650*/
619void OContact::insert( int key, const QString &v ) 651void OContact::insert( int key, const QString &v )
620{ 652{
621 QString value = v.stripWhiteSpace(); 653 QString value = v.stripWhiteSpace();
622 if ( value.isEmpty() ) 654 if ( value.isEmpty() )
623 mMap.remove( key ); 655 mMap.remove( key );
624 else 656 else
625 mMap.insert( key, value ); 657 mMap.insert( key, value );
626} 658}
627 659
628/*! 660/*!
629 \internal 661 \internal
630*/ 662*/
631void OContact::replace( int key, const QString & v ) 663void OContact::replace( int key, const QString & v )
632{ 664{
633 QString value = v.stripWhiteSpace(); 665 QString value = v.stripWhiteSpace();
634 if ( value.isEmpty() ) 666 if ( value.isEmpty() )
635 mMap.remove( key ); 667 mMap.remove( key );
636 else 668 else
637 mMap.replace( key, value ); 669 mMap.replace( key, value );
638} 670}
639 671
640/*! 672/*!
641 \internal 673 \internal
642*/ 674*/
643QString OContact::find( int key ) const 675QString OContact::find( int key ) const
644{ 676{
645 return mMap[key]; 677 return mMap[key];
646} 678}
647 679
648/*! 680/*!
649 \internal 681 \internal
650*/ 682*/
651QString OContact::displayAddress( const QString &street, 683QString OContact::displayAddress( const QString &street,
652 const QString &city, 684 const QString &city,
653 const QString &state, 685 const QString &state,
654 const QString &zip, 686 const QString &zip,
655 const QString &country ) const 687 const QString &country ) const
656{ 688{
657 QString s = street; 689 QString s = street;
658 if ( !street.isEmpty() ) 690 if ( !street.isEmpty() )
659 s+= "\n"; 691 s+= "\n";
660 s += city; 692 s += city;
661 if ( !city.isEmpty() && !state.isEmpty() ) 693 if ( !city.isEmpty() && !state.isEmpty() )
662 s += ", "; 694 s += ", ";
663 s += state; 695 s += state;
664 if ( !state.isEmpty() && !zip.isEmpty() ) 696 if ( !state.isEmpty() && !zip.isEmpty() )
665 s += " "; 697 s += " ";
666 s += zip; 698 s += zip;
667 if ( !country.isEmpty() && !s.isEmpty() ) 699 if ( !country.isEmpty() && !s.isEmpty() )
668 s += "\n"; 700 s += "\n";
669 s += country; 701 s += country;
670 return s; 702 return s;
671} 703}
672 704
673/*! 705/*!
674 \internal 706 \internal
675*/ 707*/