KCalCore Library
Go to the documentation of this file.
56 #ifndef KCALCORE_INCIDENCEBASE_H
57 #define KCALCORE_INCIDENCEBASE_H
64 #include <KDE/KDateTime>
66 #include <QtCore/QSet>
67 #include <QtCore/QUrl>
68 #include <QDataStream>
115 typedef QSharedPointer<IncidenceBase>
Ptr;
134 RoleAlarmStartOffset = 0,
140 RoleEndRecurrenceBase,
214 virtual void incidenceUpdate(
const QString &uid,
const KDateTime &recurrenceId) = 0;
222 virtual void incidenceUpdated(
const QString &uid,
const KDateTime &recurrenceId) = 0;
289 virtual QByteArray typeStr()
const = 0;
296 void setUid(
const QString &uid);
317 virtual void setLastModified(
const KDateTime &lm);
323 KDateTime lastModified()
const;
339 void setOrganizer(
const QString &organizer);
356 virtual void setReadOnly(
bool readOnly);
362 bool isReadOnly()
const;
372 virtual void setDtStart(
const KDateTime &dtStart);
378 virtual KDateTime dtStart()
const;
387 virtual void setDuration(
const Duration &duration);
400 void setHasDuration(
bool hasDuration);
406 bool hasDuration()
const;
423 void setAllDay(
bool allDay);
439 virtual void shiftTimes(
const KDateTime::Spec &oldSpec,
440 const KDateTime::Spec &newSpec);
449 void addComment(
const QString &comment);
459 bool removeComment(
const QString &comment);
464 void clearComments();
469 QStringList comments()
const;
478 void addContact(
const QString &contact);
488 bool removeContact(
const QString &contact);
493 void clearContacts();
498 QStringList contacts()
const;
508 bool doUpdate =
true);
513 void clearAttendees();
524 bool doUpdate =
true);
535 int attendeeCount()
const;
557 const QString &email = QString())
const;
577 void setUrl(
const QUrl &url);
636 virtual KDateTime dateTime(
DateTimeRole role)
const = 0;
643 virtual void setDateTime(
const KDateTime &dateTime,
DateTimeRole role) = 0;
649 virtual QLatin1String mimeType()
const = 0;
656 virtual KDateTime recurrenceId()
const;
664 QSet<IncidenceBase::Field> dirtyFields()
const;
671 void setDirtyFields(
const QSet<IncidenceBase::Field> &);
677 void resetDirtyFields();
684 static quint32 magicSerializationIdentifier();
699 virtual void customPropertyUpdate();
705 virtual void customPropertyUpdated();
720 virtual bool equals(
const IncidenceBase &incidenceBase)
const;
736 virtual void virtual_hook(
int id,
void *data) = 0;
754 friend KCALCORE_EXPORT QDataStream &
operator<<(QDataStream &stream,
757 friend KCALCORE_EXPORT QDataStream &
operator>>(QDataStream &stream,
@ TypeTodo
Type is a to-do.
@ FieldGeoLatitude
Field representing the PRIORITY component.
Provides a To-do in the sense of RFC2445.
@ FieldAttachment
Field representing the EXDATE, EXRULE, RDATE, and RRULE components.
@ FieldSummary
Field representing the DESCRIPTION component.
QSharedPointer< Attendee > Ptr
A shared pointer to an Attendee object.
@ RoleSort
Role for an incidence's date/time used when sorting.
@ FieldCreated
Field representing the ORGANIZER component.
@ FieldRelatedTo
Field representing the CATEGORIES component.
SortableList< QDate > DateList
List of dates.
QSharedPointer< IncidenceBase > Ptr
A shared pointer to an IncidenceBase.
@ RoleStartTimeZone
Role for determining an incidence's starting timezone.
@ TypeJournal
Type is a journal.
@ FieldDuration
Field representing the SEQUENCE component.
A class to manage custom calendar properties.
@ FieldCategories
Field representing the DUE component.
@ FieldContact
Field representing the DURATION component.
QSharedPointer< Person > Ptr
A shared pointer to a Person object.
This class provides the interface for a visitor of calendar components.
DateTimeRole
The different types of incidence date/times roles.
Represents a span of time measured in seconds or days.
@ FieldRevision
Field representing the CREATED component.
Provides information about the free/busy time of a calendar.
@ RoleAlarmEndOffset
Role for an incidence alarm's ending offset date/time.
Provides a Journal in the sense of RFC2445.
KCALCORE_EXPORT QDataStream & operator>>(QDataStream &in, const KCalCore::Alarm::Ptr &)
Alarm deserializer.
An abstract class that provides a common base for all calendar incidence classes.
@ FieldAttendees
Field representing the X-KDE-LIBKCAL-ID component.
This class provides an Event in the sense of RFC2445.
@ FieldLocation
Field representing the SUMMARY component.
@ FieldAlarms
Field representing the RECURRENCE-ID component.
@ FieldOrganizer
Field representing the ATTENDEE component.
@ FieldGeoLongitude
Field representing the latitude part of the GEO component.
SortableList< KDateTime > DateTimeList
List of times.
@ FieldSchedulingId
Field representing the VALARM component.
@ RoleCalendarHashing
Role for looking up an incidence in a Calendar.
@ FieldPriority
Field representing the RESOURCES component.
IncidenceType
The different types of incidences, per RFC2445.
@ FieldRecurrence
Field representing the RELATED-TO component.
@ FieldUid
Field representing the COMMENT component.
@ FieldRecurrenceId
Field representing the longitude part of the GEO component.
@ FieldUnknown
Field representing the UID component.
@ FieldCompleted
Field representing the LOCATION component.
@ RoleEndTimeZone
Role for determining an incidence's ending timezone.
The IncidenceObserver class.
bool mReadOnly
Identifies a read-only incidence.
@ FieldDtEnd
Field representing the DTSTART component.
@ FieldPercentComplete
Field representing the COMPLETED component.
@ FieldDtDue
Field representing the PERCENT-COMPLETE component.
@ FieldStatus
Field representing the CLASS component.
@ FieldComment
Field representing the CONTACT component.
@ FieldResources
Field representing the TRANSPARENCY component.
@ FieldDescription
Field representing the LAST-MODIFIED component.
A QList which can be sorted.
Field
The different types of incidence fields.
QVector< Ptr > List
List of attendees.
@ FieldTransparency
Field representing the STATUS component.
@ FieldSecrecy
Field representing the ATTACH component.
@ TypeFreeBusy
Type is a free/busy.
@ FieldLastModified
Field representing the DTEND component.
KCALCORE_EXPORT QDataStream & operator<<(QDataStream &out, const KCalCore::Alarm::Ptr &)
Alarm serializer.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed Jan 29 2020 00:00:00 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.