summaryrefslogtreecommitdiff
authorumopapisdn <umopapisdn>2003-03-22 00:35:37 (UTC)
committer umopapisdn <umopapisdn>2003-03-22 00:35:37 (UTC)
commit5d488108161a2dfe1377ac38226b5d8a3a438d11 (patch) (unidiff)
tree1c1931f4e0a03e95ba1d1324135d6bf703c8c4fa
parentebf65f250904e0619c10b69a0428fcc538ffc167 (diff)
downloadopie-5d488108161a2dfe1377ac38226b5d8a3a438d11.zip
opie-5d488108161a2dfe1377ac38226b5d8a3a438d11.tar.gz
opie-5d488108161a2dfe1377ac38226b5d8a3a438d11.tar.bz2
More informative dayview text:
An event that begins and ends on the same day is only mentioned by start and end time. An event that spans across multiple days, is also mentioned with start and end date.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookday.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/core/pim/datebook/datebookday.cpp b/core/pim/datebook/datebookday.cpp
index aaf3e16..a6a1be3 100644
--- a/core/pim/datebook/datebookday.cpp
+++ b/core/pim/datebook/datebookday.cpp
@@ -570,146 +570,141 @@ DateBookDayWidget::DateBookDayWidget( const EffectiveEvent &e,
570 570
571 571
572 // why would someone use "<"? Oh well, fix it up... 572 // why would someone use "<"? Oh well, fix it up...
573 // I wonder what other things may be messed up... 573 // I wonder what other things may be messed up...
574 QString strDesc = ev.description(); 574 QString strDesc = ev.description();
575 int where = strDesc.find( "<" ); 575 int where = strDesc.find( "<" );
576 while ( where != -1 ) { 576 while ( where != -1 ) {
577 strDesc.remove( where, 1 ); 577 strDesc.remove( where, 1 );
578 strDesc.insert( where, "&#60;" ); 578 strDesc.insert( where, "&#60;" );
579 where = strDesc.find( "<", where ); 579 where = strDesc.find( "<", where );
580 } 580 }
581 581
582 QString strCat; 582 QString strCat;
583 // ### Fix later... 583 // ### Fix later...
584// QString strCat = ev.category(); 584// QString strCat = ev.category();
585// where = strCat.find( "<" ); 585// where = strCat.find( "<" );
586// while ( where != -1 ) { 586// while ( where != -1 ) {
587 // strCat.remove( where, 1 ); 587 // strCat.remove( where, 1 );
588 // strCat.insert( where, "&#60;" ); 588 // strCat.insert( where, "&#60;" );
589 // where = strCat.find( "<", where ); 589 // where = strCat.find( "<", where );
590// } 590// }
591 591
592 QString strNote = ev.notes(); 592 QString strNote = ev.notes();
593 where = strNote.find( "<" ); 593 where = strNote.find( "<" );
594 while ( where != -1 ) { 594 while ( where != -1 ) {
595 strNote.remove( where, 1 ); 595 strNote.remove( where, 1 );
596 strNote.insert( where, "&#60;" ); 596 strNote.insert( where, "&#60;" );
597 where = strNote.find( "<", where ); 597 where = strNote.find( "<", where );
598 } 598 }
599 599
600 text = "<b>" + strDesc + "</b><br>" + "<i>"; 600 text = "<b>" + strDesc + "</b><br>" + "<i>";
601 if ( !strCat.isEmpty() ) { 601 if ( !strCat.isEmpty() ) {
602 text += strCat + "</i><br>"; 602 text += strCat + "</i><br>";
603 } 603 }
604 if (ev.event().type() == Event::Normal ) 604 if (ev.event().type() == Event::Normal )
605 setEventText( text ); 605 setEventText( text );
606 else 606 else
607 setAllDayText( text ); 607 setAllDayText( text );
608 608
609 text += "<br><br>" + strNote; 609 text += "<br><br>" + strNote;
610 610
611 setBackgroundMode( PaletteBase ); 611 setBackgroundMode( PaletteBase );
612 612
613 QTime start = ev.start(); 613 QTime start = ev.start();
614 QTime end = ev.end(); 614 QTime end = ev.end();
615 int y = start.hour()*60+start.minute(); 615 int y = start.hour()*60+start.minute();
616 int h = end.hour()*60+end.minute()-y; 616 int h = end.hour()*60+end.minute()-y;
617 int rh = dateBook->dayView()->rowHeight(0); 617 int rh = dateBook->dayView()->rowHeight(0);
618 y = y*rh/60; 618 y = y*rh/60;
619 h = h*rh/60; 619 h = h*rh/60;
620 if ( h < 3 ) { 620 if ( h < 3 ) {
621 h = 3; 621 h = 3;
622 } 622 }
623 geom.setY( y ); 623 geom.setY( y );
624 geom.setHeight( h ); 624 geom.setHeight( h );
625 geom.setX( 0 ); 625 geom.setX( 0 );
626 geom.setWidth(dateBook->dayView()->columnWidth(0)-1); 626 geom.setWidth(dateBook->dayView()->columnWidth(0)-1);
627 627
628} 628}
629void DateBookDayWidget::setAllDayText( QString &text ) { 629void DateBookDayWidget::setAllDayText( QString &text ) {
630 text += "<b>" + tr("This is an all day event.") + "</b><br>"; 630 text += "<b>" + tr("This is an all day event.") + "</b><br>";
631} 631}
632void DateBookDayWidget::setEventText( QString& text ) { 632void DateBookDayWidget::setEventText( QString& text ) {
633 bool whichClock = dateBook->dayView()->whichClock(); 633 bool whichClock = dateBook->dayView()->whichClock();
634 text += "<b>" + tr("Time") + "</b>: "; 634 if ( ev.startDate() != ev.endDate() ) {
635 if ( ev.startDate() != ev.date() ) { 635 text += "<b>" + tr("Start") + "</b>: ";
636 // multi-day event. Show start date 636 text += TimeString::timeString( ev.event().start().time(), whichClock, FALSE );
637 text += TimeString::longDateString( ev.startDate() ); 637 text += " - " + TimeString::longDateString( ev.startDate() ) + "<br>";
638 text += "<b>" + tr("End") + "</b>: ";
639 text += TimeString::timeString( ev.event().end().time(), whichClock, FALSE );
640 text += " - " + TimeString::longDateString( ev.endDate() ) + "<br>";
638 } else { 641 } else {
639 // Show start time. 642 text += "<b>" + tr("Time") + "</b>: ";
640 text += TimeString::timeString( ev.start(), whichClock, FALSE ); 643 text += TimeString::timeString( ev.start(), whichClock, FALSE );
641 } 644 text += "<b>" + tr(" - ") + "</b>";
642
643 text += "<b>" + tr(" - ") + "</b>";
644 if ( ev.endDate() != ev.date() ) {
645 // multi-day event. Show end date
646 text += TimeString::longDateString( ev.endDate() );
647 } else {
648 // Show end time.
649 text += TimeString::timeString( ev.end(), whichClock, FALSE ); 645 text += TimeString::timeString( ev.end(), whichClock, FALSE );
650 } 646 }
651
652} 647}
653 648
654DateBookDayWidget::~DateBookDayWidget() 649DateBookDayWidget::~DateBookDayWidget()
655{ 650{
656} 651}
657 652
658void DateBookDayWidget::paintEvent( QPaintEvent *e ) 653void DateBookDayWidget::paintEvent( QPaintEvent *e )
659{ 654{
660 QPainter p( this ); 655 QPainter p( this );
661 656
662 if (dateBook->getSelectedWidget() == this) 657 if (dateBook->getSelectedWidget() == this)
663 { 658 {
664 p.setBrush( QColor( 155, 240, 230 ) ); // selected item 659 p.setBrush( QColor( 155, 240, 230 ) ); // selected item
665 } else 660 } else
666 { 661 {
667 if (dateBook->date() == QDate::currentDate()) 662 if (dateBook->date() == QDate::currentDate())
668 { 663 {
669 QTime curTime = QTime::currentTime(); 664 QTime curTime = QTime::currentTime();
670 665
671 if (ev.end() < curTime) 666 if (ev.end() < curTime)
672 { 667 {
673 p.setBrush( QColor( 180, 180, 180 ) ); // grey, inactive 668 p.setBrush( QColor( 180, 180, 180 ) ); // grey, inactive
674 } else 669 } else
675 { 670 {
676 //change color in dependence of the time till the event starts 671 //change color in dependence of the time till the event starts
677 int duration = curTime.secsTo(ev.start()); 672 int duration = curTime.secsTo(ev.start());
678 if (duration < 0) duration = 0; 673 if (duration < 0) duration = 0;
679 int colChange = duration*160/86400; //86400: secs per day, 160: max color shift 674 int colChange = duration*160/86400; //86400: secs per day, 160: max color shift
680 675
681 p.setBrush( QColor( 200-colChange, 200-colChange, 255 ) ); //blue 676 p.setBrush( QColor( 200-colChange, 200-colChange, 255 ) ); //blue
682 } 677 }
683 } else 678 } else
684 { 679 {
685 p.setBrush( QColor( 220, 220, 220 ) ); //light grey, inactive (not current date) 680 p.setBrush( QColor( 220, 220, 220 ) ); //light grey, inactive (not current date)
686 //perhaps make a distinction between future/past dates 681 //perhaps make a distinction between future/past dates
687 } 682 }
688 } 683 }
689 684
690 p.setPen( QColor(100, 100, 100) ); 685 p.setPen( QColor(100, 100, 100) );
691 p.drawRect(rect()); 686 p.drawRect(rect());
692 687
693 // p.drawRect(0,0, 5, height()); 688 // p.drawRect(0,0, 5, height());
694 689
695 int y = 0; 690 int y = 0;
696 int d = 0; 691 int d = 0;
697 692
698 if ( ev.event().hasAlarm() ) { 693 if ( ev.event().hasAlarm() ) {
699 p.drawPixmap( width() - 16, 0, Resource::loadPixmap( "bell" ) ); 694 p.drawPixmap( width() - 16, 0, Resource::loadPixmap( "bell" ) );
700 y = 20; 695 y = 20;
701 d = 20; 696 d = 20;
702 } 697 }
703 698
704 if ( ev.event().hasRepeat() ) { 699 if ( ev.event().hasRepeat() ) {
705 p.drawPixmap( width() - 16, y, Resource::loadPixmap( "repeat" ) ); 700 p.drawPixmap( width() - 16, y, Resource::loadPixmap( "repeat" ) );
706 d = 20; 701 d = 20;
707 y += 20; 702 y += 20;
708 } 703 }
709 704
710 QSimpleRichText rt( text, font() ); 705 QSimpleRichText rt( text, font() );
711 rt.setWidth( geom.width() - d - 6 ); 706 rt.setWidth( geom.width() - d - 6 );
712 rt.draw( &p, 7, 0, e->region(), colorGroup() ); 707 rt.draw( &p, 7, 0, e->region(), colorGroup() );
713} 708}
714 709
715void DateBookDayWidget::mousePressEvent( QMouseEvent *e ) 710void DateBookDayWidget::mousePressEvent( QMouseEvent *e )