-rw-r--r-- | korganizer/koagendaitem.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index a05c60e..5f9ed92 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp | |||
@@ -425,199 +425,201 @@ QPixmap * KOAgendaItem::paintPixAllday() | |||
425 | } | 425 | } |
426 | QPixmap * KOAgendaItem::paintPixSel() | 426 | QPixmap * KOAgendaItem::paintPixSel() |
427 | { | 427 | { |
428 | static QPixmap* mPaintPixSel = 0; | 428 | static QPixmap* mPaintPixSel = 0; |
429 | if ( ! mPaintPixSel ) | 429 | if ( ! mPaintPixSel ) |
430 | mPaintPixSel = new QPixmap(1,1); | 430 | mPaintPixSel = new QPixmap(1,1); |
431 | return mPaintPixSel ; | 431 | return mPaintPixSel ; |
432 | } | 432 | } |
433 | void KOAgendaItem::paintEvent ( QPaintEvent *e ) | 433 | void KOAgendaItem::paintEvent ( QPaintEvent *e ) |
434 | { | 434 | { |
435 | 435 | ||
436 | if ( globalFlagBlockAgendaItemPaint ) | 436 | if ( globalFlagBlockAgendaItemPaint ) |
437 | return; | 437 | return; |
438 | if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) | 438 | if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) |
439 | return; | 439 | return; |
440 | int yy; | 440 | int yy; |
441 | if ( mAllDay ) | 441 | if ( mAllDay ) |
442 | yy = y(); | 442 | yy = y(); |
443 | else | 443 | else |
444 | yy = mCellYTop * ( height() / cellHeight() ); | 444 | yy = mCellYTop * ( height() / cellHeight() ); |
445 | int xx = x(); | 445 | int xx = x(); |
446 | if ( xPaintCoord != xx || yPaintCoord != yy || | 446 | if ( xPaintCoord != xx || yPaintCoord != yy || |
447 | wPaintCoord != width() || hPaintCoord != height()) { | 447 | wPaintCoord != width() || hPaintCoord != height()) { |
448 | xPaintCoord= xx; | 448 | xPaintCoord= xx; |
449 | yPaintCoord = yy; | 449 | yPaintCoord = yy; |
450 | wPaintCoord = width(); | 450 | wPaintCoord = width(); |
451 | hPaintCoord = height(); | 451 | hPaintCoord = height(); |
452 | globalFlagBlockAgendaItemUpdate = 0; | 452 | globalFlagBlockAgendaItemUpdate = 0; |
453 | paintMe( mSelected ); | 453 | paintMe( mSelected ); |
454 | //qDebug("calling paintMe "); | 454 | //qDebug("calling paintMe "); |
455 | globalFlagBlockAgendaItemUpdate = 1; | 455 | globalFlagBlockAgendaItemUpdate = 1; |
456 | } | 456 | } |
457 | int rx, ry, rw, rh; | 457 | int rx, ry, rw, rh; |
458 | rx = e->rect().x(); | 458 | rx = e->rect().x(); |
459 | ry = e->rect().y(); | 459 | ry = e->rect().y(); |
460 | rw = e->rect().width(); | 460 | rw = e->rect().width(); |
461 | rh = e->rect().height(); | 461 | rh = e->rect().height(); |
462 | //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); | 462 | //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); |
463 | 463 | ||
464 | QPixmap* paintFrom ; | 464 | QPixmap* paintFrom ; |
465 | if ( mSelected ) { | 465 | if ( mSelected ) { |
466 | paintFrom = paintPixSel(); | 466 | paintFrom = paintPixSel(); |
467 | } else { | 467 | } else { |
468 | if ( mAllDay ) | 468 | if ( mAllDay ) |
469 | paintFrom = paintPixAllday(); | 469 | paintFrom = paintPixAllday(); |
470 | else | 470 | else |
471 | paintFrom = paintPix(); | 471 | paintFrom = paintPix(); |
472 | } | 472 | } |
473 | bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP); | 473 | bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP); |
474 | } | 474 | } |
475 | void KOAgendaItem::computeText() | 475 | void KOAgendaItem::computeText() |
476 | { | 476 | { |
477 | 477 | ||
478 | mDisplayedText = mIncidence->summary(); | 478 | mDisplayedText = mIncidence->summary(); |
479 | if ( (mIncidence->type() == "Todo") ) { | 479 | if ( (mIncidence->type() == "Todo") ) { |
480 | if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { | 480 | if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { |
481 | if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) | 481 | if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) |
482 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; | 482 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; |
483 | else if ( !(mIncidence->doesFloat())) | 483 | else if ( !(mIncidence->doesFloat())) |
484 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; | 484 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; |
485 | } | 485 | } |
486 | } else { | 486 | } else { |
487 | if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) | 487 | if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) |
488 | mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; | 488 | mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; |
489 | 489 | ||
490 | if ( mAllDay ) { | 490 | if ( mAllDay ) { |
491 | if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { | 491 | if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { |
492 | mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; | 492 | mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; |
493 | } | 493 | } |
494 | } | 494 | } |
495 | 495 | ||
496 | } | 496 | } |
497 | 497 | ||
498 | if ( !mIncidence->location().isEmpty() ) { | 498 | if ( !mIncidence->location().isEmpty() ) { |
499 | if ( mAllDay ) | 499 | if ( mAllDay ) |
500 | mDisplayedText += " ("; | 500 | mDisplayedText += " ("; |
501 | else | 501 | else |
502 | mDisplayedText += "\n("; | 502 | mDisplayedText += "\n("; |
503 | mDisplayedText += mIncidence->location() +")"; | 503 | mDisplayedText += mIncidence->location() +")"; |
504 | } | 504 | } |
505 | 505 | ||
506 | QString tipText = mIncidence->summary(); | 506 | QString tipText = mIncidence->summary(); |
507 | QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence )); | 507 | QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence )); |
508 | if ( !mIncidence->doesFloat() ) { | 508 | if ( !mIncidence->doesFloat() ) { |
509 | if ( mIncidence->type() == "Event" ) { | 509 | if ( mIncidence->type() == "Event" ) { |
510 | if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { | 510 | if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { |
511 | tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); | 511 | tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); |
512 | tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr(); | 512 | tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr(); |
513 | } | 513 | } |
514 | else { | 514 | else { |
515 | tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr(); | 515 | tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr(); |
516 | tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr(); | 516 | tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr(); |
517 | } | 517 | } |
518 | } | 518 | } |
519 | else if ( mIncidence->type() == "Todo" ) { | 519 | else if ( mIncidence->type() == "Todo" ) { |
520 | if (mIncidence->hasStartDate()) | 520 | if (mIncidence->hasStartDate()) |
521 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr(); | 521 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr(); |
522 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); | 522 | if (((Todo*)mIncidence)->hasDueDate()) |
523 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); | ||
523 | } | 524 | } |
524 | } else if ( mIncidence->type() == "Todo" ) { | 525 | } else if ( mIncidence->type() == "Todo" ) { |
525 | if (mIncidence->hasStartDate()) | 526 | if (mIncidence->hasStartDate()) |
526 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr(); | 527 | tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr(); |
527 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); | 528 | if (((Todo*)mIncidence)->hasDueDate()) |
529 | tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); | ||
528 | } | 530 | } |
529 | 531 | ||
530 | if (!mIncidence->location().isEmpty()) { | 532 | if (!mIncidence->location().isEmpty()) { |
531 | tipText += "\n"+i18n("Location: ")+mIncidence->location(); | 533 | tipText += "\n"+i18n("Location: ")+mIncidence->location(); |
532 | } | 534 | } |
533 | QToolTip::add(this,tipText,toolTipGroup(),""); | 535 | QToolTip::add(this,tipText,toolTipGroup(),""); |
534 | 536 | ||
535 | } | 537 | } |
536 | void KOAgendaItem::updateItem() | 538 | void KOAgendaItem::updateItem() |
537 | { | 539 | { |
538 | computeText(); | 540 | computeText(); |
539 | 541 | ||
540 | //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y()); | 542 | //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y()); |
541 | paintMe( mSelected ); | 543 | paintMe( mSelected ); |
542 | repaint( false); | 544 | repaint( false); |
543 | } | 545 | } |
544 | 546 | ||
545 | void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) | 547 | void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) |
546 | { | 548 | { |
547 | //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1()); | 549 | //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1()); |
548 | paintMe( mSelected ); | 550 | paintMe( mSelected ); |
549 | repaint( false ); | 551 | repaint( false ); |
550 | } | 552 | } |
551 | 553 | ||
552 | /* | 554 | /* |
553 | Return height of item in units of agenda cells | 555 | Return height of item in units of agenda cells |
554 | */ | 556 | */ |
555 | int KOAgendaItem::cellHeight() | 557 | int KOAgendaItem::cellHeight() |
556 | { | 558 | { |
557 | int ret = mCellYBottom - mCellYTop + 1; | 559 | int ret = mCellYBottom - mCellYTop + 1; |
558 | if ( ret <= 0 ) { | 560 | if ( ret <= 0 ) { |
559 | ret = 1; | 561 | ret = 1; |
560 | mCellYBottom = 0; | 562 | mCellYBottom = 0; |
561 | mCellYTop = 0; | 563 | mCellYTop = 0; |
562 | } | 564 | } |
563 | return ret; | 565 | return ret; |
564 | } | 566 | } |
565 | 567 | ||
566 | /* | 568 | /* |
567 | Return height of item in units of agenda cells | 569 | Return height of item in units of agenda cells |
568 | */ | 570 | */ |
569 | int KOAgendaItem::cellWidth() | 571 | int KOAgendaItem::cellWidth() |
570 | { | 572 | { |
571 | return mCellXWidth - mCellX + 1; | 573 | return mCellXWidth - mCellX + 1; |
572 | } | 574 | } |
573 | 575 | ||
574 | void KOAgendaItem::setItemDate(QDate qd) | 576 | void KOAgendaItem::setItemDate(QDate qd) |
575 | { | 577 | { |
576 | mDate = qd; | 578 | mDate = qd; |
577 | } | 579 | } |
578 | 580 | ||
579 | void KOAgendaItem::setCellXY(int X, int YTop, int YBottom) | 581 | void KOAgendaItem::setCellXY(int X, int YTop, int YBottom) |
580 | { | 582 | { |
581 | mCellX = X; | 583 | mCellX = X; |
582 | mCellYTop = YTop; | 584 | mCellYTop = YTop; |
583 | mCellYBottom = YBottom; | 585 | mCellYBottom = YBottom; |
584 | } | 586 | } |
585 | 587 | ||
586 | void KOAgendaItem::setCellXWidth(int xwidth) | 588 | void KOAgendaItem::setCellXWidth(int xwidth) |
587 | { | 589 | { |
588 | mCellXWidth = xwidth; | 590 | mCellXWidth = xwidth; |
589 | } | 591 | } |
590 | 592 | ||
591 | void KOAgendaItem::setCellX(int XLeft, int XRight) | 593 | void KOAgendaItem::setCellX(int XLeft, int XRight) |
592 | { | 594 | { |
593 | mCellX = XLeft; | 595 | mCellX = XLeft; |
594 | mCellXWidth = XRight; | 596 | mCellXWidth = XRight; |
595 | } | 597 | } |
596 | 598 | ||
597 | void KOAgendaItem::setCellY(int YTop, int YBottom) | 599 | void KOAgendaItem::setCellY(int YTop, int YBottom) |
598 | { | 600 | { |
599 | mCellYTop = YTop; | 601 | mCellYTop = YTop; |
600 | mCellYBottom = YBottom; | 602 | mCellYBottom = YBottom; |
601 | } | 603 | } |
602 | 604 | ||
603 | void KOAgendaItem::setSubCell(int subCell) | 605 | void KOAgendaItem::setSubCell(int subCell) |
604 | { | 606 | { |
605 | mSubCell = subCell; | 607 | mSubCell = subCell; |
606 | } | 608 | } |
607 | 609 | ||
608 | void KOAgendaItem::setSubCells(int subCells) | 610 | void KOAgendaItem::setSubCells(int subCells) |
609 | { | 611 | { |
610 | mSubCells = subCells; | 612 | mSubCells = subCells; |
611 | } | 613 | } |
612 | 614 | ||
613 | void KOAgendaItem::setMultiItem(KOAgendaItem *first,KOAgendaItem *next, | 615 | void KOAgendaItem::setMultiItem(KOAgendaItem *first,KOAgendaItem *next, |
614 | KOAgendaItem *last) | 616 | KOAgendaItem *last) |
615 | { | 617 | { |
616 | mFirstMultiItem = first; | 618 | mFirstMultiItem = first; |
617 | mNextMultiItem = next; | 619 | mNextMultiItem = next; |
618 | mLastMultiItem = last; | 620 | mLastMultiItem = last; |
619 | } | 621 | } |
620 | 622 | ||
621 | void KOAgendaItem::startMove() | 623 | void KOAgendaItem::startMove() |
622 | { | 624 | { |
623 | mStartCellX = mCellX; | 625 | mStartCellX = mCellX; |