-rw-r--r-- | libkcal/incidence.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libkcal/incidence.h b/libkcal/incidence.h index eef9e64..dc49640 100644 --- a/libkcal/incidence.h +++ b/libkcal/incidence.h | |||
@@ -90,235 +90,237 @@ class Incidence : public IncidenceBase | |||
90 | bool visit( Event *e ) { return mResource->addEvent( e ); } | 90 | bool visit( Event *e ) { return mResource->addEvent( e ); } |
91 | bool visit( Todo *t ) { return mResource->addTodo( t ); } | 91 | bool visit( Todo *t ) { return mResource->addTodo( t ); } |
92 | bool visit( Journal *j ) { return mResource->addJournal( j ); } | 92 | bool visit( Journal *j ) { return mResource->addJournal( j ); } |
93 | 93 | ||
94 | private: | 94 | private: |
95 | T *mResource; | 95 | T *mResource; |
96 | }; | 96 | }; |
97 | 97 | ||
98 | /** enumeration for describing an event's secrecy. */ | 98 | /** enumeration for describing an event's secrecy. */ |
99 | enum { SecrecyPublic = 0, SecrecyPrivate = 1, SecrecyConfidential = 2 }; | 99 | enum { SecrecyPublic = 0, SecrecyPrivate = 1, SecrecyConfidential = 2 }; |
100 | typedef ListBase<Incidence> List; | 100 | typedef ListBase<Incidence> List; |
101 | Incidence(); | 101 | Incidence(); |
102 | Incidence(const Incidence &); | 102 | Incidence(const Incidence &); |
103 | ~Incidence(); | 103 | ~Incidence(); |
104 | 104 | ||
105 | /** | 105 | /** |
106 | Accept IncidenceVisitor. A class taking part in the visitor mechanism has to | 106 | Accept IncidenceVisitor. A class taking part in the visitor mechanism has to |
107 | provide this implementation: | 107 | provide this implementation: |
108 | <pre> | 108 | <pre> |
109 | bool accept(Visitor &v) { return v.visit(this); } | 109 | bool accept(Visitor &v) { return v.visit(this); } |
110 | </pre> | 110 | </pre> |
111 | */ | 111 | */ |
112 | virtual bool accept(Visitor &) { return false; } | 112 | virtual bool accept(Visitor &) { return false; } |
113 | 113 | ||
114 | virtual Incidence *clone() = 0; | 114 | virtual Incidence *clone() = 0; |
115 | virtual void cloneRelations( Incidence * ); | 115 | virtual void cloneRelations( Incidence * ); |
116 | void addRelationsToList(QPtrList<Incidence> *rel); | 116 | void addRelationsToList(QPtrList<Incidence> *rel); |
117 | void clearRelations(); | 117 | void clearRelations(); |
118 | virtual QDateTime getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_dt ) const = 0; | 118 | virtual QDateTime getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_dt ) const = 0; |
119 | void setReadOnly( bool ); | 119 | void setReadOnly( bool ); |
120 | 120 | ||
121 | /** | 121 | /** |
122 | Recreate event. The event is made a new unique event, but already stored | 122 | Recreate event. The event is made a new unique event, but already stored |
123 | event information is preserved. Sets uniquie id, creation date, last | 123 | event information is preserved. Sets uniquie id, creation date, last |
124 | modification date and revision number. | 124 | modification date and revision number. |
125 | */ | 125 | */ |
126 | void recreate(); | 126 | void recreate(); |
127 | Incidence* recreateCloneException(QDate); | 127 | Incidence* recreateCloneException(QDate); |
128 | 128 | ||
129 | /** set creation date */ | 129 | /** set creation date */ |
130 | void setCreated(QDateTime); | 130 | void setCreated(QDateTime); |
131 | /** return time and date of creation. */ | 131 | /** return time and date of creation. */ |
132 | QDateTime created() const; | 132 | QDateTime created() const; |
133 | 133 | ||
134 | /** set the number of revisions this event has seen */ | 134 | /** set the number of revisions this event has seen */ |
135 | void setRevision(int rev); | 135 | void setRevision(int rev); |
136 | /** return the number of revisions this event has seen */ | 136 | /** return the number of revisions this event has seen */ |
137 | int revision() const; | 137 | int revision() const; |
138 | 138 | ||
139 | /** Set starting date/time. */ | 139 | /** Set starting date/time. */ |
140 | virtual void setDtStart(const QDateTime &dtStart); | 140 | virtual void setDtStart(const QDateTime &dtStart); |
141 | /** Return the incidence's ending date/time as a QDateTime. */ | 141 | /** Return the incidence's ending date/time as a QDateTime. */ |
142 | virtual QDateTime dtEnd() const { return QDateTime(); } | 142 | virtual QDateTime dtEnd() const { return QDateTime(); } |
143 | 143 | ||
144 | /** sets the event's lengthy description. */ | 144 | /** sets the event's lengthy description. */ |
145 | void setDescription(const QString &description); | 145 | void setDescription(const QString &description); |
146 | /** returns a reference to the event's description. */ | 146 | /** returns a reference to the event's description. */ |
147 | QString description() const; | 147 | QString description() const; |
148 | 148 | ||
149 | /** sets the event's short summary. */ | 149 | /** sets the event's short summary. */ |
150 | void setSummary(const QString &summary); | 150 | void setSummary(const QString &summary); |
151 | /** returns a reference to the event's summary. */ | 151 | /** returns a reference to the event's summary. */ |
152 | QString summary() const; | 152 | QString summary() const; |
153 | 153 | ||
154 | /** set event's applicable categories */ | 154 | /** set event's applicable categories */ |
155 | void setCategories(const QStringList &categories, bool setForRelations = false); | 155 | void setCategories(const QStringList &categories, bool setForRelations = false); |
156 | void addCategories(const QStringList &categories, bool addToRelations = false); | 156 | void addCategories(const QStringList &categories, bool addToRelations = false); |
157 | /** set event's categories based on a comma delimited string */ | 157 | /** set event's categories based on a comma delimited string */ |
158 | void setCategories(const QString &catStr); | 158 | void setCategories(const QString &catStr); |
159 | /** return categories in a list */ | 159 | /** return categories in a list */ |
160 | QStringList categories() const; | 160 | QStringList categories() const; |
161 | QStringList* categoriesP(); | 161 | QStringList* categoriesP(); |
162 | /** return categories as a comma separated string */ | 162 | /** return categories as a comma separated string */ |
163 | QString categoriesStr(); | 163 | QString categoriesStr(); |
164 | QString categoriesStrWithSpace(); | 164 | QString categoriesStrWithSpace(); |
165 | 165 | ||
166 | /** point at some other event to which the event relates. This function should | 166 | /** point at some other event to which the event relates. This function should |
167 | * only be used when constructing a calendar before the related Event | 167 | * only be used when constructing a calendar before the related Event |
168 | * exists. */ | 168 | * exists. */ |
169 | void setRelatedToUid(const QString &); | 169 | void setRelatedToUid(const QString &); |
170 | /** what event does this one relate to? This function should | 170 | /** what event does this one relate to? This function should |
171 | * only be used when constructing a calendar before the related Event | 171 | * only be used when constructing a calendar before the related Event |
172 | * exists. */ | 172 | * exists. */ |
173 | QString relatedToUid() const; | 173 | QString relatedToUid() const; |
174 | /** point at some other event to which the event relates */ | 174 | /** point at some other event to which the event relates */ |
175 | void setRelatedTo(Incidence *relatedTo); | 175 | void setRelatedTo(Incidence *relatedTo); |
176 | /** what event does this one relate to? */ | 176 | /** what event does this one relate to? */ |
177 | Incidence *relatedTo() const; | 177 | Incidence *relatedTo() const; |
178 | /** All events that are related to this event */ | 178 | /** All events that are related to this event */ |
179 | QPtrList<Incidence> relations() const; | 179 | QPtrList<Incidence> relations() const; |
180 | /** Add an event which is related to this event */ | 180 | /** Add an event which is related to this event */ |
181 | void addRelation(Incidence *); | 181 | void addRelation(Incidence *); |
182 | /** Remove event that is related to this event */ | 182 | /** Remove event that is related to this event */ |
183 | void removeRelation(Incidence *); | 183 | void removeRelation(Incidence *); |
184 | 184 | ||
185 | /** returns the list of dates which are exceptions to the recurrence rule */ | 185 | /** returns the list of dates which are exceptions to the recurrence rule */ |
186 | DateList exDates() const; | 186 | DateList exDates() const; |
187 | /** sets the list of dates which are exceptions to the recurrence rule */ | 187 | /** sets the list of dates which are exceptions to the recurrence rule */ |
188 | void setExDates(const DateList &_exDates); | 188 | void setExDates(const DateList &_exDates); |
189 | void setExDates(const char *dates); | 189 | void setExDates(const char *dates); |
190 | /** Add a date to the list of exceptions of the recurrence rule. */ | 190 | /** Add a date to the list of exceptions of the recurrence rule. */ |
191 | void addExDate(const QDate &date); | 191 | void addExDate(const QDate &date); |
192 | 192 | ||
193 | /** returns true if there is an exception for this date in the recurrence | 193 | /** returns true if there is an exception for this date in the recurrence |
194 | rule set, or false otherwise. */ | 194 | rule set, or false otherwise. */ |
195 | bool isException(const QDate &qd) const; | 195 | bool isException(const QDate &qd) const; |
196 | 196 | ||
197 | /** add attachment to this event */ | 197 | /** add attachment to this event */ |
198 | void addAttachment(Attachment *attachment); | 198 | void addAttachment(Attachment *attachment); |
199 | /** remove and delete a specific attachment */ | 199 | /** remove and delete a specific attachment */ |
200 | void deleteAttachment(Attachment *attachment); | 200 | void deleteAttachment(Attachment *attachment); |
201 | /** remove and delete all attachments with this mime type */ | 201 | /** remove and delete all attachments with this mime type */ |
202 | void deleteAttachments(const QString& mime); | 202 | void deleteAttachments(const QString& mime); |
203 | /** return list of all associated attachments */ | 203 | /** return list of all associated attachments */ |
204 | QPtrList<Attachment> attachments() const; | 204 | QPtrList<Attachment> attachments() const; |
205 | /** find a list of attachments with this mime type */ | 205 | /** find a list of attachments with this mime type */ |
206 | QPtrList<Attachment> attachments(const QString& mime) const; | 206 | QPtrList<Attachment> attachments(const QString& mime) const; |
207 | 207 | ||
208 | /** sets the event's status the value specified. See the enumeration | 208 | /** sets the event's status the value specified. See the enumeration |
209 | * above for possible values. */ | 209 | * above for possible values. */ |
210 | void setSecrecy(int); | 210 | void setSecrecy(int); |
211 | /** return the event's secrecy. */ | 211 | /** return the event's secrecy. */ |
212 | int secrecy() const; | 212 | int secrecy() const; |
213 | /** return the event's secrecy in string format. */ | 213 | /** return the event's secrecy in string format. */ |
214 | QString secrecyStr() const; | 214 | QString secrecyStr() const; |
215 | /** return list of all availbale secrecy classes */ | 215 | /** return list of all availbale secrecy classes */ |
216 | static QStringList secrecyList(); | 216 | static QStringList secrecyList(); |
217 | /** return human-readable name of secrecy class */ | 217 | /** return human-readable name of secrecy class */ |
218 | static QString secrecyName(int); | 218 | static QString secrecyName(int); |
219 | 219 | ||
220 | /** returns TRUE if the date specified is one on which the event will | 220 | /** returns TRUE if the date specified is one on which the event will |
221 | * recur. */ | 221 | * recur. */ |
222 | bool recursOn(const QDate &qd) const; | 222 | bool recursOn(const QDate &qd) const; |
223 | 223 | ||
224 | // VEVENT and VTODO, but not VJOURNAL (move to EventBase class?): | 224 | // VEVENT and VTODO, but not VJOURNAL (move to EventBase class?): |
225 | 225 | ||
226 | /** set resources used, such as Office, Car, etc. */ | 226 | /** set resources used, such as Office, Car, etc. */ |
227 | void setResources(const QStringList &resources); | 227 | void setResources(const QStringList &resources); |
228 | /** return list of current resources */ | 228 | /** return list of current resources */ |
229 | QStringList resources() const; | 229 | QStringList resources() const; |
230 | 230 | ||
231 | /** set the event's priority, 0 is undefined, 1 highest (decreasing order) */ | 231 | /** set the event's priority, 0 is undefined, 1 highest (decreasing order) */ |
232 | void setPriority(int priority); | 232 | void setPriority(int priority); |
233 | /** get the event's priority */ | 233 | /** get the event's priority */ |
234 | int priority() const; | 234 | int priority() const; |
235 | 235 | ||
236 | /** All alarms that are associated with this incidence */ | 236 | /** All alarms that are associated with this incidence */ |
237 | QPtrList<Alarm> alarms() const; | 237 | QPtrList<Alarm> alarms() const; |
238 | /** Create a new alarm which is associated with this incidence */ | 238 | /** Create a new alarm which is associated with this incidence */ |
239 | Alarm* newAlarm(); | 239 | Alarm* newAlarm(); |
240 | /** Add an alarm which is associated with this incidence */ | 240 | /** Add an alarm which is associated with this incidence */ |
241 | void addAlarm(Alarm*); | 241 | void addAlarm(Alarm*); |
242 | /** Remove an alarm that is associated with this incidence */ | 242 | /** Remove an alarm that is associated with this incidence */ |
243 | void removeAlarm(Alarm*); | 243 | void removeAlarm(Alarm*); |
244 | /** Remove all alarms that are associated with this incidence */ | 244 | /** Remove all alarms that are associated with this incidence */ |
245 | void clearAlarms(); | 245 | void clearAlarms(); |
246 | /** return whether any alarm associated with this incidence is enabled */ | 246 | /** return whether any alarm associated with this incidence is enabled */ |
247 | bool isAlarmEnabled() const; | 247 | bool isAlarmEnabled() const; |
248 | 248 | ||
249 | /** | 249 | /** |
250 | Return the recurrence rule associated with this incidence. If there is | 250 | Return the recurrence rule associated with this incidence. If there is |
251 | none, returns an appropriate (non-0) object. | 251 | none, returns an appropriate (non-0) object. |
252 | */ | 252 | */ |
253 | Recurrence *recurrence(); | 253 | Recurrence *recurrence(); |
254 | void setRecurrence(Recurrence * r); | 254 | void setRecurrence(Recurrence * r); |
255 | /** | 255 | /** |
256 | Forward to Recurrence::doesRecur(). | 256 | Forward to Recurrence::doesRecur(). |
257 | */ | 257 | */ |
258 | ushort doesRecur() const; | 258 | ushort doesRecur() const; |
259 | 259 | ||
260 | /** set the event's/todo's location. Do _not_ use it with journal */ | 260 | /** set the event's/todo's location. Do _not_ use it with journal */ |
261 | void setLocation(const QString &location); | 261 | void setLocation(const QString &location); |
262 | /** return the event's/todo's location. Do _not_ use it with journal */ | 262 | /** return the event's/todo's location. Do _not_ use it with journal */ |
263 | QString location() const; | 263 | QString location() const; |
264 | /** returns TRUE or FALSE depending on whether the todo has a start date */ | 264 | /** returns TRUE or FALSE depending on whether the todo has a start date */ |
265 | bool hasStartDate() const; | 265 | bool hasStartDate() const; |
266 | /** sets the event's hasStartDate value. */ | 266 | /** sets the event's hasStartDate value. */ |
267 | void setHasStartDate(bool f); | 267 | void setHasStartDate(bool f); |
268 | QDateTime getNextOccurence( const QDateTime& dt, bool* yes ) const; | 268 | QDateTime getNextOccurence( const QDateTime& dt, bool* yes ) const; |
269 | bool cancelled() const; | 269 | bool cancelled() const; |
270 | void setCancelled( bool b ); | 270 | void setCancelled( bool b ); |
271 | 271 | ||
272 | bool hasRecurrenceID() const; | 272 | bool hasRecurrenceID() const; |
273 | void setHasRecurrenceID( bool b ); | 273 | void setHasRecurrenceID( bool b ); |
274 | 274 | ||
275 | void setRecurrenceID(QDateTime); | 275 | void setRecurrenceID(QDateTime); |
276 | QDateTime recurrenceID () const; | 276 | QDateTime recurrenceID () const; |
277 | QDateTime dtStart() const; | 277 | QDateTime dtStart() const; |
278 | bool isHoliday() const; | 278 | bool isHoliday() const; |
279 | bool isBirthday() const; | 279 | bool isBirthday() const; |
280 | bool isAnniversary() const; | 280 | bool isAnniversary() const; |
281 | QDateTime lastModifiedSub(); | 281 | QDateTime lastModifiedSub(); |
282 | QString lastModifiedSubSortKey() const; | ||
282 | QString recurrenceText() const; | 283 | QString recurrenceText() const; |
283 | void setLastModifiedSubInvalid(); | 284 | void setLastModifiedSubInvalid(); |
284 | 285 | ||
285 | virtual QString durationText(); | 286 | virtual QString durationText(); |
286 | QString durationText4Time( int secs ); | 287 | QString durationText4Time( int secs ); |
287 | Recurrence *mRecurrence; | 288 | Recurrence *mRecurrence; |
288 | protected: | 289 | protected: |
289 | QPtrList<Alarm> mAlarms; | 290 | QPtrList<Alarm> mAlarms; |
290 | QPtrList<Incidence> mRelations; | 291 | QPtrList<Incidence> mRelations; |
291 | QDateTime mRecurrenceID; | 292 | QDateTime mRecurrenceID; |
292 | bool mHasRecurrenceID; | 293 | bool mHasRecurrenceID; |
293 | private: | 294 | private: |
294 | void checkCategories(); | 295 | void checkCategories(); |
296 | QString mLastModifiedSubSortKey; | ||
295 | bool mHoliday, mBirthday, mAnniversary; | 297 | bool mHoliday, mBirthday, mAnniversary; |
296 | int mRevision; | 298 | int mRevision; |
297 | bool mCancelled; | 299 | bool mCancelled; |
298 | 300 | ||
299 | // base components of jounal, event and todo | 301 | // base components of jounal, event and todo |
300 | QDateTime mCreated; | 302 | QDateTime mCreated; |
301 | QDateTime mLastModifiedSub; | 303 | QDateTime mLastModifiedSub; |
302 | QString mDescription; | 304 | QString mDescription; |
303 | QString mSummary; | 305 | QString mSummary; |
304 | QStringList mCategories; | 306 | QStringList mCategories; |
305 | Incidence *mRelatedTo; | 307 | Incidence *mRelatedTo; |
306 | QString mRelatedToUid; | 308 | QString mRelatedToUid; |
307 | DateList mExDates; | 309 | DateList mExDates; |
308 | QPtrList<Attachment> mAttachments; | 310 | QPtrList<Attachment> mAttachments; |
309 | QStringList mResources; | 311 | QStringList mResources; |
310 | bool mHasStartDate; // if todo has associated start date | 312 | bool mHasStartDate; // if todo has associated start date |
311 | 313 | ||
312 | int mSecrecy; | 314 | int mSecrecy; |
313 | int mPriority; // 1 = highest, 2 = less, etc. | 315 | int mPriority; // 1 = highest, 2 = less, etc. |
314 | 316 | ||
315 | //QPtrList<Alarm> mAlarms; | 317 | //QPtrList<Alarm> mAlarms; |
316 | 318 | ||
317 | QString mLocation; | 319 | QString mLocation; |
318 | }; | 320 | }; |
319 | 321 | ||
320 | bool operator==( const Incidence&, const Incidence& ); | 322 | bool operator==( const Incidence&, const Incidence& ); |
321 | 323 | ||
322 | } | 324 | } |
323 | 325 | ||
324 | #endif | 326 | #endif |