00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#include <kdebug.h>
00022
#include <klocale.h>
00023
00024
#include "person.h"
00025
00026
using namespace KCal;
00027
00028 Person::Person(
const QString &fullName )
00029 {
00030
int emailPos = fullName.find(
'<' );
00031
if ( emailPos < 0 ) {
00032 setEmail(fullName);
00033 }
else {
00034 setEmail(fullName.mid( emailPos + 1, fullName.length() - 1 ));
00035 setName(fullName.left( emailPos - 2 ));
00036 }
00037 }
00038
00039 Person::Person(
const QString &name,
const QString &email )
00040 {
00041 setName(name);
00042 setEmail(email);
00043 }
00044
00045
00046
bool KCal::operator==(
const Person& p1,
const Person& p2 )
00047 {
00048
return ( p1.
name() == p2.
name() &&
00049 p1.
email() == p2.
email() );
00050 }
00051
00052
00053 QString Person::fullName()
const
00054
{
00055
if( mName.isEmpty() ) {
00056
return mEmail;
00057 }
else {
00058
if( mEmail.isEmpty() )
00059
return mName;
00060
else
00061
return mName +
" <" + mEmail +
">";
00062 }
00063 }
00064
00065
void Person::setName(
const QString &name)
00066 {
00067 mName = name;
00068 }
00069
00070
void Person::setEmail(
const QString &email)
00071 {
00072
if (email.left(7).lower() ==
"mailto:") {
00073 mEmail = email.mid(7);
00074 }
else {
00075 mEmail = email;
00076 }
00077 }