summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/datebook/datebookweek.cpp37
1 files changed, 16 insertions, 21 deletions
diff --git a/core/pim/datebook/datebookweek.cpp b/core/pim/datebook/datebookweek.cpp
index ddd41af..e30c776 100644
--- a/core/pim/datebook/datebookweek.cpp
+++ b/core/pim/datebook/datebookweek.cpp
@@ -189,22 +189,25 @@ void DateBookWeekView::positionItem( DateBookWeekItem *i )
// 30 minute intervals
int y = ev.start().hour() * 2;
y += db_round30min( ev.start().minute() );
+ int y2 = ev.end().hour() * 2;
+ y2 += db_round30min( ev.end().minute() );
if ( y > 47 )
y = 47;
+ if ( y2 > 48 )
+ y2 = 48;
y = y * rowHeight / 2;
+ y2 = y2 * rowHeight / 2;
int h;
if ( ev.event().type() == Event::AllDay ) {
- h = 48;
+ h = 48 * rowHeight / 2;
y = 0;
} else {
- h = ( ev.end().hour() - ev.start().hour() ) * 2;
- h += db_round30min( ev.end().minute() - ev.start().minute() );
+ h=y2-y;
if ( h < 1 ) h = 1;
}
- h = h * rowHeight / 2;
int dow = ev.date().dayOfWeek();
if ( !bOnMonday ) {
if ( dow == 7 )
@@ -467,25 +470,17 @@ void DateBookWeek::generateAllDayTooltext( QString& text ) {
void DateBookWeek::generateNormalTooltext( QString& str,
const EffectiveEvent &ev ) {
str += "<b>" + QObject::tr("Start") + "</b>: ";
-
- if ( ev.startDate() != ev.date() ) {
- // multi-day event. Show start date
- str += TimeString::longDateString( ev.startDate() );
- } else {
- // Show start time.
- str += TimeString::timeString(ev.start(), ampm, FALSE );
- }
-
-
- str += "<br><b>" + QObject::tr("End") + "</b>: ";
- if ( ev.endDate() != ev.date() ) {
- // multi-day event. Show end date
- str += TimeString::longDateString( ev.endDate() );
- } else {
- // Show end time.
- str += TimeString::timeString( ev.end(), ampm, FALSE );
+ str += TimeString::timeString( ev.event().start().time(), ampm, FALSE );
+ if( ev.startDate()!=ev.endDate() ) {
+ str += " <i>" + TimeString::longDateString( ev.startDate() )+"</i>";
+ }
+ str += "<br>";
+ str += "<b>" + QObject::tr("End") + "</b>: ";
+ str += TimeString::timeString( ev.event().end().time(), ampm, FALSE );
+ if( ev.startDate()!=ev.endDate() ) {
+ str += " <i>" + TimeString::longDateString( ev.endDate() ) + "</i>";
}
}
void DateBookWeek::slotShowEvent( const EffectiveEvent &ev )