rem: tmpString += eventViewerAddLink( "mailto:" + person.fullName(),
add: KURL mailto; mailto.setProtocol( "mailto" ); mailto.setPath( person.fullName() ); tmpString += eventViewerAddLink( mailto.url(),
context: static QString linkPerson( const QString& email, QString name,                           QString uid, const QString& iconPath ){  // Make the search, if there is an email address to search on,  // and either name or uid is missing  if ( !email.isEmpty() && ( name.isEmpty() || uid.isEmpty() ) ) {    KABC::AddressBook *add_book = KABC::StdAddressBook::self();    KABC::Addressee::List addressList = add_book->findByEmail( email );    KABC::Addressee o = addressList.first();    if ( !o.isEmpty() && addressList.size() < 2 ) {      if ( name.isEmpty() )        // No name set, so use the one from the addressbook        name = o.formattedName();      uid = o.uid();    } else      // Email not found in the addressbook. Don't make a link      uid = "";  }  kdDebug(5850) << "formatAttendees: uid = " << uid << endl;  // Show the attendee  QString tmpString = "<li>";  if ( !uid.isEmpty() ) {    // There is a UID, so make a link to the addressbook    if ( name.isEmpty() )      // Use the email address for text      tmpString += eventViewerAddLink( "uid:" + uid, email );    else      tmpString += eventViewerAddLink( "uid:" + uid, name );  } else {    // No UID, just show some text    tmpString += ( name.isEmpty() ? email : name );  }  tmpString += '\n';  // Make the mailto link  if ( !email.isEmpty() && !iconPath.isNull() ) {    KCal::Person person( name, email );    tmpString += eventViewerAddLink( "mailto:" + person.fullName(),		"<img src=\"" + iconPath + "\">" );  }  tmpString += "</li>\n";  return tmpString;}