-rw-r--r-- | core/pim/datebook/datebookday.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/core/pim/datebook/datebookday.cpp b/core/pim/datebook/datebookday.cpp index 325b902..aaf3e16 100644 --- a/core/pim/datebook/datebookday.cpp +++ b/core/pim/datebook/datebookday.cpp @@ -552,137 +552,140 @@ void DateBookDay::keyPressEvent(QKeyEvent *e) break; case Key_Left: setDate(QDate(currDate).addDays(-1)); break; case Key_Right: setDate(QDate(currDate).addDays(1)); break; default: e->ignore(); } } //=========================================================================== DateBookDayWidget::DateBookDayWidget( const EffectiveEvent &e, DateBookDay *db ) : QWidget( db->dayView()->viewport() ), ev( e ), dateBook( db ) { // why would someone use "<"? Oh well, fix it up... // I wonder what other things may be messed up... QString strDesc = ev.description(); int where = strDesc.find( "<" ); while ( where != -1 ) { strDesc.remove( where, 1 ); strDesc.insert( where, "<" ); where = strDesc.find( "<", where ); } QString strCat; // ### Fix later... // QString strCat = ev.category(); // where = strCat.find( "<" ); // while ( where != -1 ) { // strCat.remove( where, 1 ); // strCat.insert( where, "<" ); // where = strCat.find( "<", where ); // } QString strNote = ev.notes(); where = strNote.find( "<" ); while ( where != -1 ) { strNote.remove( where, 1 ); strNote.insert( where, "<" ); where = strNote.find( "<", where ); } - text = "<b>" + strDesc + "</b><br>" + "<i>" - + strCat + "</i><br>"; + text = "<b>" + strDesc + "</b><br>" + "<i>"; + if ( !strCat.isEmpty() ) { + text += strCat + "</i><br>"; + } if (ev.event().type() == Event::Normal ) setEventText( text ); else setAllDayText( text ); text += "<br><br>" + strNote; setBackgroundMode( PaletteBase ); QTime start = ev.start(); QTime end = ev.end(); int y = start.hour()*60+start.minute(); int h = end.hour()*60+end.minute()-y; int rh = dateBook->dayView()->rowHeight(0); y = y*rh/60; h = h*rh/60; - if ( h < 3 ) + if ( h < 3 ) { h = 3; + } geom.setY( y ); geom.setHeight( h ); geom.setX( 0 ); geom.setWidth(dateBook->dayView()->columnWidth(0)-1); } void DateBookDayWidget::setAllDayText( QString &text ) { text += "<b>" + tr("This is an all day event.") + "</b><br>"; } void DateBookDayWidget::setEventText( QString& text ) { bool whichClock = dateBook->dayView()->whichClock(); - text += "<b>" + tr("Start") + "</b>: "; + text += "<b>" + tr("Time") + "</b>: "; if ( ev.startDate() != ev.date() ) { // multi-day event. Show start date text += TimeString::longDateString( ev.startDate() ); } else { // Show start time. text += TimeString::timeString( ev.start(), whichClock, FALSE ); } - text += "<br><b>" + tr("End") + "</b>: "; + text += "<b>" + tr(" - ") + "</b>"; if ( ev.endDate() != ev.date() ) { // multi-day event. Show end date text += TimeString::longDateString( ev.endDate() ); } else { // Show end time. text += TimeString::timeString( ev.end(), whichClock, FALSE ); } } DateBookDayWidget::~DateBookDayWidget() { } void DateBookDayWidget::paintEvent( QPaintEvent *e ) { QPainter p( this ); if (dateBook->getSelectedWidget() == this) { p.setBrush( QColor( 155, 240, 230 ) ); // selected item } else { if (dateBook->date() == QDate::currentDate()) { QTime curTime = QTime::currentTime(); if (ev.end() < curTime) { p.setBrush( QColor( 180, 180, 180 ) ); // grey, inactive } else { //change color in dependence of the time till the event starts int duration = curTime.secsTo(ev.start()); if (duration < 0) duration = 0; int colChange = duration*160/86400; //86400: secs per day, 160: max color shift p.setBrush( QColor( 200-colChange, 200-colChange, 255 ) ); //blue } } else { p.setBrush( QColor( 220, 220, 220 ) ); //light grey, inactive (not current date) //perhaps make a distinction between future/past dates } } p.setPen( QColor(100, 100, 100) ); p.drawRect(rect()); |