-rw-r--r-- | core/pim/datebook/datebookweek.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/core/pim/datebook/datebookweek.cpp b/core/pim/datebook/datebookweek.cpp index 874cf24..8241655 100644 --- a/core/pim/datebook/datebookweek.cpp +++ b/core/pim/datebook/datebookweek.cpp @@ -173,62 +173,60 @@ static inline int db_round30min( int m ) else m = 2; return m; } void DateBookWeekView::alterDay( int day ) { if ( !bOnMonday ) { day--; } emit showDay( day ); } void DateBookWeekView::positionItem( DateBookWeekItem *i ) { const int Width = 8; const EffectiveEvent ev = i->event(); // 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; + 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 * rowHeight / 2; - y = 0; - } else { - h=y2-y; - if ( h < 1 ) h = 1; + h = (48 * rowHeight) / 2; + y = 0; + } else { + h=y2-y; + if ( h < (1*rowHeight)/2 ) h = (1*rowHeight)/2; } int dow = ev.date().dayOfWeek(); if ( !bOnMonday ) { if ( dow == 7 ) dow = 1; else dow++; } int x = header->sectionPos( dow ) - 1; int xlim = header->sectionPos( dow ) + header->sectionSize( dow ); DateBookWeekItem *isect = 0; do { i->setGeometry( x, y, Width, h ); isect = intersects( i ); x += Width - 1; } while ( isect && x < xlim ); } DateBookWeekItem *DateBookWeekView::intersects( const DateBookWeekItem *item ) { QRect geom = item->geometry(); // We allow the edges to overlap |