author | zecke <zecke> | 2002-09-10 13:11:25 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-09-10 13:11:25 (UTC) |
commit | a73774e8ab1d14c76f17c854c6b6cdf801abfe82 (patch) (unidiff) | |
tree | 27b0ddb41a40133bfaad34781ce69890615e4acc | |
parent | 8064c0e86eed8a48c2c7745195bf991b1d83f504 (diff) | |
download | opie-a73774e8ab1d14c76f17c854c6b6cdf801abfe82.zip opie-a73774e8ab1d14c76f17c854c6b6cdf801abfe82.tar.gz opie-a73774e8ab1d14c76f17c854c6b6cdf801abfe82.tar.bz2 |
Fix inline for Event::start
-rw-r--r-- | library/backend/event.cpp | 9 | ||||
-rw-r--r-- | library/backend/event.h | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/library/backend/event.cpp b/library/backend/event.cpp index 7110717..8f3f780 100644 --- a/library/backend/event.cpp +++ b/library/backend/event.cpp | |||
@@ -235,561 +235,566 @@ Qtopia::UidGen Event::sUidGen( Qtopia::UidGen::Qtopia ); | |||
235 | /*! | 235 | /*! |
236 | \fn bool Event::repeatForever() const | 236 | \fn bool Event::repeatForever() const |
237 | 237 | ||
238 | Returns FALSE if there is a date set for the event to continue until. | 238 | Returns FALSE if there is a date set for the event to continue until. |
239 | Otherwise returns TRUE. | 239 | Otherwise returns TRUE. |
240 | */ | 240 | */ |
241 | 241 | ||
242 | /*! | 242 | /*! |
243 | \fn bool Event::doRepeat() const | 243 | \fn bool Event::doRepeat() const |
244 | \internal | 244 | \internal |
245 | */ | 245 | */ |
246 | 246 | ||
247 | /*! | 247 | /*! |
248 | \fn bool Event::repeatOnWeekDay(int day) const | 248 | \fn bool Event::repeatOnWeekDay(int day) const |
249 | 249 | ||
250 | Returns TRUE if the event has a RepeatType of Weekly and is set to occur on | 250 | Returns TRUE if the event has a RepeatType of Weekly and is set to occur on |
251 | \a day each week. Otherwise returns FALSE. | 251 | \a day each week. Otherwise returns FALSE. |
252 | 252 | ||
253 | \sa QDate::dayName() | 253 | \sa QDate::dayName() |
254 | */ | 254 | */ |
255 | 255 | ||
256 | /*! | 256 | /*! |
257 | \fn void Event::setRepeatOnWeekDay(int day, bool enable) | 257 | \fn void Event::setRepeatOnWeekDay(int day, bool enable) |
258 | 258 | ||
259 | If \a enable is TRUE then sets the event to occur on \a day each week. | 259 | If \a enable is TRUE then sets the event to occur on \a day each week. |
260 | Otherwise sets the event not to occur on \a day. | 260 | Otherwise sets the event not to occur on \a day. |
261 | 261 | ||
262 | \warning this function is only relavent for a event with RepeatType of | 262 | \warning this function is only relavent for a event with RepeatType of |
263 | Weekly. | 263 | Weekly. |
264 | 264 | ||
265 | \sa QDate::dayName() | 265 | \sa QDate::dayName() |
266 | */ | 266 | */ |
267 | 267 | ||
268 | /*! | 268 | /*! |
269 | \fn int Event::frequency() const | 269 | \fn int Event::frequency() const |
270 | 270 | ||
271 | Returns how often the event repeats. | 271 | Returns how often the event repeats. |
272 | 272 | ||
273 | \sa repeatType() | 273 | \sa repeatType() |
274 | */ | 274 | */ |
275 | 275 | ||
276 | /*! | 276 | /*! |
277 | \fn void Event::setRepeatType(RepeatType t) | 277 | \fn void Event::setRepeatType(RepeatType t) |
278 | 278 | ||
279 | Sets the repeat pattern type of the event to \a t. | 279 | Sets the repeat pattern type of the event to \a t. |
280 | 280 | ||
281 | \sa setFrequency() | 281 | \sa setFrequency() |
282 | */ | 282 | */ |
283 | 283 | ||
284 | /*! | 284 | /*! |
285 | \fn void Event::setFrequency(int n) | 285 | \fn void Event::setFrequency(int n) |
286 | 286 | ||
287 | Sets how often the event occurs with in its repeat pattern. | 287 | Sets how often the event occurs with in its repeat pattern. |
288 | 288 | ||
289 | \sa setRepeatType() | 289 | \sa setRepeatType() |
290 | */ | 290 | */ |
291 | 291 | ||
292 | /*! | 292 | /*! |
293 | \fn void Event::setRepeatTill(const QDate &d) | 293 | \fn void Event::setRepeatTill(const QDate &d) |
294 | 294 | ||
295 | Sets the event to repeat until \a d. | 295 | Sets the event to repeat until \a d. |
296 | */ | 296 | */ |
297 | 297 | ||
298 | /*! | 298 | /*! |
299 | \fn void Event::setRepeatForever(bool enable) | 299 | \fn void Event::setRepeatForever(bool enable) |
300 | 300 | ||
301 | If \a enable is TRUE, sets the event to repeat forever. Otherwise | 301 | If \a enable is TRUE, sets the event to repeat forever. Otherwise |
302 | sets the event to stop repeating at some date. | 302 | sets the event to stop repeating at some date. |
303 | 303 | ||
304 | \warning This function may affect the specific date the event will repeat | 304 | \warning This function may affect the specific date the event will repeat |
305 | till. | 305 | till. |
306 | */ | 306 | */ |
307 | 307 | ||
308 | /*! | 308 | /*! |
309 | \fn bool Event::match(const QRegExp &r) const | 309 | \fn bool Event::match(const QRegExp &r) const |
310 | 310 | ||
311 | Returns TRUE if the event matches the regular expression \a r. | 311 | Returns TRUE if the event matches the regular expression \a r. |
312 | Otherwise returns FALSE. | 312 | Otherwise returns FALSE. |
313 | */ | 313 | */ |
314 | 314 | ||
315 | /*! | 315 | /*! |
316 | \fn char Event::day(int) | 316 | \fn char Event::day(int) |
317 | \internal | 317 | \internal |
318 | */ | 318 | */ |
319 | 319 | ||
320 | /*! | 320 | /*! |
321 | Creates a new, empty event. | 321 | Creates a new, empty event. |
322 | */ | 322 | */ |
323 | Event::Event() : Record() | 323 | Event::Event() : Record() |
324 | { | 324 | { |
325 | startUTC = endUTC = time( 0 ); | 325 | startUTC = endUTC = time( 0 ); |
326 | typ = Normal; | 326 | typ = Normal; |
327 | hAlarm = FALSE; | 327 | hAlarm = FALSE; |
328 | hRepeat = FALSE; | 328 | hRepeat = FALSE; |
329 | aMinutes = 0; | 329 | aMinutes = 0; |
330 | aSound = Silent; | 330 | aSound = Silent; |
331 | pattern.type = NoRepeat; | 331 | pattern.type = NoRepeat; |
332 | pattern.frequency = -1; | 332 | pattern.frequency = -1; |
333 | } | 333 | } |
334 | 334 | ||
335 | /*! | 335 | /*! |
336 | \internal | 336 | \internal |
337 | */ | 337 | */ |
338 | Event::Event( const QMap<int, QString> &map ) | 338 | Event::Event( const QMap<int, QString> &map ) |
339 | { | 339 | { |
340 | setDescription( map[DatebookDescription] ); | 340 | setDescription( map[DatebookDescription] ); |
341 | setLocation( map[Location] ); | 341 | setLocation( map[Location] ); |
342 | setCategories( idsFromString( map[DatebookCategory] ) ); | 342 | setCategories( idsFromString( map[DatebookCategory] ) ); |
343 | setTimeZone( map[TimeZone] ); | 343 | setTimeZone( map[TimeZone] ); |
344 | setNotes( map[Note] ); | 344 | setNotes( map[Note] ); |
345 | setStart( TimeConversion::fromUTC( map[StartDateTime].toUInt() ) ); | 345 | setStart( TimeConversion::fromUTC( map[StartDateTime].toUInt() ) ); |
346 | setEnd( TimeConversion::fromUTC( map[EndDateTime].toUInt() ) ); | 346 | setEnd( TimeConversion::fromUTC( map[EndDateTime].toUInt() ) ); |
347 | setType( (Event::Type) map[DatebookType].toInt() ); | 347 | setType( (Event::Type) map[DatebookType].toInt() ); |
348 | setAlarm( ( map[HasAlarm] == "1" ? TRUE : FALSE ), map[AlarmTime].toInt(), (Event::SoundTypeChoice)map[SoundType].toInt() ); | 348 | setAlarm( ( map[HasAlarm] == "1" ? TRUE : FALSE ), map[AlarmTime].toInt(), (Event::SoundTypeChoice)map[SoundType].toInt() ); |
349 | Event::RepeatPattern p; | 349 | Event::RepeatPattern p; |
350 | p.type = (Event::RepeatType) map[ RepeatPatternType ].toInt(); | 350 | p.type = (Event::RepeatType) map[ RepeatPatternType ].toInt(); |
351 | p.frequency = map[ RepeatPatternFrequency ].toInt(); | 351 | p.frequency = map[ RepeatPatternFrequency ].toInt(); |
352 | p.position = map[ RepeatPatternPosition ].toInt(); | 352 | p.position = map[ RepeatPatternPosition ].toInt(); |
353 | p.days = map[ RepeatPatternDays ].toInt(); | 353 | p.days = map[ RepeatPatternDays ].toInt(); |
354 | p.hasEndDate = map[ RepeatPatternHasEndDate ].toInt(); | 354 | p.hasEndDate = map[ RepeatPatternHasEndDate ].toInt(); |
355 | p.endDateUTC = map[ RepeatPatternEndDate ].toUInt(); | 355 | p.endDateUTC = map[ RepeatPatternEndDate ].toUInt(); |
356 | setRepeat( p ); | 356 | setRepeat( p ); |
357 | 357 | ||
358 | setUid( map[ DatebookUid ].toInt() ); | 358 | setUid( map[ DatebookUid ].toInt() ); |
359 | } | 359 | } |
360 | 360 | ||
361 | /*! | 361 | /*! |
362 | Destroys an event. | 362 | Destroys an event. |
363 | */ | 363 | */ |
364 | Event::~Event() | 364 | Event::~Event() |
365 | { | 365 | { |
366 | } | 366 | } |
367 | 367 | ||
368 | /*! | 368 | /*! |
369 | \internal | 369 | \internal |
370 | */ | 370 | */ |
371 | int Event::week( const QDate& date ) | 371 | int Event::week( const QDate& date ) |
372 | { | 372 | { |
373 | // Calculates the week this date is in within that | 373 | // Calculates the week this date is in within that |
374 | // month. Equals the "row" is is in in the month view | 374 | // month. Equals the "row" is is in in the month view |
375 | int week = 1; | 375 | int week = 1; |
376 | QDate tmp( date.year(), date.month(), 1 ); | 376 | QDate tmp( date.year(), date.month(), 1 ); |
377 | 377 | ||
378 | if ( date.dayOfWeek() < tmp.dayOfWeek() ) | 378 | if ( date.dayOfWeek() < tmp.dayOfWeek() ) |
379 | ++week; | 379 | ++week; |
380 | 380 | ||
381 | week += ( date.day() - 1 ) / 7; | 381 | week += ( date.day() - 1 ) / 7; |
382 | return week; | 382 | return week; |
383 | } | 383 | } |
384 | 384 | ||
385 | /*! | 385 | /*! |
386 | \internal | 386 | \internal |
387 | */ | 387 | */ |
388 | int Event::occurrence( const QDate& date ) | 388 | int Event::occurrence( const QDate& date ) |
389 | { | 389 | { |
390 | // calculates the number of occurrances of this day of the | 390 | // calculates the number of occurrances of this day of the |
391 | // week till the given date (e.g 3rd Wednesday of the month) | 391 | // week till the given date (e.g 3rd Wednesday of the month) |
392 | return ( date.day() - 1 ) / 7 + 1; | 392 | return ( date.day() - 1 ) / 7 + 1; |
393 | } | 393 | } |
394 | 394 | ||
395 | /*! | 395 | /*! |
396 | \internal | 396 | \internal |
397 | */ | 397 | */ |
398 | int Event::dayOfWeek( char day ) | 398 | int Event::dayOfWeek( char day ) |
399 | { | 399 | { |
400 | int dayOfWeek = 1; | 400 | int dayOfWeek = 1; |
401 | char i = Event::MON; | 401 | char i = Event::MON; |
402 | while ( !( i & day ) && i <= Event::SUN ) { | 402 | while ( !( i & day ) && i <= Event::SUN ) { |
403 | i <<= 1; | 403 | i <<= 1; |
404 | ++dayOfWeek; | 404 | ++dayOfWeek; |
405 | } | 405 | } |
406 | return dayOfWeek; | 406 | return dayOfWeek; |
407 | } | 407 | } |
408 | 408 | ||
409 | /*! | 409 | /*! |
410 | \internal | 410 | \internal |
411 | */ | 411 | */ |
412 | int Event::monthDiff( const QDate& first, const QDate& second ) | 412 | int Event::monthDiff( const QDate& first, const QDate& second ) |
413 | { | 413 | { |
414 | return ( second.year() - first.year() ) * 12 + | 414 | return ( second.year() - first.year() ) * 12 + |
415 | second.month() - first.month(); | 415 | second.month() - first.month(); |
416 | } | 416 | } |
417 | 417 | ||
418 | /*! | 418 | /*! |
419 | \internal | 419 | \internal |
420 | */ | 420 | */ |
421 | QMap<int, QString> Event::toMap() const | 421 | QMap<int, QString> Event::toMap() const |
422 | { | 422 | { |
423 | QMap<int, QString> m; | 423 | QMap<int, QString> m; |
424 | 424 | ||
425 | if ( !description().isEmpty() ) | 425 | if ( !description().isEmpty() ) |
426 | m.insert( DatebookDescription, description() ); | 426 | m.insert( DatebookDescription, description() ); |
427 | if ( !location().isEmpty() ) | 427 | if ( !location().isEmpty() ) |
428 | m.insert ( Location, location() ); | 428 | m.insert ( Location, location() ); |
429 | if ( categories().count() ) | 429 | if ( categories().count() ) |
430 | m.insert ( DatebookCategory, idsToString( categories() ) ); | 430 | m.insert ( DatebookCategory, idsToString( categories() ) ); |
431 | if ( !timeZone().isEmpty() ) | 431 | if ( !timeZone().isEmpty() ) |
432 | m.insert ( TimeZone, timeZone() ); | 432 | m.insert ( TimeZone, timeZone() ); |
433 | if ( !notes().isEmpty() ) | 433 | if ( !notes().isEmpty() ) |
434 | m.insert ( Note, notes() ); | 434 | m.insert ( Note, notes() ); |
435 | 435 | ||
436 | m.insert ( StartDateTime, QString::number( TimeConversion::toUTC( start() ) ) ); | 436 | m.insert ( StartDateTime, QString::number( TimeConversion::toUTC( start() ) ) ); |
437 | m.insert ( EndDateTime, QString::number( TimeConversion::toUTC( end() ) ) ); | 437 | m.insert ( EndDateTime, QString::number( TimeConversion::toUTC( end() ) ) ); |
438 | m.insert ( DatebookType, QString::number( (int)type() ) ); | 438 | m.insert ( DatebookType, QString::number( (int)type() ) ); |
439 | m.insert ( HasAlarm, ( hasAlarm() ? "1" : "0" ) ); | 439 | m.insert ( HasAlarm, ( hasAlarm() ? "1" : "0" ) ); |
440 | m.insert ( SoundType, QString::number( (int)alarmSound() ) ); | 440 | m.insert ( SoundType, QString::number( (int)alarmSound() ) ); |
441 | m.insert ( AlarmTime, QString::number( alarmTime() ) ); | 441 | m.insert ( AlarmTime, QString::number( alarmTime() ) ); |
442 | m.insert ( RepeatPatternType, QString::number( static_cast<int>( repeatPattern().type ) ) ); | 442 | m.insert ( RepeatPatternType, QString::number( static_cast<int>( repeatPattern().type ) ) ); |
443 | m.insert ( RepeatPatternFrequency, QString::number( repeatPattern().frequency ) ); | 443 | m.insert ( RepeatPatternFrequency, QString::number( repeatPattern().frequency ) ); |
444 | m.insert ( RepeatPatternPosition, QString::number( repeatPattern().position ) ); | 444 | m.insert ( RepeatPatternPosition, QString::number( repeatPattern().position ) ); |
445 | m.insert ( RepeatPatternDays, QString::number( repeatPattern().days ) ); | 445 | m.insert ( RepeatPatternDays, QString::number( repeatPattern().days ) ); |
446 | m.insert ( RepeatPatternHasEndDate, QString::number( static_cast<int>( repeatPattern().hasEndDate ) ) ); | 446 | m.insert ( RepeatPatternHasEndDate, QString::number( static_cast<int>( repeatPattern().hasEndDate ) ) ); |
447 | m.insert ( RepeatPatternEndDate, QString::number( repeatPattern().endDateUTC ) ); | 447 | m.insert ( RepeatPatternEndDate, QString::number( repeatPattern().endDateUTC ) ); |
448 | 448 | ||
449 | m.insert( DatebookUid, QString::number( uid()) ); | 449 | m.insert( DatebookUid, QString::number( uid()) ); |
450 | 450 | ||
451 | return m; | 451 | return m; |
452 | } | 452 | } |
453 | 453 | ||
454 | /*! | 454 | /*! |
455 | \internal | 455 | \internal |
456 | */ | 456 | */ |
457 | void Event::setRepeat( const RepeatPattern &p ) | 457 | void Event::setRepeat( const RepeatPattern &p ) |
458 | { | 458 | { |
459 | setRepeat( p.type != NoRepeat, p ); | 459 | setRepeat( p.type != NoRepeat, p ); |
460 | } | 460 | } |
461 | 461 | ||
462 | /*! | 462 | /*! |
463 | Sets the description of the event to \a s. | 463 | Sets the description of the event to \a s. |
464 | */ | 464 | */ |
465 | void Event::setDescription( const QString &s ) | 465 | void Event::setDescription( const QString &s ) |
466 | { | 466 | { |
467 | descript = s; | 467 | descript = s; |
468 | } | 468 | } |
469 | 469 | ||
470 | /*! | 470 | /*! |
471 | Sets the location of the event to \a s. | 471 | Sets the location of the event to \a s. |
472 | */ | 472 | */ |
473 | void Event::setLocation( const QString &s ) | 473 | void Event::setLocation( const QString &s ) |
474 | { | 474 | { |
475 | locat = s; | 475 | locat = s; |
476 | } | 476 | } |
477 | 477 | ||
478 | // void Event::setCategory( const QString &s ) | 478 | // void Event::setCategory( const QString &s ) |
479 | // { | 479 | // { |
480 | // categ = s; | 480 | // categ = s; |
481 | // } | 481 | // } |
482 | 482 | ||
483 | /*! | 483 | /*! |
484 | \internal | 484 | \internal |
485 | */ | 485 | */ |
486 | void Event::setType( Type t ) | 486 | void Event::setType( Type t ) |
487 | { | 487 | { |
488 | typ = t; | 488 | typ = t; |
489 | } | 489 | } |
490 | 490 | ||
491 | /*! | 491 | /*! |
492 | Sets the start date and time of the first or only occurance of this event | 492 | Sets the start date and time of the first or only occurance of this event |
493 | to the date and time \a d. \a d should be in local time. | 493 | to the date and time \a d. \a d should be in local time. |
494 | */ | 494 | */ |
495 | void Event::setStart( const QDateTime &d ) | 495 | void Event::setStart( const QDateTime &d ) |
496 | { | 496 | { |
497 | startUTC = TimeConversion::toUTC( d ); | 497 | startUTC = TimeConversion::toUTC( d ); |
498 | } | 498 | } |
499 | 499 | ||
500 | /*! | 500 | /*! |
501 | \internal | 501 | \internal |
502 | */ | 502 | */ |
503 | void Event::setStart( time_t time ) | 503 | void Event::setStart( time_t time ) |
504 | { | 504 | { |
505 | startUTC = time; | 505 | startUTC = time; |
506 | } | 506 | } |
507 | 507 | ||
508 | /*! | 508 | /*! |
509 | Sets the end date and time of the first or only occurance of this event | 509 | Sets the end date and time of the first or only occurance of this event |
510 | to the date and time \a d. \a d should be in local time. | 510 | to the date and time \a d. \a d should be in local time. |
511 | */ | 511 | */ |
512 | void Event::setEnd( const QDateTime &d ) | 512 | void Event::setEnd( const QDateTime &d ) |
513 | { | 513 | { |
514 | endUTC = TimeConversion::toUTC( d ); | 514 | endUTC = TimeConversion::toUTC( d ); |
515 | } | 515 | } |
516 | 516 | ||
517 | /*! | 517 | /*! |
518 | \internal | 518 | \internal |
519 | */ | 519 | */ |
520 | void Event::setEnd( time_t time ) | 520 | void Event::setEnd( time_t time ) |
521 | { | 521 | { |
522 | endUTC = time; | 522 | endUTC = time; |
523 | } | 523 | } |
524 | 524 | ||
525 | /*! | 525 | /*! |
526 | \internal | 526 | \internal |
527 | */ | 527 | */ |
528 | void Event::setTimeZone( const QString &z ) | 528 | void Event::setTimeZone( const QString &z ) |
529 | { | 529 | { |
530 | tz = z; | 530 | tz = z; |
531 | } | 531 | } |
532 | 532 | ||
533 | /*! | 533 | /*! |
534 | \internal | 534 | \internal |
535 | */ | 535 | */ |
536 | void Event::setAlarm( bool b, int minutes, SoundTypeChoice s ) | 536 | void Event::setAlarm( bool b, int minutes, SoundTypeChoice s ) |
537 | { | 537 | { |
538 | hAlarm = b; | 538 | hAlarm = b; |
539 | aMinutes = minutes; | 539 | aMinutes = minutes; |
540 | aSound = s; | 540 | aSound = s; |
541 | } | 541 | } |
542 | 542 | ||
543 | /*! | 543 | /*! |
544 | \internal | 544 | \internal |
545 | */ | 545 | */ |
546 | void Event::setRepeat( bool b, const RepeatPattern &p ) | 546 | void Event::setRepeat( bool b, const RepeatPattern &p ) |
547 | { | 547 | { |
548 | hRepeat = b; | 548 | hRepeat = b; |
549 | pattern = p; | 549 | pattern = p; |
550 | } | 550 | } |
551 | 551 | ||
552 | /*! | 552 | /*! |
553 | Sets the notes for the event to \a n. | 553 | Sets the notes for the event to \a n. |
554 | */ | 554 | */ |
555 | void Event::setNotes( const QString &n ) | 555 | void Event::setNotes( const QString &n ) |
556 | { | 556 | { |
557 | note = n; | 557 | note = n; |
558 | } | 558 | } |
559 | 559 | ||
560 | /*! | 560 | /*! |
561 | Returns the description of the event. | 561 | Returns the description of the event. |
562 | */ | 562 | */ |
563 | const QString &Event::description() const | 563 | const QString &Event::description() const |
564 | { | 564 | { |
565 | return descript; | 565 | return descript; |
566 | } | 566 | } |
567 | 567 | ||
568 | /*! | 568 | /*! |
569 | Returns the location of the event. | 569 | Returns the location of the event. |
570 | */ | 570 | */ |
571 | const QString &Event::location() const | 571 | const QString &Event::location() const |
572 | { | 572 | { |
573 | return locat; | 573 | return locat; |
574 | } | 574 | } |
575 | 575 | ||
576 | // QString Event::category() const | 576 | // QString Event::category() const |
577 | // { | 577 | // { |
578 | // return categ; | 578 | // return categ; |
579 | // } | 579 | // } |
580 | 580 | ||
581 | /*! | 581 | /*! |
582 | \internal | 582 | \internal |
583 | */ | 583 | */ |
584 | Event::Type Event::type() const | 584 | Event::Type Event::type() const |
585 | { | 585 | { |
586 | return typ; | 586 | return typ; |
587 | } | 587 | } |
588 | 588 | QDateTime Event::start() const { | |
589 | return start( TRUE ); | ||
590 | } | ||
589 | /*! | 591 | /*! |
590 | \internal | 592 | \internal |
591 | */ | 593 | */ |
592 | QDateTime Event::start( bool actual ) const | 594 | QDateTime Event::start( bool actual ) const |
593 | { | 595 | { |
594 | QDateTime dt = (startUTC > 0) ? TimeConversion::fromUTC( startUTC ) : QDateTime::currentDateTime(); | 596 | QDateTime dt = (startUTC > 0) ? TimeConversion::fromUTC( startUTC ) : QDateTime::currentDateTime(); |
595 | 597 | ||
596 | if ( actual && typ == AllDay ) { | 598 | if ( actual && typ == AllDay ) { |
597 | QTime t = dt.time(); | 599 | QTime t = dt.time(); |
598 | t.setHMS( 0, 0, 0 ); | 600 | t.setHMS( 0, 0, 0 ); |
599 | dt.setTime( t ); | 601 | dt.setTime( t ); |
600 | } | 602 | } |
601 | return dt; | 603 | return dt; |
602 | } | 604 | } |
603 | 605 | ||
606 | QDateTime Event::end() const { | ||
607 | return end( TRUE ); | ||
608 | } | ||
604 | /*! | 609 | /*! |
605 | \internal | 610 | \internal |
606 | */ | 611 | */ |
607 | QDateTime Event::end( bool actual ) const | 612 | QDateTime Event::end( bool actual ) const |
608 | { | 613 | { |
609 | QDateTime dt = (endUTC > 0) ? TimeConversion::fromUTC( endUTC ) : QDateTime::currentDateTime(); | 614 | QDateTime dt = (endUTC > 0) ? TimeConversion::fromUTC( endUTC ) : QDateTime::currentDateTime(); |
610 | 615 | ||
611 | if ( actual && typ == AllDay ) { | 616 | if ( actual && typ == AllDay ) { |
612 | QTime t = dt.time(); | 617 | QTime t = dt.time(); |
613 | t.setHMS( 23, 59, 59 ); | 618 | t.setHMS( 23, 59, 59 ); |
614 | dt.setTime( t ); | 619 | dt.setTime( t ); |
615 | } | 620 | } |
616 | return dt; | 621 | return dt; |
617 | } | 622 | } |
618 | 623 | ||
619 | /*! | 624 | /*! |
620 | \internal | 625 | \internal |
621 | */ | 626 | */ |
622 | const QString &Event::timeZone() const | 627 | const QString &Event::timeZone() const |
623 | { | 628 | { |
624 | return tz; | 629 | return tz; |
625 | } | 630 | } |
626 | 631 | ||
627 | /*! | 632 | /*! |
628 | \internal | 633 | \internal |
629 | */ | 634 | */ |
630 | bool Event::hasAlarm() const | 635 | bool Event::hasAlarm() const |
631 | { | 636 | { |
632 | return hAlarm; | 637 | return hAlarm; |
633 | } | 638 | } |
634 | 639 | ||
635 | /*! | 640 | /*! |
636 | \internal | 641 | \internal |
637 | */ | 642 | */ |
638 | int Event::alarmTime() const | 643 | int Event::alarmTime() const |
639 | { | 644 | { |
640 | return aMinutes; | 645 | return aMinutes; |
641 | } | 646 | } |
642 | 647 | ||
643 | /*! | 648 | /*! |
644 | Returns the sound type for the alarm of this event. | 649 | Returns the sound type for the alarm of this event. |
645 | */ | 650 | */ |
646 | Event::SoundTypeChoice Event::alarmSound() const | 651 | Event::SoundTypeChoice Event::alarmSound() const |
647 | { | 652 | { |
648 | return aSound; | 653 | return aSound; |
649 | } | 654 | } |
650 | 655 | ||
651 | /*! | 656 | /*! |
652 | \internal | 657 | \internal |
653 | */ | 658 | */ |
654 | bool Event::hasRepeat() const | 659 | bool Event::hasRepeat() const |
655 | { | 660 | { |
656 | return doRepeat(); | 661 | return doRepeat(); |
657 | } | 662 | } |
658 | 663 | ||
659 | /*! | 664 | /*! |
660 | \internal | 665 | \internal |
661 | */ | 666 | */ |
662 | const Event::RepeatPattern &Event::repeatPattern() const | 667 | const Event::RepeatPattern &Event::repeatPattern() const |
663 | { | 668 | { |
664 | return pattern; | 669 | return pattern; |
665 | } | 670 | } |
666 | 671 | ||
667 | /*! | 672 | /*! |
668 | \internal | 673 | \internal |
669 | */ | 674 | */ |
670 | Event::RepeatPattern &Event::repeatPattern() | 675 | Event::RepeatPattern &Event::repeatPattern() |
671 | { | 676 | { |
672 | return pattern; | 677 | return pattern; |
673 | } | 678 | } |
674 | 679 | ||
675 | /*! | 680 | /*! |
676 | Returns the notes for the event. | 681 | Returns the notes for the event. |
677 | */ | 682 | */ |
678 | const QString &Event::notes() const | 683 | const QString &Event::notes() const |
679 | { | 684 | { |
680 | return note; | 685 | return note; |
681 | } | 686 | } |
682 | 687 | ||
683 | /*! | 688 | /*! |
684 | \internal | 689 | \internal |
685 | */ | 690 | */ |
686 | bool Event::operator==( const Event &e ) const | 691 | bool Event::operator==( const Event &e ) const |
687 | { | 692 | { |
688 | if ( uid() && e.uid() == uid() ) | 693 | if ( uid() && e.uid() == uid() ) |
689 | return TRUE; | 694 | return TRUE; |
690 | return ( e.descript == descript && | 695 | return ( e.descript == descript && |
691 | e.locat == locat && | 696 | e.locat == locat && |
692 | e.categ == categ && | 697 | e.categ == categ && |
693 | e.typ == typ && | 698 | e.typ == typ && |
694 | e.startUTC == startUTC && | 699 | e.startUTC == startUTC && |
695 | e.endUTC == endUTC && | 700 | e.endUTC == endUTC && |
696 | e.tz == tz && | 701 | e.tz == tz && |
697 | e.hAlarm == hAlarm && | 702 | e.hAlarm == hAlarm && |
698 | e.aMinutes == aMinutes && | 703 | e.aMinutes == aMinutes && |
699 | e.aSound == aSound && | 704 | e.aSound == aSound && |
700 | e.hRepeat == hRepeat && | 705 | e.hRepeat == hRepeat && |
701 | e.pattern == pattern && | 706 | e.pattern == pattern && |
702 | e.note == note ); | 707 | e.note == note ); |
703 | } | 708 | } |
704 | 709 | ||
705 | /*! | 710 | /*! |
706 | \internal | 711 | \internal |
707 | Appends the contact information to \a buf. | 712 | Appends the contact information to \a buf. |
708 | */ | 713 | */ |
709 | void Event::save( QString& buf ) | 714 | void Event::save( QString& buf ) |
710 | { | 715 | { |
711 | buf += " description=\"" + Qtopia::escapeString(descript) + "\""; | 716 | buf += " description=\"" + Qtopia::escapeString(descript) + "\""; |
712 | if ( !locat.isEmpty() ) | 717 | if ( !locat.isEmpty() ) |
713 | buf += " location=\"" + Qtopia::escapeString(locat) + "\""; | 718 | buf += " location=\"" + Qtopia::escapeString(locat) + "\""; |
714 | // save the categoies differently.... | 719 | // save the categoies differently.... |
715 | QString strCats = idsToString( categories() ); | 720 | QString strCats = idsToString( categories() ); |
716 | buf += " categories=\"" + Qtopia::escapeString(strCats) + "\""; | 721 | buf += " categories=\"" + Qtopia::escapeString(strCats) + "\""; |
717 | buf += " uid=\"" + QString::number( uid() ) + "\""; | 722 | buf += " uid=\"" + QString::number( uid() ) + "\""; |
718 | if ( (Type)typ != Normal ) | 723 | if ( (Type)typ != Normal ) |
719 | buf += " type=\"AllDay\""; | 724 | buf += " type=\"AllDay\""; |
720 | if ( hAlarm ) { | 725 | if ( hAlarm ) { |
721 | buf += " alarm=\"" + QString::number( aMinutes ) + "\" sound=\""; | 726 | buf += " alarm=\"" + QString::number( aMinutes ) + "\" sound=\""; |
722 | if ( aSound == Event::Loud ) | 727 | if ( aSound == Event::Loud ) |
723 | buf += "loud"; | 728 | buf += "loud"; |
724 | else | 729 | else |
725 | buf += "silent"; | 730 | buf += "silent"; |
726 | buf += "\""; | 731 | buf += "\""; |
727 | } | 732 | } |
728 | if ( hRepeat ) | 733 | if ( hRepeat ) |
729 | write( buf, pattern ); | 734 | write( buf, pattern ); |
730 | 735 | ||
731 | buf += " start=\"" | 736 | buf += " start=\"" |
732 | + QString::number( startUTC ) | 737 | + QString::number( startUTC ) |
733 | + "\""; | 738 | + "\""; |
734 | 739 | ||
735 | buf += " end=\"" | 740 | buf += " end=\"" |
736 | + QString::number( endUTC ) | 741 | + QString::number( endUTC ) |
737 | + "\""; | 742 | + "\""; |
738 | 743 | ||
739 | if ( !note.isEmpty() ) | 744 | if ( !note.isEmpty() ) |
740 | buf += " note=\"" + Qtopia::escapeString( note ) + "\""; | 745 | buf += " note=\"" + Qtopia::escapeString( note ) + "\""; |
741 | buf += customToXml(); | 746 | buf += customToXml(); |
742 | } | 747 | } |
743 | 748 | ||
744 | /*! | 749 | /*! |
745 | \internal | 750 | \internal |
746 | */ | 751 | */ |
747 | bool Event::RepeatPattern::operator==( const Event::RepeatPattern &right ) const | 752 | bool Event::RepeatPattern::operator==( const Event::RepeatPattern &right ) const |
748 | { | 753 | { |
749 | // *sigh* | 754 | // *sigh* |
750 | return ( type == right.type | 755 | return ( type == right.type |
751 | && frequency == right.frequency | 756 | && frequency == right.frequency |
752 | && position == right.position | 757 | && position == right.position |
753 | && days == right.days | 758 | && days == right.days |
754 | && hasEndDate == right.hasEndDate | 759 | && hasEndDate == right.hasEndDate |
755 | && endDateUTC == right.endDateUTC | 760 | && endDateUTC == right.endDateUTC |
756 | && createTime == right.createTime ); | 761 | && createTime == right.createTime ); |
757 | } | 762 | } |
758 | 763 | ||
759 | /*! | 764 | /*! |
760 | \class EffectiveEvent | 765 | \class EffectiveEvent |
761 | \brief The EffectiveEvent class the data for a single occurance of an event. | 766 | \brief The EffectiveEvent class the data for a single occurance of an event. |
762 | 767 | ||
763 | This class describes the event for a single occurance of it. For example if | 768 | This class describes the event for a single occurance of it. For example if |
764 | an Event occurs every week, the effective event might represent the third | 769 | an Event occurs every week, the effective event might represent the third |
765 | occurance of this Event. | 770 | occurance of this Event. |
766 | 771 | ||
767 | \ingroup qtopiaemb | 772 | \ingroup qtopiaemb |
768 | \ingroup qtopiadesktop | 773 | \ingroup qtopiadesktop |
769 | \warning This class will be phased out in Qtopia 3.x | 774 | \warning This class will be phased out in Qtopia 3.x |
770 | */ | 775 | */ |
771 | 776 | ||
772 | /*! | 777 | /*! |
773 | \enum EffectiveEvent::Position | 778 | \enum EffectiveEvent::Position |
774 | \internal | 779 | \internal |
775 | */ | 780 | */ |
776 | 781 | ||
777 | /*! | 782 | /*! |
778 | \fn EffectiveEvent &EffectiveEvent::operator=(const EffectiveEvent &) | 783 | \fn EffectiveEvent &EffectiveEvent::operator=(const EffectiveEvent &) |
779 | \internal | 784 | \internal |
780 | */ | 785 | */ |
781 | 786 | ||
782 | class EffectiveEventPrivate | 787 | class EffectiveEventPrivate |
783 | { | 788 | { |
784 | public: | 789 | public: |
785 | //currently the existence of the d pointer means multi-day repeating, | 790 | //currently the existence of the d pointer means multi-day repeating, |
786 | //msut be changed if we use the d pointer for anything else. | 791 | //msut be changed if we use the d pointer for anything else. |
787 | QDate startDate; | 792 | QDate startDate; |
788 | QDate endDate; | 793 | QDate endDate; |
789 | }; | 794 | }; |
790 | 795 | ||
791 | /*! | 796 | /*! |
792 | \internal | 797 | \internal |
793 | */ | 798 | */ |
794 | EffectiveEvent::EffectiveEvent() | 799 | EffectiveEvent::EffectiveEvent() |
795 | { | 800 | { |
diff --git a/library/backend/event.h b/library/backend/event.h index 7fe41a5..2b275a4 100644 --- a/library/backend/event.h +++ b/library/backend/event.h | |||
@@ -79,297 +79,297 @@ public: | |||
79 | enum Type { Normal, AllDay }; | 79 | enum Type { Normal, AllDay }; |
80 | enum SoundTypeChoice { Silent, Loud }; | 80 | enum SoundTypeChoice { Silent, Loud }; |
81 | 81 | ||
82 | // Don't use these, there are essentially meaningless. | 82 | // Don't use these, there are essentially meaningless. |
83 | bool operator<( const Event &e1) const { return start() < e1.start(); }; | 83 | bool operator<( const Event &e1) const { return start() < e1.start(); }; |
84 | bool operator<=( const Event &e1 ) const { return start() <= e1.start(); }; | 84 | bool operator<=( const Event &e1 ) const { return start() <= e1.start(); }; |
85 | bool operator!=( const Event &e1 ) const { return !( *this == e1 ); }; | 85 | bool operator!=( const Event &e1 ) const { return !( *this == e1 ); }; |
86 | bool operator>( const Event &e1 ) const { return start() > e1.start(); }; | 86 | bool operator>( const Event &e1 ) const { return start() > e1.start(); }; |
87 | bool operator>=(const Event &e1 ) const { return start() >= e1.start(); }; | 87 | bool operator>=(const Event &e1 ) const { return start() >= e1.start(); }; |
88 | bool operator==( const Event &e ) const; | 88 | bool operator==( const Event &e ) const; |
89 | 89 | ||
90 | void setDescription( const QString &s ); | 90 | void setDescription( const QString &s ); |
91 | const QString &description() const; | 91 | const QString &description() const; |
92 | 92 | ||
93 | void setLocation( const QString &s ); | 93 | void setLocation( const QString &s ); |
94 | const QString &location() const; | 94 | const QString &location() const; |
95 | 95 | ||
96 | void setNotes( const QString &n ); | 96 | void setNotes( const QString &n ); |
97 | const QString ¬es() const; | 97 | const QString ¬es() const; |
98 | 98 | ||
99 | void setType( Type t ); // Don't use me. | 99 | void setType( Type t ); // Don't use me. |
100 | Type type() const; // Don't use me. | 100 | Type type() const; // Don't use me. |
101 | 101 | ||
102 | void setAllDay(bool); | 102 | void setAllDay(bool); |
103 | bool isAllDay() const; | 103 | bool isAllDay() const; |
104 | 104 | ||
105 | void setStart( const QDateTime &d ); | 105 | void setStart( const QDateTime &d ); |
106 | void setStart( time_t time ); // don't use me. | 106 | void setStart( time_t time ); // don't use me. |
107 | QDateTime start( ) const; | 107 | QDateTime start( ) const; |
108 | QDateTime start( bool actual ) const; // don't use me. | 108 | QDateTime start( bool actual ) const; // don't use me. |
109 | time_t startTime() const { return startUTC; } // don't use me. | 109 | time_t startTime() const { return startUTC; } // don't use me. |
110 | void setEnd( const QDateTime &e ); | 110 | void setEnd( const QDateTime &e ); |
111 | void setEnd( time_t time ); // don't use me | 111 | void setEnd( time_t time ); // don't use me |
112 | QDateTime end( ) const; | 112 | QDateTime end( ) const; |
113 | QDateTime end( bool actual ) const; // don't use me. | 113 | QDateTime end( bool actual ) const; // don't use me. |
114 | time_t endTime() const { return endUTC; } // don't use me. | 114 | time_t endTime() const { return endUTC; } // don't use me. |
115 | void setTimeZone( const QString & ); | 115 | void setTimeZone( const QString & ); |
116 | const QString &timeZone() const; | 116 | const QString &timeZone() const; |
117 | void setAlarm( int minutes, SoundTypeChoice ); | 117 | void setAlarm( int minutes, SoundTypeChoice ); |
118 | void clearAlarm(); | 118 | void clearAlarm(); |
119 | void setAlarm( bool b, int minutes, SoundTypeChoice ); // Don't use me. | 119 | void setAlarm( bool b, int minutes, SoundTypeChoice ); // Don't use me. |
120 | bool hasAlarm() const; | 120 | bool hasAlarm() const; |
121 | int alarmDelay() const; | 121 | int alarmDelay() const; |
122 | int alarmTime() const; // Don't use me. | 122 | int alarmTime() const; // Don't use me. |
123 | SoundTypeChoice alarmSound() const; | 123 | SoundTypeChoice alarmSound() const; |
124 | 124 | ||
125 | RepeatType repeatType() const; | 125 | RepeatType repeatType() const; |
126 | int frequency() const; | 126 | int frequency() const; |
127 | int weekOffset() const; | 127 | int weekOffset() const; |
128 | QDate repeatTill() const; | 128 | QDate repeatTill() const; |
129 | bool repeatForever() const; | 129 | bool repeatForever() const; |
130 | bool repeatOnWeekDay(int day) const; | 130 | bool repeatOnWeekDay(int day) const; |
131 | 131 | ||
132 | void setRepeatType(RepeatType); | 132 | void setRepeatType(RepeatType); |
133 | void setFrequency(int); | 133 | void setFrequency(int); |
134 | void setRepeatTill(const QDate &); | 134 | void setRepeatTill(const QDate &); |
135 | void setRepeatForever(bool); | 135 | void setRepeatForever(bool); |
136 | void setRepeatOnWeekDay(int day, bool enable); | 136 | void setRepeatOnWeekDay(int day, bool enable); |
137 | 137 | ||
138 | // Don't use any of these. | 138 | // Don't use any of these. |
139 | void setRepeat( bool b, const RepeatPattern &p ); | 139 | void setRepeat( bool b, const RepeatPattern &p ); |
140 | void setRepeat( const RepeatPattern &p ); | 140 | void setRepeat( const RepeatPattern &p ); |
141 | bool hasRepeat() const; | 141 | bool hasRepeat() const; |
142 | const RepeatPattern &repeatPattern() const; | 142 | const RepeatPattern &repeatPattern() const; |
143 | RepeatPattern &repeatPattern(); | 143 | RepeatPattern &repeatPattern(); |
144 | bool doRepeat() const { return pattern.type != NoRepeat; } | 144 | bool doRepeat() const { return pattern.type != NoRepeat; } |
145 | 145 | ||
146 | void save( QString& buf ); | 146 | void save( QString& buf ); |
147 | //void load( Node *n ); | 147 | //void load( Node *n ); |
148 | 148 | ||
149 | bool match( const QRegExp &r ) const; | 149 | bool match( const QRegExp &r ) const; |
150 | 150 | ||
151 | // Don't use these either. Functionality will be moved elsewhere. | 151 | // Don't use these either. Functionality will be moved elsewhere. |
152 | 152 | ||
153 | // helper function to calculate the week of the given date | 153 | // helper function to calculate the week of the given date |
154 | static int week( const QDate& date ); | 154 | static int week( const QDate& date ); |
155 | // calculates the number of occurrences of the week day of | 155 | // calculates the number of occurrences of the week day of |
156 | // the given date from the start of the month | 156 | // the given date from the start of the month |
157 | static int occurrence( const QDate& date ); | 157 | static int occurrence( const QDate& date ); |
158 | // returns a proper days-char for a given dayOfWeek() | 158 | // returns a proper days-char for a given dayOfWeek() |
159 | static char day( int dayOfWeek ) { return 1 << ( dayOfWeek - 1 ); } | 159 | static char day( int dayOfWeek ) { return 1 << ( dayOfWeek - 1 ); } |
160 | // returns the dayOfWeek for the *first* day it finds (ignores | 160 | // returns the dayOfWeek for the *first* day it finds (ignores |
161 | // any further days!). Returns 1 (Monday) if there isn't any day found | 161 | // any further days!). Returns 1 (Monday) if there isn't any day found |
162 | static int dayOfWeek( char day ); | 162 | static int dayOfWeek( char day ); |
163 | // returns the difference of months from first to second. | 163 | // returns the difference of months from first to second. |
164 | static int monthDiff( const QDate& first, const QDate& second ); | 164 | static int monthDiff( const QDate& first, const QDate& second ); |
165 | 165 | ||
166 | private: | 166 | private: |
167 | Qtopia::UidGen &uidGen() { return sUidGen; } | 167 | Qtopia::UidGen &uidGen() { return sUidGen; } |
168 | static Qtopia::UidGen sUidGen; | 168 | static Qtopia::UidGen sUidGen; |
169 | 169 | ||
170 | QString descript, locat, categ; | 170 | QString descript, locat, categ; |
171 | Type typ : 4; | 171 | Type typ : 4; |
172 | bool startTimeDirty : 1; | 172 | bool startTimeDirty : 1; |
173 | bool endTimeDirty : 1; | 173 | bool endTimeDirty : 1; |
174 | time_t startUTC, endUTC; | 174 | time_t startUTC, endUTC; |
175 | QString tz; | 175 | QString tz; |
176 | bool hAlarm, hRepeat; | 176 | bool hAlarm, hRepeat; |
177 | int aMinutes; | 177 | int aMinutes; |
178 | SoundTypeChoice aSound; | 178 | SoundTypeChoice aSound; |
179 | RepeatPattern pattern; | 179 | RepeatPattern pattern; |
180 | QString note; | 180 | QString note; |
181 | // ADDITION | 181 | // ADDITION |
182 | int mRid;// Recode ID | 182 | int mRid;// Recode ID |
183 | int mRinfo;// Recode Info | 183 | int mRinfo;// Recode Info |
184 | // | 184 | // |
185 | EventPrivate *d; | 185 | EventPrivate *d; |
186 | 186 | ||
187 | }; | 187 | }; |
188 | 188 | ||
189 | // Since an event spans multiple day, it is better to have this | 189 | // Since an event spans multiple day, it is better to have this |
190 | // class to represent a day instead of creating many | 190 | // class to represent a day instead of creating many |
191 | // dummy events... | 191 | // dummy events... |
192 | 192 | ||
193 | class EffectiveEventPrivate; | 193 | class EffectiveEventPrivate; |
194 | class QPC_EXPORT EffectiveEvent | 194 | class QPC_EXPORT EffectiveEvent |
195 | { | 195 | { |
196 | public: | 196 | public: |
197 | // If we calculate the effective event of a multi-day event | 197 | // If we calculate the effective event of a multi-day event |
198 | // we have to figure out whether we are at the first day, | 198 | // we have to figure out whether we are at the first day, |
199 | // at the end, or anywhere else ("middle"). This is important | 199 | // at the end, or anywhere else ("middle"). This is important |
200 | // for the start/end times (00:00/23:59) | 200 | // for the start/end times (00:00/23:59) |
201 | // MidWay: 00:00 -> 23:59, as we are "in the middle" of a multi- | 201 | // MidWay: 00:00 -> 23:59, as we are "in the middle" of a multi- |
202 | // day event | 202 | // day event |
203 | // Start: start time -> 23:59 | 203 | // Start: start time -> 23:59 |
204 | // End: 00:00 -> end time | 204 | // End: 00:00 -> end time |
205 | // Start | End == StartEnd: for single-day events (default) | 205 | // Start | End == StartEnd: for single-day events (default) |
206 | // here we draw start time -> end time | 206 | // here we draw start time -> end time |
207 | enum Position { MidWay = 0, Start = 1, End = 2, StartEnd = 3 }; | 207 | enum Position { MidWay = 0, Start = 1, End = 2, StartEnd = 3 }; |
208 | 208 | ||
209 | EffectiveEvent(); | 209 | EffectiveEvent(); |
210 | EffectiveEvent( const Event &event, const QDate &startDate, Position pos = StartEnd ); | 210 | EffectiveEvent( const Event &event, const QDate &startDate, Position pos = StartEnd ); |
211 | EffectiveEvent( const EffectiveEvent & ); | 211 | EffectiveEvent( const EffectiveEvent & ); |
212 | EffectiveEvent& operator=( const EffectiveEvent & ); | 212 | EffectiveEvent& operator=( const EffectiveEvent & ); |
213 | ~EffectiveEvent(); | 213 | ~EffectiveEvent(); |
214 | 214 | ||
215 | 215 | ||
216 | bool operator<( const EffectiveEvent &e ) const; | 216 | bool operator<( const EffectiveEvent &e ) const; |
217 | bool operator<=( const EffectiveEvent &e ) const; | 217 | bool operator<=( const EffectiveEvent &e ) const; |
218 | bool operator==( const EffectiveEvent &e ) const; | 218 | bool operator==( const EffectiveEvent &e ) const; |
219 | bool operator!=( const EffectiveEvent &e ) const; | 219 | bool operator!=( const EffectiveEvent &e ) const; |
220 | bool operator>( const EffectiveEvent &e ) const; | 220 | bool operator>( const EffectiveEvent &e ) const; |
221 | bool operator>= ( const EffectiveEvent &e ) const; | 221 | bool operator>= ( const EffectiveEvent &e ) const; |
222 | 222 | ||
223 | void setStart( const QTime &start ); | 223 | void setStart( const QTime &start ); |
224 | void setEnd( const QTime &end ); | 224 | void setEnd( const QTime &end ); |
225 | void setEvent( Event e ); | 225 | void setEvent( Event e ); |
226 | void setDate( const QDate &date ); | 226 | void setDate( const QDate &date ); |
227 | void setEffectiveDates( const QDate &from, const QDate &to ); | 227 | void setEffectiveDates( const QDate &from, const QDate &to ); |
228 | 228 | ||
229 | // QString category() const; | 229 | // QString category() const; |
230 | const QString &description() const; | 230 | const QString &description() const; |
231 | const QString &location() const; | 231 | const QString &location() const; |
232 | const QString ¬es() const; | 232 | const QString ¬es() const; |
233 | const Event &event() const; | 233 | const Event &event() const; |
234 | const QTime &start() const; | 234 | const QTime &start() const; |
235 | const QTime &end() const; | 235 | const QTime &end() const; |
236 | const QDate &date() const; | 236 | const QDate &date() const; |
237 | int length() const; | 237 | int length() const; |
238 | int size() const; | 238 | int size() const; |
239 | 239 | ||
240 | QDate startDate() const; | 240 | QDate startDate() const; |
241 | QDate endDate() const; | 241 | QDate endDate() const; |
242 | 242 | ||
243 | private: | 243 | private: |
244 | class EffectiveEventPrivate *d; | 244 | class EffectiveEventPrivate *d; |
245 | Event mEvent; | 245 | Event mEvent; |
246 | QDate mDate; | 246 | QDate mDate; |
247 | QTime mStart, | 247 | QTime mStart, |
248 | mEnd; | 248 | mEnd; |
249 | 249 | ||
250 | }; | 250 | }; |
251 | 251 | ||
252 | inline void Event::setAlarm( int minutes, SoundTypeChoice s ) | 252 | inline void Event::setAlarm( int minutes, SoundTypeChoice s ) |
253 | { | 253 | { |
254 | setAlarm(TRUE, minutes, s); | 254 | setAlarm(TRUE, minutes, s); |
255 | } | 255 | } |
256 | 256 | ||
257 | inline void Event::clearAlarm() | 257 | inline void Event::clearAlarm() |
258 | { | 258 | { |
259 | setAlarm(FALSE, 0, Silent); | 259 | setAlarm(FALSE, 0, Silent); |
260 | } | 260 | } |
261 | 261 | ||
262 | inline int Event::alarmDelay() const | 262 | inline int Event::alarmDelay() const |
263 | { | 263 | { |
264 | return alarmTime(); | 264 | return alarmTime(); |
265 | } | 265 | } |
266 | 266 | ||
267 | inline void Event::setAllDay(bool enable) | 267 | inline void Event::setAllDay(bool enable) |
268 | { | 268 | { |
269 | if (enable) | 269 | if (enable) |
270 | setType(AllDay); | 270 | setType(AllDay); |
271 | else | 271 | else |
272 | setType(Normal); | 272 | setType(Normal); |
273 | }; | 273 | }; |
274 | 274 | ||
275 | inline bool Event::isAllDay() const | 275 | inline bool Event::isAllDay() const |
276 | { | 276 | { |
277 | return type() == AllDay; | 277 | return type() == AllDay; |
278 | } | 278 | } |
279 | 279 | ||
280 | inline Event::RepeatType Event::repeatType() const | 280 | inline Event::RepeatType Event::repeatType() const |
281 | { | 281 | { |
282 | return repeatPattern().type; | 282 | return repeatPattern().type; |
283 | } | 283 | } |
284 | 284 | ||
285 | inline int Event::frequency() const | 285 | inline int Event::frequency() const |
286 | { | 286 | { |
287 | return repeatPattern().frequency; | 287 | return repeatPattern().frequency; |
288 | } | 288 | } |
289 | 289 | ||
290 | inline int Event::weekOffset() const | 290 | inline int Event::weekOffset() const |
291 | { | 291 | { |
292 | if (start().date().day() == 1) | 292 | if (start().date().day() == 1) |
293 | return 1; | 293 | return 1; |
294 | return (start().date().day() - 1) / 7 + 1; | 294 | return (start().date().day() - 1) / 7 + 1; |
295 | } | 295 | } |
296 | 296 | ||
297 | inline QDate Event::repeatTill() const | 297 | inline QDate Event::repeatTill() const |
298 | { | 298 | { |
299 | return repeatPattern().endDate(); | 299 | return repeatPattern().endDate(); |
300 | } | 300 | } |
301 | 301 | ||
302 | inline bool Event::repeatForever() const | 302 | inline bool Event::repeatForever() const |
303 | { | 303 | { |
304 | return !repeatPattern().hasEndDate; | 304 | return !repeatPattern().hasEndDate; |
305 | } | 305 | } |
306 | 306 | ||
307 | inline void Event::setRepeatType(RepeatType t) | 307 | inline void Event::setRepeatType(RepeatType t) |
308 | { | 308 | { |
309 | pattern.type = t; | 309 | pattern.type = t; |
310 | } | 310 | } |
311 | 311 | ||
312 | inline void Event::setFrequency(int f) | 312 | inline void Event::setFrequency(int f) |
313 | { | 313 | { |
314 | pattern.frequency = f; | 314 | pattern.frequency = f; |
315 | } | 315 | } |
316 | 316 | ||
317 | inline void Event::setRepeatTill(const QDate &d) | 317 | inline void Event::setRepeatTill(const QDate &d) |
318 | { | 318 | { |
319 | pattern.setEndDate(d); | 319 | pattern.setEndDate(d); |
320 | pattern.hasEndDate = TRUE; | 320 | pattern.hasEndDate = TRUE; |
321 | } | 321 | } |
322 | 322 | ||
323 | inline void Event::setRepeatForever(bool b) | 323 | inline void Event::setRepeatForever(bool b) |
324 | { | 324 | { |
325 | if (!b == pattern.hasEndDate) | 325 | if (!b == pattern.hasEndDate) |
326 | return; | 326 | return; |
327 | if (!b && !pattern.hasEndDate) | 327 | if (!b && !pattern.hasEndDate) |
328 | pattern.setEndDate(end().date()); | 328 | pattern.setEndDate(end().date()); |
329 | pattern.hasEndDate = !b; | 329 | pattern.hasEndDate = !b; |
330 | } | 330 | } |
331 | 331 | ||
332 | inline bool Event::repeatOnWeekDay(int day) const | 332 | inline bool Event::repeatOnWeekDay(int day) const |
333 | { | 333 | { |
334 | if (pattern.type != Weekly) | 334 | if (pattern.type != Weekly) |
335 | return FALSE; | 335 | return FALSE; |
336 | return ( (1 << (day - 1)) & pattern.days ) != 0; | 336 | return ( (1 << (day - 1)) & pattern.days ) != 0; |
337 | } | 337 | } |
338 | 338 | ||
339 | inline void Event::setRepeatOnWeekDay(int day, bool enable) | 339 | inline void Event::setRepeatOnWeekDay(int day, bool enable) |
340 | { | 340 | { |
341 | if ( repeatOnWeekDay( day ) != enable ) | 341 | if ( repeatOnWeekDay( day ) != enable ) |
342 | pattern.days ^= 1 << (day - 1); | 342 | pattern.days ^= 1 << (day - 1); |
343 | } | 343 | } |
344 | 344 | /* | |
345 | inline QDateTime Event::start( ) const | 345 | inline QDateTime Event::start( ) const |
346 | { | 346 | { |
347 | return start(FALSE); | 347 | return start(FALSE); |
348 | } | 348 | } |
349 | 349 | ||
350 | inline QDateTime Event::end( ) const | 350 | inline QDateTime Event::end( ) const |
351 | { | 351 | { |
352 | return end(FALSE); | 352 | return end(FALSE); |
353 | } | 353 | } |
354 | 354 | */ | |
355 | #ifdef PALMTOPCENTER | 355 | #ifdef PALMTOPCENTER |
356 | class QPC_EXPORT EffectiveEventSizeSorter : public QSorter<EffectiveEvent> | 356 | class QPC_EXPORT EffectiveEventSizeSorter : public QSorter<EffectiveEvent> |
357 | { | 357 | { |
358 | public: | 358 | public: |
359 | int compare( const EffectiveEvent& a, const EffectiveEvent& b ) const | 359 | int compare( const EffectiveEvent& a, const EffectiveEvent& b ) const |
360 | { | 360 | { |
361 | return a.size() - b.size(); | 361 | return a.size() - b.size(); |
362 | } | 362 | } |
363 | }; | 363 | }; |
364 | 364 | ||
365 | class QPC_EXPORT EffectiveEventTimeSorter : public QSorter<EffectiveEvent> | 365 | class QPC_EXPORT EffectiveEventTimeSorter : public QSorter<EffectiveEvent> |
366 | { | 366 | { |
367 | public: | 367 | public: |
368 | int compare( const EffectiveEvent& a, const EffectiveEvent& b ) const | 368 | int compare( const EffectiveEvent& a, const EffectiveEvent& b ) const |
369 | { | 369 | { |
370 | return a.start().secsTo( b.start() ); | 370 | return a.start().secsTo( b.start() ); |
371 | } | 371 | } |
372 | }; | 372 | }; |
373 | #endif | 373 | #endif |
374 | 374 | ||
375 | #endif | 375 | #endif |