summaryrefslogtreecommitdiff
authorzecke <zecke>2003-02-21 11:35:52 (UTC)
committer zecke <zecke>2003-02-21 11:35:52 (UTC)
commit6917879c47d406b6f4ee234f84b89e17265dd0a5 (patch) (unidiff)
tree8d30ebd64d302cf3e7237154dff7939f2f2aa425
parent2d77abb5ff37abf61e04657431d7e0e1f5138d94 (diff)
downloadopie-6917879c47d406b6f4ee234f84b89e17265dd0a5.zip
opie-6917879c47d406b6f4ee234f84b89e17265dd0a5.tar.gz
opie-6917879c47d406b6f4ee234f84b89e17265dd0a5.tar.bz2
make allday events all bit less fscked up...
Basicly an AllDay Event should be pinned to a day but Qtopia suffers from a problem when changing timezones an AllDay event can span two days... This patch make it at least not span two days..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/backend/event.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/library/backend/event.cpp b/library/backend/event.cpp
index 0003fe9..d906f19 100644
--- a/library/backend/event.cpp
+++ b/library/backend/event.cpp
@@ -521,200 +521,197 @@ 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*/
528void Event::setTimeZone( const QString &z ) 528void 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*/
536void Event::setAlarm( bool b, int minutes, SoundTypeChoice s ) 536void 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*/
546void Event::setRepeat( bool b, const RepeatPattern &p ) 546void 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*/
555void Event::setNotes( const QString &n ) 555void 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*/
563const QString &Event::description() const 563const 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*/
571const QString &Event::location() const 571const 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*/
584Event::Type Event::type() const 584Event::Type Event::type() const
585{ 585{
586 return typ; 586 return typ;
587} 587}
588/* 588/*
589QDateTime Event::start() const { 589QDateTime Event::start() const {
590 return start( TRUE ); 590 return start( TRUE );
591} 591}
592*/ 592*/
593/*! 593/*!
594 \internal 594 \internal
595*/ 595*/
596QDateTime Event::start( bool actual ) const 596QDateTime Event::start( bool actual ) const
597{ 597{
598 QDateTime dt = TimeConversion::fromUTC( startUTC ); 598 QDateTime dt = TimeConversion::fromUTC( startUTC );
599 599
600 if ( actual && typ == AllDay ) { 600 if ( actual && typ == AllDay ) {
601 QTime t = dt.time(); 601 QTime t = dt.time();
602 t.setHMS( 0, 0, 0 ); 602 t.setHMS( 0, 0, 0 );
603 dt.setTime( t ); 603 dt.setTime( t );
604 } 604 }
605 return dt; 605 return dt;
606} 606}
607/* 607/*
608QDateTime Event::end() const { 608QDateTime Event::end() const {
609 return end( TRUE ); 609 return end( TRUE );
610} 610}
611*/ 611*/
612/*! 612/*!
613 \internal 613 \internal
614*/ 614*/
615QDateTime Event::end( bool actual ) const 615QDateTime Event::end( bool actual ) const
616{ 616{
617 QDateTime dt = TimeConversion::fromUTC( endUTC ); 617 /* small work around... */
618
619 if ( actual && typ == AllDay ) { 618 if ( actual && typ == AllDay ) {
620 QTime t = dt.time(); 619 return QDateTime( TimeConversion::fromUTC( startUTC ).date(), QTime(23, 59, 59 ) );
621 t.setHMS( 23, 59, 59 );
622 dt.setTime( t );
623 } 620 }
624 return dt; 621 return TimeConversion::fromUTC( endUTC );
625} 622}
626 623
627/*! 624/*!
628 \internal 625 \internal
629*/ 626*/
630const QString &Event::timeZone() const 627const QString &Event::timeZone() const
631{ 628{
632 return tz; 629 return tz;
633} 630}
634 631
635/*! 632/*!
636 \internal 633 \internal
637*/ 634*/
638bool Event::hasAlarm() const 635bool Event::hasAlarm() const
639{ 636{
640 return hAlarm; 637 return hAlarm;
641} 638}
642 639
643/*! 640/*!
644 \internal 641 \internal
645*/ 642*/
646int Event::alarmTime() const 643int Event::alarmTime() const
647{ 644{
648 return aMinutes; 645 return aMinutes;
649} 646}
650 647
651/*! 648/*!
652 Returns the sound type for the alarm of this event. 649 Returns the sound type for the alarm of this event.
653*/ 650*/
654Event::SoundTypeChoice Event::alarmSound() const 651Event::SoundTypeChoice Event::alarmSound() const
655{ 652{
656 return aSound; 653 return aSound;
657} 654}
658 655
659/*! 656/*!
660 \internal 657 \internal
661*/ 658*/
662bool Event::hasRepeat() const 659bool Event::hasRepeat() const
663{ 660{
664 return doRepeat(); 661 return doRepeat();
665} 662}
666 663
667/*! 664/*!
668 \internal 665 \internal
669*/ 666*/
670const Event::RepeatPattern &Event::repeatPattern() const 667const Event::RepeatPattern &Event::repeatPattern() const
671{ 668{
672 return pattern; 669 return pattern;
673} 670}
674 671
675/*! 672/*!
676 \internal 673 \internal
677*/ 674*/
678Event::RepeatPattern &Event::repeatPattern() 675Event::RepeatPattern &Event::repeatPattern()
679{ 676{
680 return pattern; 677 return pattern;
681} 678}
682 679
683/*! 680/*!
684 Returns the notes for the event. 681 Returns the notes for the event.
685*/ 682*/
686const QString &Event::notes() const 683const QString &Event::notes() const
687{ 684{
688 return note; 685 return note;
689} 686}
690 687
691/*! 688/*!
692 \internal 689 \internal
693*/ 690*/
694bool Event::operator==( const Event &e ) const 691bool Event::operator==( const Event &e ) const
695{ 692{
696 if ( uid() && e.uid() == uid() ) 693 if ( uid() && e.uid() == uid() )
697 return TRUE; 694 return TRUE;
698 return ( e.descript == descript && 695 return ( e.descript == descript &&
699 e.locat == locat && 696 e.locat == locat &&
700 e.categ == categ && 697 e.categ == categ &&
701 e.typ == typ && 698 e.typ == typ &&
702 e.startUTC == startUTC && 699 e.startUTC == startUTC &&
703 e.endUTC == endUTC && 700 e.endUTC == endUTC &&
704 e.tz == tz && 701 e.tz == tz &&
705 e.hAlarm == hAlarm && 702 e.hAlarm == hAlarm &&
706 e.aMinutes == aMinutes && 703 e.aMinutes == aMinutes &&
707 e.aSound == aSound && 704 e.aSound == aSound &&
708 e.hRepeat == hRepeat && 705 e.hRepeat == hRepeat &&
709 e.pattern == pattern && 706 e.pattern == pattern &&
710 e.note == note ); 707 e.note == note );
711} 708}
712 709
713/*! 710/*!
714 \internal 711 \internal
715 Appends the contact information to \a buf. 712 Appends the contact information to \a buf.
716*/ 713*/
717void Event::save( QString& buf ) 714void Event::save( QString& buf )
718{ 715{
719 buf += " description=\"" + Qtopia::escapeString(descript) + "\""; 716 buf += " description=\"" + Qtopia::escapeString(descript) + "\"";
720 if ( !locat.isEmpty() ) 717 if ( !locat.isEmpty() )