-rw-r--r-- | libkcal/incidencebase.cpp | 13 | ||||
-rw-r--r-- | libkcal/incidencebase.h | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/libkcal/incidencebase.cpp b/libkcal/incidencebase.cpp index 9aa517c..7525a4a 100644 --- a/libkcal/incidencebase.cpp +++ b/libkcal/incidencebase.cpp @@ -214,12 +214,21 @@ void IncidenceBase::setFloats(bool f) -void IncidenceBase::addAttendee(Attendee *a, bool doupdate) +bool IncidenceBase::addAttendee(Attendee *a, bool doupdate) { - if (mReadOnly) return; + if (mReadOnly) return false; if (a->name().left(7).upper() == "MAILTO:") a->setName(a->name().remove(0,7)); + QPtrListIterator<Attendee> qli(mAttendees); + + qli.toFirst(); + while (qli) { + if (*qli.current() == *a) + return false; + ++qli; + } mAttendees.append(a); if (doupdate) updated(); + return true; } diff --git a/libkcal/incidencebase.h b/libkcal/incidencebase.h index e02d03a..f9a6558 100644 --- a/libkcal/incidencebase.h +++ b/libkcal/incidencebase.h @@ -101,5 +101,5 @@ class IncidenceBase : public CustomProperties Attendee object. */ - void addAttendee(Attendee *a, bool doupdate=true ); + bool addAttendee(Attendee *a, bool doupdate=true ); // void removeAttendee(Attendee *a); // void removeAttendee(const char *n); |