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
@@ -249,515 +249,519 @@ OContact::~OContact()
249/*! \fn QString OContact::lastName() const 249/*! \fn QString OContact::lastName() const
250 Returns the last name of the contact. 250 Returns the last name of the contact.
251*/ 251*/
252 252
253/*! \fn QString OContact::suffix() const 253/*! \fn QString OContact::suffix() const
254 Returns the suffix of the contact. 254 Returns the suffix of the contact.
255*/ 255*/
256 256
257/*! \fn QString OContact::fileAs() const 257/*! \fn QString OContact::fileAs() const
258 Returns the string the contact is filed as. 258 Returns the string the contact is filed as.
259*/ 259*/
260 260
261/*! \fn QString OContact::defaultEmail() const 261/*! \fn QString OContact::defaultEmail() const
262 Returns the default email address of the contact. 262 Returns the default email address of the contact.
263*/ 263*/
264 264
265/*! \fn QString OContact::emails() const 265/*! \fn QString OContact::emails() const
266 Returns the list of email address for a contact separated by ';'s in a single 266 Returns the list of email address for a contact separated by ';'s in a single
267 string. 267 string.
268*/ 268*/
269 269
270/*! \fn QString OContact::homeStreet() const 270/*! \fn QString OContact::homeStreet() const
271 Returns the home street address of the contact. 271 Returns the home street address of the contact.
272*/ 272*/
273 273
274/*! \fn QString OContact::homeCity() const 274/*! \fn QString OContact::homeCity() const
275 Returns the home city of the contact. 275 Returns the home city of the contact.
276*/ 276*/
277 277
278/*! \fn QString OContact::homeState() const 278/*! \fn QString OContact::homeState() const
279 Returns the home state of the contact. 279 Returns the home state of the contact.
280*/ 280*/
281 281
282/*! \fn QString OContact::homeZip() const 282/*! \fn QString OContact::homeZip() const
283 Returns the home zip of the contact. 283 Returns the home zip of the contact.
284*/ 284*/
285 285
286/*! \fn QString OContact::homeCountry() const 286/*! \fn QString OContact::homeCountry() const
287 Returns the home country of the contact. 287 Returns the home country of the contact.
288*/ 288*/
289 289
290/*! \fn QString OContact::homePhone() const 290/*! \fn QString OContact::homePhone() const
291 Returns the home phone number of the contact. 291 Returns the home phone number of the contact.
292*/ 292*/
293 293
294/*! \fn QString OContact::homeFax() const 294/*! \fn QString OContact::homeFax() const
295 Returns the home fax number of the contact. 295 Returns the home fax number of the contact.
296*/ 296*/
297 297
298/*! \fn QString OContact::homeMobile() const 298/*! \fn QString OContact::homeMobile() const
299 Returns the home mobile number of the contact. 299 Returns the home mobile number of the contact.
300*/ 300*/
301 301
302/*! \fn QString OContact::homeWebpage() const 302/*! \fn QString OContact::homeWebpage() const
303 Returns the home webpage of the contact. 303 Returns the home webpage of the contact.
304*/ 304*/
305 305
306/*! \fn QString OContact::company() const 306/*! \fn QString OContact::company() const
307 Returns the company for the contact. 307 Returns the company for the contact.
308*/ 308*/
309 309
310/*! \fn QString OContact::department() const 310/*! \fn QString OContact::department() const
311 Returns the department for the contact. 311 Returns the department for the contact.
312*/ 312*/
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 }
700 if ( !middleName.isEmpty() ) { 704 if ( !middleName.isEmpty() ) {
701 if ( !name.isEmpty() ) 705 if ( !name.isEmpty() )
702 name += " "; 706 name += " ";
703 name += middleName; 707 name += middleName;
704 } 708 }
705 if ( !lastName.isEmpty() ) { 709 if ( !lastName.isEmpty() ) {
706 if ( !name.isEmpty() ) 710 if ( !name.isEmpty() )
707 name += " "; 711 name += " ";
708 name += lastName; 712 name += lastName;
709 } 713 }
710 if ( !suffix.isEmpty() ) { 714 if ( !suffix.isEmpty() ) {
711 if ( !name.isEmpty() ) 715 if ( !name.isEmpty() )
712 name += " "; 716 name += " ";
713 name += suffix; 717 name += suffix;
714 } 718 }
715 return name.simplifyWhiteSpace(); 719 return name.simplifyWhiteSpace();
716} 720}
717 721
718/*! 722/*!
719 Returns a list of the names of the children of the contact. 723 Returns a list of the names of the children of the contact.
720*/ 724*/
721QStringList OContact::childrenList() const 725QStringList OContact::childrenList() const
722{ 726{
723 return QStringList::split( " ", find( Qtopia::Children ) ); 727 return QStringList::split( " ", find( Qtopia::Children ) );
724} 728}
725 729
726/*! \fn void OContact::insertEmail( const QString &email ) 730/*! \fn void OContact::insertEmail( const QString &email )
727 731
728 Insert \a email into the email list. Ensures \a email can only be added 732 Insert \a email into the email list. Ensures \a email can only be added
729 once. If there is no default email address set, it sets it to the \a email. 733 once. If there is no default email address set, it sets it to the \a email.
730*/ 734*/
731 735
732/*! \fn void OContact::removeEmail( const QString &email ) 736/*! \fn void OContact::removeEmail( const QString &email )
733 737
734 Removes the \a email from the email list. If the default email was \a email, 738 Removes the \a email from the email list. If the default email was \a email,
735 then the default email address is assigned to the first email in the 739 then the default email address is assigned to the first email in the
736 email list 740 email list
737*/ 741*/
738 742
739/*! \fn void OContact::clearEmails() 743/*! \fn void OContact::clearEmails()
740 744
741 Clears the email list. 745 Clears the email list.
742 */ 746 */
743 747
744/*! \fn void OContact::insertEmails( const QStringList &emailList ) 748/*! \fn void OContact::insertEmails( const QStringList &emailList )
745 749
746 Appends the \a emailList to the exiting email list 750 Appends the \a emailList to the exiting email list
747 */ 751 */
748 752
749/*! 753/*!
750 Returns a list of email addresses belonging to the contact, including 754 Returns a list of email addresses belonging to the contact, including
751 the default email address. 755 the default email address.
752*/ 756*/
753QStringList OContact::emailList() const 757QStringList OContact::emailList() const
754{ 758{
755 QString emailStr = emails(); 759 QString emailStr = emails();
756 760
757 QStringList r; 761 QStringList r;
758 if ( !emailStr.isEmpty() ) { 762 if ( !emailStr.isEmpty() ) {
759 qDebug(" emailstr "); 763 qDebug(" emailstr ");
760 QStringList l = QStringList::split( emailSeparator(), emailStr ); 764 QStringList l = QStringList::split( emailSeparator(), emailStr );
761 for ( QStringList::ConstIterator it = l.begin();it != l.end();++it ) 765 for ( QStringList::ConstIterator it = l.begin();it != l.end();++it )
762 r += (*it).simplifyWhiteSpace(); 766 r += (*it).simplifyWhiteSpace();
763 } 767 }
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
@@ -249,515 +249,519 @@ OContact::~OContact()
249/*! \fn QString OContact::lastName() const 249/*! \fn QString OContact::lastName() const
250 Returns the last name of the contact. 250 Returns the last name of the contact.
251*/ 251*/
252 252
253/*! \fn QString OContact::suffix() const 253/*! \fn QString OContact::suffix() const
254 Returns the suffix of the contact. 254 Returns the suffix of the contact.
255*/ 255*/
256 256
257/*! \fn QString OContact::fileAs() const 257/*! \fn QString OContact::fileAs() const
258 Returns the string the contact is filed as. 258 Returns the string the contact is filed as.
259*/ 259*/
260 260
261/*! \fn QString OContact::defaultEmail() const 261/*! \fn QString OContact::defaultEmail() const
262 Returns the default email address of the contact. 262 Returns the default email address of the contact.
263*/ 263*/
264 264
265/*! \fn QString OContact::emails() const 265/*! \fn QString OContact::emails() const
266 Returns the list of email address for a contact separated by ';'s in a single 266 Returns the list of email address for a contact separated by ';'s in a single
267 string. 267 string.
268*/ 268*/
269 269
270/*! \fn QString OContact::homeStreet() const 270/*! \fn QString OContact::homeStreet() const
271 Returns the home street address of the contact. 271 Returns the home street address of the contact.
272*/ 272*/
273 273
274/*! \fn QString OContact::homeCity() const 274/*! \fn QString OContact::homeCity() const
275 Returns the home city of the contact. 275 Returns the home city of the contact.
276*/ 276*/
277 277
278/*! \fn QString OContact::homeState() const 278/*! \fn QString OContact::homeState() const
279 Returns the home state of the contact. 279 Returns the home state of the contact.
280*/ 280*/
281 281
282/*! \fn QString OContact::homeZip() const 282/*! \fn QString OContact::homeZip() const
283 Returns the home zip of the contact. 283 Returns the home zip of the contact.
284*/ 284*/
285 285
286/*! \fn QString OContact::homeCountry() const 286/*! \fn QString OContact::homeCountry() const
287 Returns the home country of the contact. 287 Returns the home country of the contact.
288*/ 288*/
289 289
290/*! \fn QString OContact::homePhone() const 290/*! \fn QString OContact::homePhone() const
291 Returns the home phone number of the contact. 291 Returns the home phone number of the contact.
292*/ 292*/
293 293
294/*! \fn QString OContact::homeFax() const 294/*! \fn QString OContact::homeFax() const
295 Returns the home fax number of the contact. 295 Returns the home fax number of the contact.
296*/ 296*/
297 297
298/*! \fn QString OContact::homeMobile() const 298/*! \fn QString OContact::homeMobile() const
299 Returns the home mobile number of the contact. 299 Returns the home mobile number of the contact.
300*/ 300*/
301 301
302/*! \fn QString OContact::homeWebpage() const 302/*! \fn QString OContact::homeWebpage() const
303 Returns the home webpage of the contact. 303 Returns the home webpage of the contact.
304*/ 304*/
305 305
306/*! \fn QString OContact::company() const 306/*! \fn QString OContact::company() const
307 Returns the company for the contact. 307 Returns the company for the contact.
308*/ 308*/
309 309
310/*! \fn QString OContact::department() const 310/*! \fn QString OContact::department() const
311 Returns the department for the contact. 311 Returns the department for the contact.
312*/ 312*/
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 }
700 if ( !middleName.isEmpty() ) { 704 if ( !middleName.isEmpty() ) {
701 if ( !name.isEmpty() ) 705 if ( !name.isEmpty() )
702 name += " "; 706 name += " ";
703 name += middleName; 707 name += middleName;
704 } 708 }
705 if ( !lastName.isEmpty() ) { 709 if ( !lastName.isEmpty() ) {
706 if ( !name.isEmpty() ) 710 if ( !name.isEmpty() )
707 name += " "; 711 name += " ";
708 name += lastName; 712 name += lastName;
709 } 713 }
710 if ( !suffix.isEmpty() ) { 714 if ( !suffix.isEmpty() ) {
711 if ( !name.isEmpty() ) 715 if ( !name.isEmpty() )
712 name += " "; 716 name += " ";
713 name += suffix; 717 name += suffix;
714 } 718 }
715 return name.simplifyWhiteSpace(); 719 return name.simplifyWhiteSpace();
716} 720}
717 721
718/*! 722/*!
719 Returns a list of the names of the children of the contact. 723 Returns a list of the names of the children of the contact.
720*/ 724*/
721QStringList OContact::childrenList() const 725QStringList OContact::childrenList() const
722{ 726{
723 return QStringList::split( " ", find( Qtopia::Children ) ); 727 return QStringList::split( " ", find( Qtopia::Children ) );
724} 728}
725 729
726/*! \fn void OContact::insertEmail( const QString &email ) 730/*! \fn void OContact::insertEmail( const QString &email )
727 731
728 Insert \a email into the email list. Ensures \a email can only be added 732 Insert \a email into the email list. Ensures \a email can only be added
729 once. If there is no default email address set, it sets it to the \a email. 733 once. If there is no default email address set, it sets it to the \a email.
730*/ 734*/
731 735
732/*! \fn void OContact::removeEmail( const QString &email ) 736/*! \fn void OContact::removeEmail( const QString &email )
733 737
734 Removes the \a email from the email list. If the default email was \a email, 738 Removes the \a email from the email list. If the default email was \a email,
735 then the default email address is assigned to the first email in the 739 then the default email address is assigned to the first email in the
736 email list 740 email list
737*/ 741*/
738 742
739/*! \fn void OContact::clearEmails() 743/*! \fn void OContact::clearEmails()
740 744
741 Clears the email list. 745 Clears the email list.
742 */ 746 */
743 747
744/*! \fn void OContact::insertEmails( const QStringList &emailList ) 748/*! \fn void OContact::insertEmails( const QStringList &emailList )
745 749
746 Appends the \a emailList to the exiting email list 750 Appends the \a emailList to the exiting email list
747 */ 751 */
748 752
749/*! 753/*!
750 Returns a list of email addresses belonging to the contact, including 754 Returns a list of email addresses belonging to the contact, including
751 the default email address. 755 the default email address.
752*/ 756*/
753QStringList OContact::emailList() const 757QStringList OContact::emailList() const
754{ 758{
755 QString emailStr = emails(); 759 QString emailStr = emails();
756 760
757 QStringList r; 761 QStringList r;
758 if ( !emailStr.isEmpty() ) { 762 if ( !emailStr.isEmpty() ) {
759 qDebug(" emailstr "); 763 qDebug(" emailstr ");
760 QStringList l = QStringList::split( emailSeparator(), emailStr ); 764 QStringList l = QStringList::split( emailSeparator(), emailStr );
761 for ( QStringList::ConstIterator it = l.begin();it != l.end();++it ) 765 for ( QStringList::ConstIterator it = l.begin();it != l.end();++it )
762 r += (*it).simplifyWhiteSpace(); 766 r += (*it).simplifyWhiteSpace();
763 } 767 }