author | umopapisdn <umopapisdn> | 2003-05-13 23:05:10 (UTC) |
---|---|---|
committer | umopapisdn <umopapisdn> | 2003-05-13 23:05:10 (UTC) |
commit | 3cd39cd981c4691c559042075c5223d09c87007e (patch) (side-by-side diff) | |
tree | 729ffa45a15a09f744860829e2ae0839871157f7 | |
parent | 1e0e2f57472538bd880967ebe061c8f39a7e270b (diff) | |
download | opie-3cd39cd981c4691c559042075c5223d09c87007e.zip opie-3cd39cd981c4691c559042075c5223d09c87007e.tar.gz opie-3cd39cd981c4691c559042075c5223d09c87007e.tar.bz2 |
Bugfix: (Bug #0000862) The red time marker should only be visible if we are showing today's date.
-rw-r--r-- | core/pim/datebook/datebookday.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/pim/datebook/datebookday.cpp b/core/pim/datebook/datebookday.cpp index 8232a51..0b213e9 100644 --- a/core/pim/datebook/datebookday.cpp +++ b/core/pim/datebook/datebookday.cpp @@ -469,99 +469,101 @@ void DateBookDay::relayoutPage( bool fromResize ) memset( hours, 0, 24*sizeof( int ) ); bool overFlow = FALSE; for ( int i = 0; i < wCount; i++ ) { DateBookDayWidget *w = widgetList.at(i); int start = w->event().start().hour(); QTime e = w->event().end(); int end = e.hour(); if ( e.minute() < 5 ) end--; if ( end < start ) end = start; while( start <= end ) { hours[start]++; if ( hours[start] >= 10 ) overFlow = TRUE; ++start; } if ( overFlow ) break; } for ( int i = 0; i < 24; i++ ) { n = QMAX( n, hours[i] ); } wid = ( view->columnWidth(0)-1 ) / n; bool used[24*10]; memset( used, FALSE, 24*10*sizeof( bool ) ); for ( int i = 0; i < wCount; i++ ) { DateBookDayWidget *w = widgetList.at(i); int xp = place( w, used, n ); if ( xp != -1 ) { QRect geom = w->geometry(); geom.setX( xp*(wid+2) ); geom.setWidth( wid ); w->setGeometry( geom ); } } if (jumpToCurTime && this->date() == QDate::currentDate()) { view->setContentsPos( 0, QTime::currentTime().hour() * view->rowHeight(0) ); //set listview to current hour } else { view->setContentsPos( 0, startTime * view->rowHeight(0) ); } } timeMarker->setTime( QTime::currentTime() ); //display timeMarker timeMarker->raise(); //on top of all widgets - if (this->date() == QDate::currentDate()) //only show timeMarker on current day - timeMarker->show(); else timeMarker->hide(); - + if (this->date() == QDate::currentDate()) { //only show timeMarker on current day + timeMarker->show(); + } else { + timeMarker->hide(); + } setUpdatesEnabled( TRUE ); return; } DateBookDayWidget *DateBookDay::intersects( const DateBookDayWidget *item, const QRect &geom ) { int i = 0; DateBookDayWidget *w = widgetList.at(i); int wCount = widgetList.count(); while ( i < wCount && w != item ) { if ( w->geometry().intersects( geom ) ) { return w; } w = widgetList.at(++i); } return 0; } QDate DateBookDay::date() const { return currDate; } void DateBookDay::setStartViewTime( int startHere ) { startTime = startHere; dayView()->clearSelection(); QTableSelection ts; if (jumpToCurTime && this->date() == QDate::currentDate()) { //this should probably be in datebook.cpp where it's called? ts.init( QTime::currentTime().hour(), 0); ts.expandTo( QTime::currentTime().hour(), 0); } else { ts.init( startTime, 0 ); ts.expandTo( startTime, 0 ); } dayView()->addSelection( ts ); } int DateBookDay::startViewTime() const { return startTime; } void DateBookDay::slotWeekChanged( bool bStartOnMonday ) |