File indexing completed on 2024-04-21 03:52:50
0001 /* 0002 This file is part of the kcalcore library. 0003 0004 SPDX-FileCopyrightText: 2001-2003 Cornelius Schumacher <schumacher@kde.org> 0005 SPDX-FileCopyrightText: 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com> 0006 0007 SPDX-License-Identifier: LGPL-2.0-or-later 0008 */ 0009 0010 #ifndef KCALCORE_INCIDENCE_P_H 0011 #define KCALCORE_INCIDENCE_P_H 0012 0013 #include "incidence.h" // For Incidence::RelType, etc. 0014 #include "incidencebase_p.h" 0015 0016 namespace KCalendarCore 0017 { 0018 0019 //@cond PRIVATE 0020 /** 0021 Private class that helps to provide binary compatibility between releases. 0022 @internal 0023 */ 0024 0025 class Incidence; 0026 0027 class IncidencePrivate : public KCalendarCore::IncidenceBasePrivate 0028 { 0029 public: 0030 IncidencePrivate(); 0031 IncidencePrivate(const IncidencePrivate &p); 0032 explicit IncidencePrivate(const Incidence &); 0033 void clear(); 0034 void init(Incidence *q, const IncidencePrivate &other); 0035 0036 virtual bool validStatus(Incidence::Status); 0037 0038 QDateTime mCreated; // creation datetime 0039 QString mDescription; // description string 0040 QString mSummary; // summary string 0041 QString mLocation; // location string 0042 QStringList mCategories; // category list 0043 Attachment::List mAttachments; // attachments list 0044 Alarm::List mAlarms; // alarms list 0045 QStringList mResources; // resources list (not calendar resources) 0046 QString mStatusString; // status string, for custom status 0047 QString mSchedulingID; // ID for scheduling mails 0048 QMap<Incidence::RelType, QString> mRelatedToUid; // incidence uid this is related to, for each relType 0049 QDateTime mRecurrenceId; // recurrenceId 0050 Conference::List mConferences; // conference list 0051 0052 float mGeoLatitude = INVALID_LATLON; // Specifies latitude in decimal degrees 0053 float mGeoLongitude = INVALID_LATLON; // Specifies longitude in decimal degrees 0054 mutable Recurrence *mRecurrence = nullptr; // recurrence 0055 int mRevision = 0; // revision number 0056 int mPriority = 0; // priority: 0 = unknown, 1 = highest, ... 9 = lowest. 0057 Incidence::Status mStatus = Incidence::StatusNone; // status 0058 Incidence::Secrecy mSecrecy = Incidence::SecrecyPublic; // secrecy 0059 QString mColor; // background color 0060 bool mDescriptionIsRich = false; // description string is richtext. 0061 bool mSummaryIsRich = false; // summary string is richtext. 0062 bool mLocationIsRich = false; // location string is richtext. 0063 bool mThisAndFuture = false; 0064 bool mLocalOnly = false; // allow changes that won't go to the server 0065 }; 0066 //@endcond 0067 0068 } 0069 0070 #endif