summaryrefslogtreecommitdiffabout
path: root/korganizer/koagendaitem.cpp
Unidiff
Diffstat (limited to 'korganizer/koagendaitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaitem.cpp10
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}
426QPixmap * KOAgendaItem::paintPixSel() 426QPixmap * 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}
433void KOAgendaItem::paintEvent ( QPaintEvent *e ) 433void 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}
475void KOAgendaItem::computeText() 475void 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}
536void KOAgendaItem::updateItem() 538void 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
545void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) 547void 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*/
555int KOAgendaItem::cellHeight() 557int 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*/
569int KOAgendaItem::cellWidth() 571int KOAgendaItem::cellWidth()
570{ 572{
571 return mCellXWidth - mCellX + 1; 573 return mCellXWidth - mCellX + 1;
572} 574}
573 575
574void KOAgendaItem::setItemDate(QDate qd) 576void KOAgendaItem::setItemDate(QDate qd)
575{ 577{
576 mDate = qd; 578 mDate = qd;
577} 579}
578 580
579void KOAgendaItem::setCellXY(int X, int YTop, int YBottom) 581void 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
586void KOAgendaItem::setCellXWidth(int xwidth) 588void KOAgendaItem::setCellXWidth(int xwidth)
587{ 589{
588 mCellXWidth = xwidth; 590 mCellXWidth = xwidth;
589} 591}
590 592
591void KOAgendaItem::setCellX(int XLeft, int XRight) 593void KOAgendaItem::setCellX(int XLeft, int XRight)
592{ 594{
593 mCellX = XLeft; 595 mCellX = XLeft;
594 mCellXWidth = XRight; 596 mCellXWidth = XRight;
595} 597}
596 598
597void KOAgendaItem::setCellY(int YTop, int YBottom) 599void KOAgendaItem::setCellY(int YTop, int YBottom)
598{ 600{
599 mCellYTop = YTop; 601 mCellYTop = YTop;
600 mCellYBottom = YBottom; 602 mCellYBottom = YBottom;
601} 603}
602 604
603void KOAgendaItem::setSubCell(int subCell) 605void KOAgendaItem::setSubCell(int subCell)
604{ 606{
605 mSubCell = subCell; 607 mSubCell = subCell;
606} 608}
607 609
608void KOAgendaItem::setSubCells(int subCells) 610void KOAgendaItem::setSubCells(int subCells)
609{ 611{
610 mSubCells = subCells; 612 mSubCells = subCells;
611} 613}
612 614
613void KOAgendaItem::setMultiItem(KOAgendaItem *first,KOAgendaItem *next, 615void 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
621void KOAgendaItem::startMove() 623void KOAgendaItem::startMove()
622{ 624{
623 mStartCellX = mCellX; 625 mStartCellX = mCellX;