-rw-r--r-- | korganizer/koagendaitem.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index b416115..407424d 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp | |||
@@ -517,136 +517,140 @@ void KOAgendaItem::paintEvent ( QPaintEvent *e ) | |||
517 | xPaintCoord= xx; | 517 | xPaintCoord= xx; |
518 | yPaintCoord = yy; | 518 | yPaintCoord = yy; |
519 | wPaintCoord = width(); | 519 | wPaintCoord = width(); |
520 | hPaintCoord = height(); | 520 | hPaintCoord = height(); |
521 | globalFlagBlockAgendaItemUpdate = 0; | 521 | globalFlagBlockAgendaItemUpdate = 0; |
522 | paintMe( mSelected ); | 522 | paintMe( mSelected ); |
523 | //qDebug("calling paintMe "); | 523 | //qDebug("calling paintMe "); |
524 | globalFlagBlockAgendaItemUpdate = 1; | 524 | globalFlagBlockAgendaItemUpdate = 1; |
525 | if ( mSelected ) | 525 | if ( mSelected ) |
526 | return; | 526 | return; |
527 | } | 527 | } |
528 | int rx, ry, rw, rh; | 528 | int rx, ry, rw, rh; |
529 | rx = e->rect().x(); | 529 | rx = e->rect().x(); |
530 | ry = e->rect().y(); | 530 | ry = e->rect().y(); |
531 | rw = e->rect().width(); | 531 | rw = e->rect().width(); |
532 | rh = e->rect().height(); | 532 | rh = e->rect().height(); |
533 | //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); | 533 | //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); |
534 | 534 | ||
535 | QPixmap* paintFrom ; | 535 | QPixmap* paintFrom ; |
536 | if ( mSelected ) { | 536 | if ( mSelected ) { |
537 | paintMe( mSelected ); | 537 | paintMe( mSelected ); |
538 | return; | 538 | return; |
539 | } else { | 539 | } else { |
540 | if ( mAllDay ) | 540 | if ( mAllDay ) |
541 | paintFrom = paintPixAllday(); | 541 | paintFrom = paintPixAllday(); |
542 | else | 542 | else |
543 | paintFrom = paintPix(); | 543 | paintFrom = paintPix(); |
544 | } | 544 | } |
545 | xx += rx; | 545 | xx += rx; |
546 | 546 | ||
547 | if ( xx < 0 ) { | 547 | if ( xx < 0 ) { |
548 | rw = rw + xx; | 548 | rw = rw + xx; |
549 | rx -= xx; | 549 | rx -= xx; |
550 | xx = 0; | 550 | xx = 0; |
551 | if ( rw <= 1 ) { | 551 | if ( rw <= 1 ) { |
552 | //qDebug("KOAgendaItem::Width1 <= 1 (%d). Returning. %s",rw,mDisplayedText.latin1()); | 552 | //qDebug("KOAgendaItem::Width1 <= 1 (%d). Returning. %s",rw,mDisplayedText.latin1()); |
553 | return; | 553 | return; |
554 | } | 554 | } |
555 | } | 555 | } |
556 | if ( paintFrom->width() < xx+rw ) { | 556 | if ( paintFrom->width() < xx+rw ) { |
557 | rw = paintFrom->width() - xx; | 557 | rw = paintFrom->width() - xx; |
558 | if ( rw <= 1 ) { | 558 | if ( rw <= 1 ) { |
559 | //qDebug("KOAgendaItem::Width2 <= 1 (%d). Returning.%s ",rw,mDisplayedText.latin1() ); | 559 | //qDebug("KOAgendaItem::Width2 <= 1 (%d). Returning.%s ",rw,mDisplayedText.latin1() ); |
560 | return; | 560 | return; |
561 | } | 561 | } |
562 | } | 562 | } |
563 | //qDebug("%d %d %d %d %d %d %d",rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh); | 563 | //qDebug("%d %d %d %d %d %d %d",rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh); |
564 | bitBlt (this, rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh ,CopyROP); | 564 | bitBlt (this, rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh ,CopyROP); |
565 | } | 565 | } |
566 | void KOAgendaItem::computeText() | 566 | void KOAgendaItem::computeText() |
567 | { | 567 | { |
568 | mDisplayedText = mIncidence->summary(); | 568 | mDisplayedText = mIncidence->summary(); |
569 | if ( (mIncidence->typeID() == todoID ) ) { | 569 | if ( (mIncidence->typeID() == todoID ) ) { |
570 | if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { | 570 | if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { |
571 | if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) | 571 | if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) |
572 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; | 572 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; |
573 | else if ( !(mIncidence->doesFloat())) | 573 | else if ( !(mIncidence->doesFloat())) |
574 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; | 574 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; |
575 | } | 575 | } |
576 | } else { | 576 | } else { |
577 | if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) | 577 | if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) |
578 | mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + " - " + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; | 578 | mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + " - " + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; |
579 | 579 | ||
580 | if ( mAllDay ) { | 580 | if ( mAllDay ) { |
581 | if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { | 581 | if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { |
582 | if ( mIncidence->doesRecur() ) { | 582 | int dur = 1+ (static_cast<Event*>(mIncidence))->dtStart().date().daysTo( (static_cast<Event*>(mIncidence))->dtEnd().date() ); |
583 | mDisplayedText += " (" + mIncidence->recurrence()->recurrenceText() + ")"; | 583 | mDisplayedText += " ("+QString::number( dur )+i18n(" days") +")" ; |
584 | } else { | 584 | |
585 | int dur = 1+ (static_cast<Event*>(mIncidence))->dtStart().date().daysTo( (static_cast<Event*>(mIncidence))->dtEnd().date() ); | 585 | if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { |
586 | mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) + " ("+QString::number( dur )+i18n(" days") +")" ; | 586 | if ( mIncidence->doesRecur() ) { |
587 | } | 587 | mDisplayedText += " (" + mIncidence->recurrence()->recurrenceText() + ")"; |
588 | } | 588 | } else { |
589 | mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true); | ||
590 | } | ||
591 | } | ||
592 | } | ||
589 | } | 593 | } |
590 | } | 594 | } |
591 | if ( !mIncidence->location().isEmpty() ) { | 595 | if ( !mIncidence->location().isEmpty() ) { |
592 | if ( mAllDay ) | 596 | if ( mAllDay ) |
593 | mDisplayedText += " ("; | 597 | mDisplayedText += " ("; |
594 | else | 598 | else |
595 | mDisplayedText += "\n("; | 599 | mDisplayedText += "\n("; |
596 | mDisplayedText += mIncidence->location() +")"; | 600 | mDisplayedText += mIncidence->location() +")"; |
597 | } | 601 | } |
598 | #ifdef DESKTOP_VERSION | 602 | #ifdef DESKTOP_VERSION |
599 | QString tipText = mIncidence->summary(); | 603 | QString tipText = mIncidence->summary(); |
600 | if ( !mIncidence->doesFloat() ) { | 604 | if ( !mIncidence->doesFloat() ) { |
601 | if ( mIncidence->typeID() == eventID ) { | 605 | if ( mIncidence->typeID() == eventID ) { |
602 | if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { | 606 | if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { |
603 | tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); | 607 | tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); |
604 | tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr(); | 608 | tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr(); |
605 | } | 609 | } |
606 | else { | 610 | else { |
607 | tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr(); | 611 | tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr(); |
608 | tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr(); | 612 | tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr(); |
609 | } | 613 | } |
610 | } | 614 | } |
611 | else if ( mIncidence->typeID() == todoID ) { | 615 | else if ( mIncidence->typeID() == todoID ) { |
612 | if (mIncidence->hasStartDate()) | 616 | if (mIncidence->hasStartDate()) |
613 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr(); | 617 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr(); |
614 | if (((Todo*)mIncidence)->hasDueDate()) | 618 | if (((Todo*)mIncidence)->hasDueDate()) |
615 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); | 619 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); |
616 | } | 620 | } |
617 | } else if ( mIncidence->typeID() == todoID ) { | 621 | } else if ( mIncidence->typeID() == todoID ) { |
618 | if (mIncidence->hasStartDate()) | 622 | if (mIncidence->hasStartDate()) |
619 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr(); | 623 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr(); |
620 | if (((Todo*)mIncidence)->hasDueDate()) | 624 | if (((Todo*)mIncidence)->hasDueDate()) |
621 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); | 625 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); |
622 | } | 626 | } |
623 | 627 | ||
624 | if (!mIncidence->location().isEmpty()) { | 628 | if (!mIncidence->location().isEmpty()) { |
625 | tipText += "\n"+i18n("Location: ")+mIncidence->location(); | 629 | tipText += "\n"+i18n("Location: ")+mIncidence->location(); |
626 | } | 630 | } |
627 | QToolTip::add(this,tipText,toolTipGroup(),""); | 631 | QToolTip::add(this,tipText,toolTipGroup(),""); |
628 | #endif | 632 | #endif |
629 | } | 633 | } |
630 | void KOAgendaItem::updateItem() | 634 | void KOAgendaItem::updateItem() |
631 | { | 635 | { |
632 | computeText(); | 636 | computeText(); |
633 | 637 | ||
634 | //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y()); | 638 | //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y()); |
635 | paintMe( mSelected ); | 639 | paintMe( mSelected ); |
636 | repaint( false); | 640 | repaint( false); |
637 | } | 641 | } |
638 | 642 | ||
639 | void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) | 643 | void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) |
640 | { | 644 | { |
641 | //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1()); | 645 | //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1()); |
642 | paintMe( mSelected ); | 646 | paintMe( mSelected ); |
643 | repaint( false ); | 647 | repaint( false ); |
644 | } | 648 | } |
645 | 649 | ||
646 | /* | 650 | /* |
647 | Return height of item in units of agenda cells | 651 | Return height of item in units of agenda cells |
648 | */ | 652 | */ |
649 | int KOAgendaItem::cellHeight() | 653 | int KOAgendaItem::cellHeight() |
650 | { | 654 | { |
651 | int ret = mCellYBottom - mCellYTop + 1; | 655 | int ret = mCellYBottom - mCellYTop + 1; |
652 | if ( ret <= 0 ) { | 656 | if ( ret <= 0 ) { |