diff options
Diffstat (limited to 'libkcal/attendee.cpp')
-rw-r--r-- | libkcal/attendee.cpp | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/libkcal/attendee.cpp b/libkcal/attendee.cpp new file mode 100644 index 000000000..7594c8eb3 --- /dev/null +++ b/libkcal/attendee.cpp @@ -0,0 +1,167 @@ +/* + This file is part of libkcal. + + Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include <qstringlist.h> + +#include <kdebug.h> +#include <klocale.h> + +#include "attendee.h" + +using namespace KCal; + +Attendee::Attendee( const QString &name, const QString &email, bool _rsvp, + Attendee::PartStat s, Attendee::Role r, const QString &u) + : Person( name, email ) +{ + mRSVP = _rsvp; + mStatus = s; + mRole = r; + mUid = u; +} + +Attendee::~Attendee() +{ +} + +bool KCal::operator==( const Attendee& a1, const Attendee& a2 ) +{ + return ( operator==( (const Person&)a1, (const Person&) a2 ) && + a1.RSVP() == a2.RSVP() && + a1.role() == a2.role() && + a1.status() == a2.status() && + a1.uid() == a2.uid() && + a1.delegate() == a2.delegate() && + a1.delegator() == a2.delegator() ); +} + +void Attendee::setStatus( Attendee::PartStat s ) +{ + mStatus = s; +} + +Attendee::PartStat Attendee::status() const +{ + return mStatus; +} + +QString Attendee::statusStr() const +{ + return statusName( mStatus ); +} + +QString Attendee::statusName( Attendee::PartStat s ) +{ + switch ( s ) { + default: + case NeedsAction: + return i18n("Needs Action"); + break; + case Accepted: + return i18n("Accepted"); + break; + case Declined: + return i18n("Declined"); + break; + case Tentative: + return i18n("attendee status", "Tentative"); + break; + case Delegated: + return i18n("Delegated"); + break; + case Completed: + return i18n("Completed"); + break; + case InProcess: + return i18n("In Process"); + break; + } +} + +QStringList Attendee::statusList() +{ + QStringList list; + list << statusName( NeedsAction ); + list << statusName( Accepted ); + list << statusName( Declined ); + list << statusName( Tentative ); + list << statusName( Delegated ); + list << statusName( Completed ); + list << statusName( InProcess ); + + return list; +} + + +void Attendee::setRole( Attendee::Role r ) +{ + mRole = r; +} + +Attendee::Role Attendee::role() const +{ + return mRole; +} + +QString Attendee::roleStr() const +{ + return roleName( mRole ); +} + +void Attendee::setUid( const QString &uid ) +{ + mUid = uid; +} + +QString Attendee::uid() const +{ + return mUid; +} + +QString Attendee::roleName( Attendee::Role r ) +{ + switch ( r ) { + case Chair: + return i18n("Chair"); + break; + default: + case ReqParticipant: + return i18n("Participant"); + break; + case OptParticipant: + return i18n("Optional Participant"); + break; + case NonParticipant: + return i18n("Observer"); + break; + } +} + +QStringList Attendee::roleList() +{ + QStringList list; + list << roleName( ReqParticipant ); + list << roleName( OptParticipant ); + list << roleName( NonParticipant ); + list << roleName( Chair ); + + return list; +} |