summaryrefslogtreecommitdiff
authorumopapisdn <umopapisdn>2003-05-13 23:05:10 (UTC)
committer umopapisdn <umopapisdn>2003-05-13 23:05:10 (UTC)
commit3cd39cd981c4691c559042075c5223d09c87007e (patch) (unidiff)
tree729ffa45a15a09f744860829e2ae0839871157f7
parent1e0e2f57472538bd880967ebe061c8f39a7e270b (diff)
downloadopie-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.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookday.cpp8
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 )
469 memset( hours, 0, 24*sizeof( int ) ); 469 memset( hours, 0, 24*sizeof( int ) );
470 bool overFlow = FALSE; 470 bool overFlow = FALSE;
471 for ( int i = 0; i < wCount; i++ ) { 471 for ( int i = 0; i < wCount; i++ ) {
472 DateBookDayWidget *w = widgetList.at(i); 472 DateBookDayWidget *w = widgetList.at(i);
473 int start = w->event().start().hour(); 473 int start = w->event().start().hour();
474 QTime e = w->event().end(); 474 QTime e = w->event().end();
475 int end = e.hour(); 475 int end = e.hour();
476 if ( e.minute() < 5 ) 476 if ( e.minute() < 5 )
477 end--; 477 end--;
478 if ( end < start ) 478 if ( end < start )
479 end = start; 479 end = start;
480 while( start <= end ) { 480 while( start <= end ) {
481 hours[start]++; 481 hours[start]++;
482 if ( hours[start] >= 10 ) 482 if ( hours[start] >= 10 )
483 overFlow = TRUE; 483 overFlow = TRUE;
484 ++start; 484 ++start;
485 } 485 }
486 if ( overFlow ) 486 if ( overFlow )
487 break; 487 break;
488 } 488 }
489 for ( int i = 0; i < 24; i++ ) { 489 for ( int i = 0; i < 24; i++ ) {
490 n = QMAX( n, hours[i] ); 490 n = QMAX( n, hours[i] );
491 } 491 }
492 wid = ( view->columnWidth(0)-1 ) / n; 492 wid = ( view->columnWidth(0)-1 ) / n;
493 493
494 bool used[24*10]; 494 bool used[24*10];
495 memset( used, FALSE, 24*10*sizeof( bool ) ); 495 memset( used, FALSE, 24*10*sizeof( bool ) );
496 496
497 for ( int i = 0; i < wCount; i++ ) { 497 for ( int i = 0; i < wCount; i++ ) {
498 DateBookDayWidget *w = widgetList.at(i); 498 DateBookDayWidget *w = widgetList.at(i);
499 int xp = place( w, used, n ); 499 int xp = place( w, used, n );
500 if ( xp != -1 ) { 500 if ( xp != -1 ) {
501 QRect geom = w->geometry(); 501 QRect geom = w->geometry();
502 geom.setX( xp*(wid+2) ); 502 geom.setX( xp*(wid+2) );
503 geom.setWidth( wid ); 503 geom.setWidth( wid );
504 w->setGeometry( geom ); 504 w->setGeometry( geom );
505 } 505 }
506 } 506 }
507 507
508 if (jumpToCurTime && this->date() == QDate::currentDate()) { 508 if (jumpToCurTime && this->date() == QDate::currentDate()) {
509 view->setContentsPos( 0, QTime::currentTime().hour() * view->rowHeight(0) ); //set listview to current hour 509 view->setContentsPos( 0, QTime::currentTime().hour() * view->rowHeight(0) ); //set listview to current hour
510 } else { 510 } else {
511 view->setContentsPos( 0, startTime * view->rowHeight(0) ); 511 view->setContentsPos( 0, startTime * view->rowHeight(0) );
512 } 512 }
513 } 513 }
514 514
515 timeMarker->setTime( QTime::currentTime() );//display timeMarker 515 timeMarker->setTime( QTime::currentTime() );//display timeMarker
516 timeMarker->raise(); //on top of all widgets 516 timeMarker->raise(); //on top of all widgets
517 if (this->date() == QDate::currentDate()) //only show timeMarker on current day 517 if (this->date() == QDate::currentDate()) { //only show timeMarker on current day
518 timeMarker->show(); else timeMarker->hide(); 518 timeMarker->show();
519 519 } else {
520 timeMarker->hide();
521 }
520 setUpdatesEnabled( TRUE ); 522 setUpdatesEnabled( TRUE );
521 return; 523 return;
522} 524}
523 525
524DateBookDayWidget *DateBookDay::intersects( const DateBookDayWidget *item, const QRect &geom ) 526DateBookDayWidget *DateBookDay::intersects( const DateBookDayWidget *item, const QRect &geom )
525{ 527{
526 int i = 0; 528 int i = 0;
527 DateBookDayWidget *w = widgetList.at(i); 529 DateBookDayWidget *w = widgetList.at(i);
528 int wCount = widgetList.count(); 530 int wCount = widgetList.count();
529 while ( i < wCount && w != item ) { 531 while ( i < wCount && w != item ) {
530 if ( w->geometry().intersects( geom ) ) { 532 if ( w->geometry().intersects( geom ) ) {
531 return w; 533 return w;
532 } 534 }
533 w = widgetList.at(++i); 535 w = widgetList.at(++i);
534 } 536 }
535 537
536 return 0; 538 return 0;
537} 539}
538 540
539 541
540QDate DateBookDay::date() const 542QDate DateBookDay::date() const
541{ 543{
542 return currDate; 544 return currDate;
543} 545}
544 546
545void DateBookDay::setStartViewTime( int startHere ) 547void DateBookDay::setStartViewTime( int startHere )
546{ 548{
547 startTime = startHere; 549 startTime = startHere;
548 dayView()->clearSelection(); 550 dayView()->clearSelection();
549 QTableSelection ts; 551 QTableSelection ts;
550 552
551 if (jumpToCurTime && this->date() == QDate::currentDate()) {//this should probably be in datebook.cpp where it's called? 553 if (jumpToCurTime && this->date() == QDate::currentDate()) {//this should probably be in datebook.cpp where it's called?
552 ts.init( QTime::currentTime().hour(), 0); 554 ts.init( QTime::currentTime().hour(), 0);
553 ts.expandTo( QTime::currentTime().hour(), 0); 555 ts.expandTo( QTime::currentTime().hour(), 0);
554 } else { 556 } else {
555 ts.init( startTime, 0 ); 557 ts.init( startTime, 0 );
556 ts.expandTo( startTime, 0 ); 558 ts.expandTo( startTime, 0 );
557 } 559 }
558 560
559 dayView()->addSelection( ts ); 561 dayView()->addSelection( ts );
560} 562}
561 563
562int DateBookDay::startViewTime() const 564int DateBookDay::startViewTime() const
563{ 565{
564 return startTime; 566 return startTime;
565} 567}
566 568
567void DateBookDay::slotWeekChanged( bool bStartOnMonday ) 569void DateBookDay::slotWeekChanged( bool bStartOnMonday )