person.cpp
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 }
This file is part of the documentation for libkcal Library Version 3.2.2.