25 #include "incidence.h"
52 return new Alarm( *
this );
59 mDescription = a.mDescription;
61 mMailAttachFiles = a.mMailAttachFiles;
62 mMailAddresses = a.mMailAddresses;
63 mMailSubject = a.mMailSubject;
64 mAlarmSnoozeTime = a.mAlarmSnoozeTime;
65 mAlarmRepeatCount = a.mAlarmRepeatCount;
66 mAlarmTime = a.mAlarmTime;
68 mEndOffset = a.mEndOffset;
69 mHasTime = a.mHasTime;
70 mAlarmEnabled = a.mAlarmEnabled;
76 if ( mType != rhs.mType ||
77 mAlarmSnoozeTime != rhs.mAlarmSnoozeTime ||
78 mAlarmRepeatCount != rhs.mAlarmRepeatCount ||
79 mAlarmEnabled != rhs.mAlarmEnabled ||
80 mHasTime != rhs.mHasTime)
84 if (mAlarmTime != rhs.mAlarmTime)
87 if (mOffset != rhs.mOffset ||
88 mEndOffset != rhs.mEndOffset)
94 return mDescription == rhs.mDescription;
97 return mDescription == rhs.mDescription &&
98 mMailAttachFiles == rhs.mMailAttachFiles &&
99 mMailAddresses == rhs.mMailAddresses &&
100 mMailSubject == rhs.mMailSubject;
103 return mFile == rhs.mFile &&
104 mDescription == rhs.mDescription;
107 return mFile == rhs.mFile;
125 mFile = mDescription =
"";
131 mMailSubject = mDescription =
"";
132 mMailAddresses.clear();
133 mMailAttachFiles.clear();
141 if ( mParent ) mParent->
updated();
153 if ( mParent ) mParent->
updated();
158 if (mType == Audio) {
160 if ( mParent ) mParent->
updated();
166 return (mType == Audio) ? mFile : TQString();
173 mDescription = arguments;
174 if ( mParent ) mParent->
updated();
179 if (mType == Procedure) {
181 if ( mParent ) mParent->
updated();
187 return (mType == Procedure) ? mFile : TQString();
192 if (mType == Procedure) {
193 mDescription = arguments;
194 if ( mParent ) mParent->
updated();
200 return (mType == Procedure) ? mDescription : TQString();
204 const TQValueList<Person> &addressees,
const TQStringList &attachments)
207 mMailSubject = subject;
209 mMailAddresses = addressees;
210 mMailAttachFiles = attachments;
211 if ( mParent ) mParent->
updated();
216 if (mType == Email) {
217 mMailAddresses.clear();
218 mMailAddresses += mailAddress;
219 if ( mParent ) mParent->
updated();
225 if (mType == Email) {
227 if ( mParent ) mParent->
updated();
233 if (mType == Email) {
234 mMailAddresses += mailAddress;
235 if ( mParent ) mParent->
updated();
241 return (mType == Email) ? mMailAddresses : TQValueList<Person>();
246 if (mType == Email) {
247 mMailSubject = mailAlarmSubject;
248 if ( mParent ) mParent->
updated();
254 return (mType == Email) ? mMailSubject : TQString();
259 if (mType == Email) {
260 mMailAttachFiles.clear();
261 mMailAttachFiles += mailAttachFile;
262 if ( mParent ) mParent->
updated();
268 if (mType == Email) {
269 mMailAttachFiles = mailAttachFiles;
270 if ( mParent ) mParent->
updated();
276 if (mType == Email) {
277 mMailAttachFiles += mailAttachFile;
278 if ( mParent ) mParent->
updated();
284 return (mType == Email) ? mMailAttachFiles : TQStringList();
289 if (mType == Email) {
291 if ( mParent ) mParent->
updated();
297 return (mType == Email) ? mDescription : TQString();
303 if ( !text.isNull() )
305 if ( mParent ) mParent->
updated();
310 if (mType == Display) {
312 if ( mParent ) mParent->
updated();
318 return (mType == Display) ? mDescription : TQString();
323 mAlarmTime = alarmTime;
326 if ( mParent ) mParent->
updated();
333 }
else if ( mParent ) {
335 if ( mParent->type() ==
"Todo" ) {
336 Todo *t =
static_cast<Todo*
>( mParent );
339 return mOffset.
end( mParent->
dtEnd() );
356 if (alarmSnoozeTime.
value() > 0) {
357 mAlarmSnoozeTime = alarmSnoozeTime;
358 if ( mParent ) mParent->
updated();
364 return mAlarmSnoozeTime;
369 mAlarmRepeatCount = alarmRepeatCount;
370 if ( mParent ) mParent->
updated();
375 return mAlarmRepeatCount;
380 return Duration( mAlarmSnoozeTime.
value() * mAlarmRepeatCount,
381 mAlarmSnoozeTime.
type() );
388 TQDateTime at =
time();
391 if (!mAlarmRepeatCount)
393 int snoozeSecs = mAlarmSnoozeTime * 60;
394 TQDateTime lastRepetition = at.addSecs(mAlarmRepeatCount * snoozeSecs);
395 if (lastRepetition <= preTime)
397 int repetition = (at.secsTo(preTime) + snoozeSecs) / snoozeSecs;
398 return at.addSecs(repetition * snoozeSecs);
405 TQDateTime at =
time();
408 if (!mAlarmRepeatCount)
410 int snoozeSecs = mAlarmSnoozeTime * 60;
411 TQDateTime lastRepetition = at.addSecs(mAlarmRepeatCount * snoozeSecs);
412 if (lastRepetition < afterTime)
413 return lastRepetition;
414 int repetition = (at.secsTo(afterTime) - 1) / snoozeSecs;
415 return at.addSecs(repetition * snoozeSecs);
420 if (mAlarmRepeatCount)
421 return time().addSecs(mAlarmRepeatCount * mAlarmSnoozeTime * 60);
428 mAlarmEnabled = !mAlarmEnabled;
429 if ( mParent ) mParent->
updated();
434 mAlarmEnabled = enable;
435 if ( mParent ) mParent->
updated();
440 return mAlarmEnabled;
448 if ( mParent ) mParent->
updated();
453 return (mHasTime || mEndOffset) ?
Duration( 0 ) : mOffset;
458 return !mHasTime && !mEndOffset;
463 return !mHasTime && mEndOffset;
471 if ( mParent ) mParent->
updated();
476 return (mHasTime || !mEndOffset) ?
Duration( 0 ) : mOffset;
486 if ( mParent ) mParent->
updated();