summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-04-08 10:54:05 (UTC)
committer zautrix <zautrix>2005-04-08 10:54:05 (UTC)
commit59fb8a0ac35bf3b81f1c4e2e4fc6b61356d064ef (patch) (unidiff)
treeab604082029c081fa8725c5535a51a23bb963ef2 /korganizer
parentc82f9b40f6023dc7b39ac555cba8c4c313f15ca8 (diff)
downloadkdepimpi-59fb8a0ac35bf3b81f1c4e2e4fc6b61356d064ef.zip
kdepimpi-59fb8a0ac35bf3b81f1c4e2e4fc6b61356d064ef.tar.gz
kdepimpi-59fb8a0ac35bf3b81f1c4e2e4fc6b61356d064ef.tar.bz2
fixes
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaitem.cpp28
-rw-r--r--korganizer/komonthview.cpp21
2 files changed, 35 insertions, 14 deletions
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp
index 23afe7a..e545ca8 100644
--- a/korganizer/koagendaitem.cpp
+++ b/korganizer/koagendaitem.cpp
@@ -398,237 +398,245 @@ void KOAgendaItem::paintMe( bool selected, QPainter* paint )
398 yy+= AGENDA_ICON_SIZE+2; 398 yy+= AGENDA_ICON_SIZE+2;
399 h -=(AGENDA_ICON_SIZE+3); 399 h -=(AGENDA_ICON_SIZE+3);
400 } 400 }
401 } 401 }
402 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue(); 402 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue();
403 if ( colsum < 250 ) 403 if ( colsum < 250 )
404 paint->setPen ( white); 404 paint->setPen ( white);
405 if ( x < 0 ) { 405 if ( x < 0 ) {
406 w = w+x-3; 406 w = w+x-3;
407 x = 3; 407 x = 3;
408 if ( w > parentWidget()->width() ){ 408 if ( w > parentWidget()->width() ){
409 w = parentWidget()->width() - 6; 409 w = parentWidget()->width() - 6;
410#ifndef DESKTOP_VERSION 410#ifndef DESKTOP_VERSION
411 align = ( AlignHCenter|WordBreak|AlignTop); 411 align = ( AlignHCenter|WordBreak|AlignTop);
412#else 412#else
413 align = ( AlignHCenter|BreakAnywhere|WordBreak|AlignTop); 413 align = ( AlignHCenter|BreakAnywhere|WordBreak|AlignTop);
414#endif 414#endif
415 415
416 } 416 }
417 } 417 }
418 QRect dr; 418 QRect dr;
419 if ( w + x > parentWidget()->width() ) 419 if ( w + x > parentWidget()->width() )
420 w = parentWidget()->width()-x; 420 w = parentWidget()->width()-x;
421 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr ); 421 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr );
422 //qDebug("%d %d %d %d ", x, yy, w, h ); 422 //qDebug("%d %d %d %d ", x, yy, w, h );
423 if ( mIncidence->cancelled() ){ 423 if ( mIncidence->cancelled() ){
424 424
425 425
426 small = ( height() < 20 ); 426 small = ( height() < 20 );
427 427
428 if ( ! small ) { 428 if ( ! small ) {
429 QFontMetrics fm ( paint->font() ); 429 QFontMetrics fm ( paint->font() );
430 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2); 430 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2);
431 } 431 }
432 432
433 } 433 }
434 pa.end(); 434 pa.end();
435 435
436} 436}
437void KOAgendaItem::resizePixmap( int w , int h ) 437void KOAgendaItem::resizePixmap( int w , int h )
438{ 438{
439 paintPix()->resize( w, h ); 439 paintPix()->resize( w, h );
440 paintPixSel()->resize( w, h ); 440 paintPixSel()->resize( w, h );
441 441
442} 442}
443QPixmap * KOAgendaItem::paintPix() 443QPixmap * KOAgendaItem::paintPix()
444{ 444{
445 static QPixmap* mPaintPix = 0; 445 static QPixmap* mPaintPix = 0;
446 if ( ! mPaintPix ) 446 if ( ! mPaintPix ) {
447 mPaintPix = new QPixmap(1,1); 447 int w = QApplication::desktop()->width();
448 int h = QApplication::desktop()->height();
449 mPaintPix = new QPixmap(w,h);
450 }
448 return mPaintPix ; 451 return mPaintPix ;
449} 452}
450QPixmap * KOAgendaItem::paintPixAllday() 453QPixmap * KOAgendaItem::paintPixAllday()
451{ 454{
452 static QPixmap* mPaintPixA = 0; 455 static QPixmap* mPaintPixA = 0;
453 if ( ! mPaintPixA ) 456 if ( ! mPaintPixA ) {
454 mPaintPixA = new QPixmap(1,1); 457 int w = QApplication::desktop()->width();
458 int h = QApplication::desktop()->height()/3;
459 mPaintPixA = new QPixmap(w,h);
460 }
455 return mPaintPixA ; 461 return mPaintPixA ;
456} 462}
457QPixmap * KOAgendaItem::paintPixSel() 463QPixmap * KOAgendaItem::paintPixSel()
458{ 464{
459 static QPixmap* mPaintPixSel = 0; 465 static QPixmap* mPaintPixSel = 0;
460 if ( ! mPaintPixSel ) 466 if ( ! mPaintPixSel ) {
461 mPaintPixSel = new QPixmap(1,1); 467 int w = QApplication::desktop()->width();
468 int h = QApplication::desktop()->height();
469 mPaintPixSel = new QPixmap(w,h);
470 }
462 return mPaintPixSel ; 471 return mPaintPixSel ;
463} 472}
464void KOAgendaItem::paintEvent ( QPaintEvent *e ) 473void KOAgendaItem::paintEvent ( QPaintEvent *e )
465{ 474{
466 475
467 if ( globalFlagBlockAgendaItemPaint ) 476 if ( globalFlagBlockAgendaItemPaint )
468 return; 477 return;
469 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) 478 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 )
470 return; 479 return;
471 int yy; 480 int yy;
472 if ( mAllDay ) 481 if ( mAllDay )
473 yy = y(); 482 yy = y();
474 else 483 else
475 yy = mCellYTop * ( height() / cellHeight() ); 484 yy = mCellYTop * ( height() / cellHeight() );
476 int xx = x(); 485 int xx = x();
477 486
478 if ( xPaintCoord != xx || yPaintCoord != yy || 487 if ( xPaintCoord != xx || yPaintCoord != yy ||
479 wPaintCoord != width() || hPaintCoord != height()) { 488 wPaintCoord != width() || hPaintCoord != height()) {
480 xPaintCoord= xx; 489 xPaintCoord= xx;
481 yPaintCoord = yy; 490 yPaintCoord = yy;
482 wPaintCoord = width(); 491 wPaintCoord = width();
483 hPaintCoord = height(); 492 hPaintCoord = height();
484 globalFlagBlockAgendaItemUpdate = 0; 493 globalFlagBlockAgendaItemUpdate = 0;
485 paintMe( mSelected ); 494 paintMe( mSelected );
486 //qDebug("calling paintMe "); 495 //qDebug("calling paintMe ");
487 globalFlagBlockAgendaItemUpdate = 1; 496 globalFlagBlockAgendaItemUpdate = 1;
488 } 497 }
489 int rx, ry, rw, rh; 498 int rx, ry, rw, rh;
490 rx = e->rect().x(); 499 rx = e->rect().x();
491 ry = e->rect().y(); 500 ry = e->rect().y();
492 rw = e->rect().width(); 501 rw = e->rect().width();
493 rh = e->rect().height(); 502 rh = e->rect().height();
494 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); 503 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height());
495 504
496 QPixmap* paintFrom ; 505 QPixmap* paintFrom ;
497 if ( mSelected ) { 506 if ( mSelected ) {
498 paintFrom = paintPixSel(); 507 paintFrom = paintPixSel();
499 } else { 508 } else {
500 if ( mAllDay ) 509 if ( mAllDay )
501 paintFrom = paintPixAllday(); 510 paintFrom = paintPixAllday();
502 else 511 else
503 paintFrom = paintPix(); 512 paintFrom = paintPix();
504 } 513 }
505 xx += rx; 514 xx += rx;
506 515
507 if ( xx < 0 ) { 516 if ( xx < 0 ) {
508 rw = rw + xx; 517 rw = rw + xx;
509 rx -= xx; 518 rx -= xx;
510 xx = 0; 519 xx = 0;
511 if ( rw <= 1 ) { 520 if ( rw <= 1 ) {
512 //qDebug("KOAgendaItem::Width1 <= 1 (%d). Returning. %s",rw,mDisplayedText.latin1()); 521 //qDebug("KOAgendaItem::Width1 <= 1 (%d). Returning. %s",rw,mDisplayedText.latin1());
513 return; 522 return;
514 } 523 }
515 } 524 }
516 if ( paintFrom->width() < xx+rw ) { 525 if ( paintFrom->width() < xx+rw ) {
517 rw = paintFrom->width() - xx; 526 rw = paintFrom->width() - xx;
518 if ( rw <= 1 ) { 527 if ( rw <= 1 ) {
519 //qDebug("KOAgendaItem::Width2 <= 1 (%d). Returning.%s ",rw,mDisplayedText.latin1() ); 528 //qDebug("KOAgendaItem::Width2 <= 1 (%d). Returning.%s ",rw,mDisplayedText.latin1() );
520 return; 529 return;
521 } 530 }
522 } 531 }
523 //qDebug("%d %d %d %d %d %d %d",rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh); 532 //qDebug("%d %d %d %d %d %d %d",rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh);
524 bitBlt (this, rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh ,CopyROP); 533 bitBlt (this, rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh ,CopyROP);
525} 534}
526void KOAgendaItem::computeText() 535void KOAgendaItem::computeText()
527{ 536{
528
529 mDisplayedText = mIncidence->summary(); 537 mDisplayedText = mIncidence->summary();
530 if ( (mIncidence->type() == "Todo") ) { 538 if ( (mIncidence->type() == "Todo") ) {
531 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { 539 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) {
532 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) 540 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() )
533 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; 541 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")";
534 else if ( !(mIncidence->doesFloat())) 542 else if ( !(mIncidence->doesFloat()))
535 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; 543 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")";
536 } 544 }
537 } else { 545 } else {
538 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) 546 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda)
539 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; 547 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + " - " + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ;
540 548
541 if ( mAllDay ) { 549 if ( mAllDay ) {
542 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { 550 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) {
543 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; 551 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ;
544 } 552 }
545 } 553 }
546 554
547 } 555 }
548 556
549 if ( !mIncidence->location().isEmpty() ) { 557 if ( !mIncidence->location().isEmpty() ) {
550 if ( mAllDay ) 558 if ( mAllDay )
551 mDisplayedText += " ("; 559 mDisplayedText += " (";
552 else 560 else
553 mDisplayedText += "\n("; 561 mDisplayedText += "\n(";
554 mDisplayedText += mIncidence->location() +")"; 562 mDisplayedText += mIncidence->location() +")";
555 } 563 }
556 564#ifdef DESKTOP_VERSION
557 QString tipText = mIncidence->summary(); 565 QString tipText = mIncidence->summary();
558 if ( !mIncidence->doesFloat() ) { 566 if ( !mIncidence->doesFloat() ) {
559 if ( mIncidence->type() == "Event" ) { 567 if ( mIncidence->type() == "Event" ) {
560 if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { 568 if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) {
561 tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); 569 tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr();
562 tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr(); 570 tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr();
563 } 571 }
564 else { 572 else {
565 tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr(); 573 tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr();
566 tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr(); 574 tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr();
567 } 575 }
568 } 576 }
569 else if ( mIncidence->type() == "Todo" ) { 577 else if ( mIncidence->type() == "Todo" ) {
570 if (mIncidence->hasStartDate()) 578 if (mIncidence->hasStartDate())
571 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr(); 579 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr();
572 if (((Todo*)mIncidence)->hasDueDate()) 580 if (((Todo*)mIncidence)->hasDueDate())
573 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); 581 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr();
574 } 582 }
575 } else if ( mIncidence->type() == "Todo" ) { 583 } else if ( mIncidence->type() == "Todo" ) {
576 if (mIncidence->hasStartDate()) 584 if (mIncidence->hasStartDate())
577 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr(); 585 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr();
578 if (((Todo*)mIncidence)->hasDueDate()) 586 if (((Todo*)mIncidence)->hasDueDate())
579 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); 587 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr();
580 } 588 }
581 589
582 if (!mIncidence->location().isEmpty()) { 590 if (!mIncidence->location().isEmpty()) {
583 tipText += "\n"+i18n("Location: ")+mIncidence->location(); 591 tipText += "\n"+i18n("Location: ")+mIncidence->location();
584 } 592 }
585 QToolTip::add(this,tipText,toolTipGroup(),""); 593 QToolTip::add(this,tipText,toolTipGroup(),"");
586 594#endif
587} 595}
588void KOAgendaItem::updateItem() 596void KOAgendaItem::updateItem()
589{ 597{
590 computeText(); 598 computeText();
591 599
592 //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y()); 600 //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y());
593 paintMe( mSelected ); 601 paintMe( mSelected );
594 repaint( false); 602 repaint( false);
595} 603}
596 604
597void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) 605void KOAgendaItem::resizeEvent ( QResizeEvent *ev )
598{ 606{
599 //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1()); 607 //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1());
600 paintMe( mSelected ); 608 paintMe( mSelected );
601 repaint( false ); 609 repaint( false );
602} 610}
603 611
604/* 612/*
605 Return height of item in units of agenda cells 613 Return height of item in units of agenda cells
606*/ 614*/
607int KOAgendaItem::cellHeight() 615int KOAgendaItem::cellHeight()
608{ 616{
609 int ret = mCellYBottom - mCellYTop + 1; 617 int ret = mCellYBottom - mCellYTop + 1;
610 if ( ret <= 0 ) { 618 if ( ret <= 0 ) {
611 ret = 1; 619 ret = 1;
612 mCellYBottom = 0; 620 mCellYBottom = 0;
613 mCellYTop = 0; 621 mCellYTop = 0;
614 } 622 }
615 return ret; 623 return ret;
616} 624}
617 625
618/* 626/*
619 Return height of item in units of agenda cells 627 Return height of item in units of agenda cells
620*/ 628*/
621int KOAgendaItem::cellWidth() 629int KOAgendaItem::cellWidth()
622{ 630{
623 return mCellXWidth - mCellX + 1; 631 return mCellXWidth - mCellX + 1;
624} 632}
625 633
626void KOAgendaItem::setItemDate(QDate qd) 634void KOAgendaItem::setItemDate(QDate qd)
627{ 635{
628 mDate = qd; 636 mDate = qd;
629} 637}
630 638
631void KOAgendaItem::setCellXY(int X, int YTop, int YBottom) 639void KOAgendaItem::setCellXY(int X, int YTop, int YBottom)
632{ 640{
633 mCellX = X; 641 mCellX = X;
634 mCellYTop = YTop; 642 mCellYTop = YTop;
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 4dfb9df..65d6acf 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -596,272 +596,285 @@ void MonthViewCell::startUpdateCell()
596 while ( mitem ) { 596 while ( mitem ) {
597 mitem->setBlockRepaint( true ); 597 mitem->setBlockRepaint( true );
598 mitem = (MonthViewItem *)mitem->next(); 598 mitem = (MonthViewItem *)mitem->next();
599 } 599 }
600 if ( mAvailItemList.count() > 20 ) { 600 if ( mAvailItemList.count() > 20 ) {
601 mAvailItemList.setAutoDelete( true ); 601 mAvailItemList.setAutoDelete( true );
602 mAvailItemList.clear(); 602 mAvailItemList.clear();
603 mAvailItemList.setAutoDelete( false ); 603 mAvailItemList.setAutoDelete( false );
604 } 604 }
605 /* 605 /*
606 if ( !isVisible() ){ 606 if ( !isVisible() ){
607 return; 607 return;
608 } 608 }
609 */ 609 */
610 // qDebug("MonthViewCell::updateCell() "); 610 // qDebug("MonthViewCell::updateCell() ");
611 setPrimary( mDate.month()%2 ); 611 setPrimary( mDate.month()%2 );
612 setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays); 612 setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays);
613 if ( mDate == QDate::currentDate() ) { 613 if ( mDate == QDate::currentDate() ) {
614 setLineWidth( 3 ); 614 setLineWidth( 3 );
615 } else { 615 } else {
616 setLineWidth( 1 ); 616 setLineWidth( 1 );
617 } 617 }
618 MonthViewItem* CurrentAvailItem = (MonthViewItem*) firstItem (); 618 MonthViewItem* CurrentAvailItem = (MonthViewItem*) firstItem ();
619 //clear(); 619 //clear();
620 while ( CurrentAvailItem ) { 620 while ( CurrentAvailItem ) {
621 MonthViewItem *item = CurrentAvailItem; 621 MonthViewItem *item = CurrentAvailItem;
622 CurrentAvailItem = (MonthViewItem *)item->next(); 622 CurrentAvailItem = (MonthViewItem *)item->next();
623 mAvailItemList.append( item ); 623 mAvailItemList.append( item );
624 takeItem ( item ); 624 takeItem ( item );
625 } 625 }
626 626
627#ifdef DESKTOP_VERSION 627#ifdef DESKTOP_VERSION
628 QToolTip::remove(this); 628 QToolTip::remove(this);
629#endif 629#endif
630 mToolTip.clear(); 630 mToolTip.clear();
631 //qApp->processEvents(); 631 //qApp->processEvents();
632#if 0 632#if 0
633 if ( !mHolidayString.isEmpty() ) { 633 if ( !mHolidayString.isEmpty() ) {
634 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString ); 634 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString );
635 item->setPalette( mHolidayPalette ); 635 item->setPalette( mHolidayPalette );
636 insertItem( item ); 636 insertItem( item );
637 mToolTip.append ( mHolidayString ); 637 mToolTip.append ( mHolidayString );
638 } 638 }
639#endif 639#endif
640} 640}
641 641
642int MonthViewCell::insertEvent(Event *event) 642int MonthViewCell::insertEvent(Event *event)
643{ 643{
644 bool useToolTips = true;
645#ifndef DEKSTOP_VERSION
646 useToolTips = false;
647#endif
644 QString mToolTipText; 648 QString mToolTipText;
645 setFocusPolicy(WheelFocus); 649 setFocusPolicy(WheelFocus);
646 if ( !(event->doesRecur() == Recurrence::rNone) ) { 650 if ( !(event->doesRecur() == Recurrence::rNone) ) {
647 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily ) 651 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily )
648 return mdayCount; 652 return mdayCount;
649 else 653 else
650 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly ) 654 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly )
651 return mdayCount; 655 return mdayCount;
652 } 656 }
653 657
654 if ( event->isHoliday()) { 658 if ( event->isHoliday()) {
655 setHoliday( true ); 659 setHoliday( true );
656 if ( mDate.dayOfWeek() == 7 ) 660 if ( mDate.dayOfWeek() == 7 )
657 setLineWidth( 3 ); 661 setLineWidth( 3 );
658 } 662 }
659 QString text; 663 QString text;
660 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day 664 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day
661 if (event->isMultiDay()) { 665 if (event->isMultiDay()) {
662 QString prefix = "<->";multiday = 2; 666 QString prefix = "<->";multiday = 2;
663 QString time; 667 QString time;
664 if ( event->doesRecur() ) { 668 if ( event->doesRecur() ) {
665 if ( event->recursOn( mDate) ) { 669 if ( event->recursOn( mDate) ) {
666 prefix ="->" ;multiday = 1; 670 prefix ="->" ;multiday = 1;
667 } 671 }
668 else { 672 else {
669 int days = event->dtStart().date().daysTo ( event->dtEnd().date() ); 673 int days = event->dtStart().date().daysTo ( event->dtEnd().date() );
670 if ( event->recursOn( mDate.addDays( -days)) ) { 674 if ( event->recursOn( mDate.addDays( -days)) ) {
671 prefix ="<-" ;multiday = 3; 675 prefix ="<-" ;multiday = 3;
672 } 676 }
673 } 677 }
674 678
675 } else { 679 } else {
676 if (mDate == event->dtStart().date()) { 680 if (mDate == event->dtStart().date()) {
677 prefix ="->" ;multiday = 1; 681 prefix ="->" ;multiday = 1;
678 } else if (mDate == event->dtEnd().date()) { 682 } else if (mDate == event->dtEnd().date()) {
679 prefix ="<-" ;multiday = 3; 683 prefix ="<-" ;multiday = 3;
680 } 684 }
681 } 685 }
682 if ( !event->doesFloat() ) { 686 if ( !event->doesFloat() ) {
683 if ( mDate == event->dtStart().date () ) 687 if ( mDate == event->dtStart().date () )
684 time = KGlobal::locale()->formatTime(event->dtStart().time())+" "; 688 time = KGlobal::locale()->formatTime(event->dtStart().time())+" ";
685 else if ( mDate == event->dtEnd().date () ) 689 else if ( mDate == event->dtEnd().date () )
686 time = KGlobal::locale()->formatTime(event->dtEnd().time())+" "; 690 time = KGlobal::locale()->formatTime(event->dtEnd().time())+" ";
687 691
688 } 692 }
689 text = time + event->summary(); 693 text = time + event->summary();
690 mToolTipText += prefix + text; 694 if ( useToolTips )
695 mToolTipText += prefix + text;
691 } else { 696 } else {
692 if (event->doesFloat()) { 697 if (event->doesFloat()) {
693 text = event->summary(); 698 text = event->summary();
694 mToolTipText += text; 699 if ( useToolTips )
700 mToolTipText += text;
695 } 701 }
696 else { 702 else {
697 text = KGlobal::locale()->formatTime(event->dtStart().time()); 703 text = KGlobal::locale()->formatTime(event->dtStart().time());
698 text += " " + event->summary(); 704 text += " " + event->summary();
699 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary(); 705 if ( useToolTips )
706 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary();
700 } 707 }
701 } 708 }
709 if ( useToolTips && ! event->location().isEmpty() ) {
710 mToolTipText += " (" + event->location() +")";
711 }
702 MonthViewItem *item ; 712 MonthViewItem *item ;
703 713
704 if ( mAvailItemList.count() ) { 714 if ( mAvailItemList.count() ) {
705 item = mAvailItemList.first(); 715 item = mAvailItemList.first();
706 mAvailItemList.remove( item ); 716 mAvailItemList.remove( item );
707 item->recycle( event, mDate, text ); 717 item->recycle( event, mDate, text );
708 } else { 718 } else {
709 item = new MonthViewItem( event, mDate, text ); 719 item = new MonthViewItem( event, mDate, text );
710 } 720 }
711 721
712 QPalette pal; 722 QPalette pal;
713 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 723 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
714 QStringList categories = event->categories(); 724 QStringList categories = event->categories();
715 QString cat = categories.first(); 725 QString cat = categories.first();
716 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 726 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
717 pal = getPalette(); 727 pal = getPalette();
718 if (cat.isEmpty()) { 728 if (cat.isEmpty()) {
719 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); 729 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor);
720 } else { 730 } else {
721 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); 731 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat)));
722 } 732 }
723 733
724 } else { 734 } else {
725 if (cat.isEmpty()) { 735 if (cat.isEmpty()) {
726 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); 736 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor);
727 } else { 737 } else {
728 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 738 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
729 } 739 }
730 } 740 }
731 741
732 } else { 742 } else {
733 pal = mStandardPalette ; 743 pal = mStandardPalette ;
734 } 744 }
735 item->setPalette( pal ); 745 item->setPalette( pal );
736 item->setRecur( event->recurrence()->doesRecur() ); 746 item->setRecur( event->recurrence()->doesRecur() );
737 item->setAlarm( event->isAlarmEnabled() && multiday < 2 ); 747 item->setAlarm( event->isAlarmEnabled() && multiday < 2 );
738 item->setMoreInfo( event->description().length() > 0 ); 748 item->setMoreInfo( event->description().length() > 0 );
739#ifdef DESKTOP_VERSION 749#ifdef DESKTOP_VERSION
740 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails, 750 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails,
741 KOPrefs::instance()->email()); 751 KOPrefs::instance()->email());
742 if ( me != 0 ) { 752 if ( me != 0 ) {
743 if ( me->status() == Attendee::NeedsAction && me->RSVP()) 753 if ( me->status() == Attendee::NeedsAction && me->RSVP())
744 item->setReply(true && multiday < 2); 754 item->setReply(true && multiday < 2);
745 else 755 else
746 item->setReply(false); 756 item->setReply(false);
747 } else 757 } else
748 item->setReply(false); 758 item->setReply(false);
749#endif 759#endif
750 item->setMultiDay( multiday ); 760 item->setMultiDay( multiday );
751 if ( multiday ) { 761 if ( multiday ) {
752 insertItem( item ,mdayCount); 762 insertItem( item ,mdayCount);
753 ++mdayCount; 763 ++mdayCount;
754 } else { 764 } else {
755 uint i; 765 uint i;
756 int pos = mdayCount; 766 int pos = mdayCount;
757 for ( i = mdayCount; i < count();++i ) { 767 for ( i = mdayCount; i < count();++i ) {
758 QListBoxItem* it = this->item ( i ); 768 QListBoxItem* it = this->item ( i );
759 if ( text < it->text() ) { 769 if ( text < it->text() ) {
760 pos = i; 770 pos = i;
761 break; 771 break;
762 } 772 }
763 ++pos; 773 ++pos;
764 } 774 }
765 insertItem( item ,pos); 775 insertItem( item ,pos);
766 } 776 }
767 mToolTip.append( mToolTipText ); 777 if ( useToolTips )
778 mToolTip.append( mToolTipText );
768 return mdayCount; 779 return mdayCount;
769} 780}
770void MonthViewCell::insertTodo(Todo *todo) 781void MonthViewCell::insertTodo(Todo *todo)
771{ 782{
772 setFocusPolicy(WheelFocus); 783 setFocusPolicy(WheelFocus);
773 QString text; 784 QString text;
774 if (todo->hasDueDate()) { 785 if (todo->hasDueDate()) {
775 if (!todo->doesFloat()) { 786 if (!todo->doesFloat()) {
776 text += KGlobal::locale()->formatTime(todo->dtDue().time()); 787 text += KGlobal::locale()->formatTime(todo->dtDue().time());
777 text += " "; 788 text += " ";
778 } 789 }
779 } 790 }
780 text += todo->summary(); 791 text += todo->summary();
781 MonthViewItem *item ; 792 MonthViewItem *item ;
782 if ( mAvailItemList.count() ) { 793 if ( mAvailItemList.count() ) {
783 item = mAvailItemList.first(); 794 item = mAvailItemList.first();
784 mAvailItemList.remove( item ); 795 mAvailItemList.remove( item );
785 item->recycle( todo, mDate, text ); 796 item->recycle( todo, mDate, text );
786 } else { 797 } else {
787 item = new MonthViewItem( todo, mDate, text ); 798 item = new MonthViewItem( todo, mDate, text );
788 } 799 }
789 //MonthViewItem *item = new MonthViewItem( todo, mDate, text ); 800 //MonthViewItem *item = new MonthViewItem( todo, mDate, text );
790 //item->setPalette( mStandardPalette ); 801 //item->setPalette( mStandardPalette );
791 QPalette pal; 802 QPalette pal;
792 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 803 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
793 QStringList categories = todo->categories(); 804 QStringList categories = todo->categories();
794 QString cat = categories.first(); 805 QString cat = categories.first();
795 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 806 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
796 pal = getPalette(); 807 pal = getPalette();
797 if (cat.isEmpty()) { 808 if (cat.isEmpty()) {
798 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); 809 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor);
799 } else { 810 } else {
800 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); 811 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat)));
801 } 812 }
802 813
803 } else { 814 } else {
804 if (cat.isEmpty()) { 815 if (cat.isEmpty()) {
805 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); 816 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor);
806 } else { 817 } else {
807 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 818 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
808 } 819 }
809 } 820 }
810 821
811 } else { 822 } else {
812 pal = mStandardPalette ; 823 pal = mStandardPalette ;
813 } 824 }
814 item->setPalette( pal ); 825 item->setPalette( pal );
815 item->setRecur( todo->recurrence()->doesRecur() ); 826 item->setRecur( todo->recurrence()->doesRecur() );
816 item->setAlarm( todo->isAlarmEnabled() ); 827 item->setAlarm( todo->isAlarmEnabled() );
817 item->setMoreInfo( todo->description().length() > 0 ); 828 item->setMoreInfo( todo->description().length() > 0 );
818 insertItem( item , count()); 829 insertItem( item , count());
830#ifdef DESKTOP_VERSION
819 mToolTip.append( text ); 831 mToolTip.append( text );
832#endif
820} 833}
821void MonthViewCell::repaintfinishUpdateCell() 834void MonthViewCell::repaintfinishUpdateCell()
822{ 835{
823 MonthViewItem *mitem = (MonthViewItem*) firstItem (); 836 MonthViewItem *mitem = (MonthViewItem*) firstItem ();
824 while ( mitem ) { 837 while ( mitem ) {
825 mitem->setBlockRepaint( false ); 838 mitem->setBlockRepaint( false );
826 updateItem ( mitem ); 839 updateItem ( mitem );
827 mitem = (MonthViewItem *)mitem->next(); 840 mitem = (MonthViewItem *)mitem->next();
828 } 841 }
829} 842}
830void MonthViewCell::finishUpdateCell() 843void MonthViewCell::finishUpdateCell()
831{ 844{
832 845
833 846
834 847
835#ifdef DESKTOP_VERSION 848#ifdef DESKTOP_VERSION
836 if (mToolTip.count() > 0 ) { 849 if (mToolTip.count() > 0 ) {
837 mToolTip.sort(); 850 mToolTip.sort();
838 QToolTip::add(this,mToolTip.join("\n"),toolTipGroup(),""); 851 QToolTip::add(this,mToolTip.join("\n"),toolTipGroup(),"");
839 } 852 }
840#endif 853#endif
841 //sort(); 854 //sort();
842 //setMyPalette(); 855 //setMyPalette();
843 setMyPalette(); 856 setMyPalette();
844 857
845 resizeEvent( 0 ); 858 resizeEvent( 0 );
846 859
847} 860}
848void MonthViewCell::updateCell() 861void MonthViewCell::updateCell()
849{ 862{
850 //qDebug("MonthViewCell::updateCell() "); 863 //qDebug("MonthViewCell::updateCell() ");
851 if ( !mMonthView->isUpdatePossible() ) 864 if ( !mMonthView->isUpdatePossible() )
852 return; 865 return;
853 startUpdateCell(); 866 startUpdateCell();
854 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2); 867 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2);
855 QPtrList<Event> events = mMonthView->calendar()->events( mDate, true ); 868 QPtrList<Event> events = mMonthView->calendar()->events( mDate, true );
856 Event *event; 869 Event *event;
857 for( event = events.first(); event; event = events.next() ) { // for event 870 for( event = events.first(); event; event = events.next() ) { // for event
858 insertEvent(event); 871 insertEvent(event);
859 } 872 }
860 // insert due todos 873 // insert due todos
861 QPtrList<Todo> todos = mMonthView->calendar()->todos( mDate ); 874 QPtrList<Todo> todos = mMonthView->calendar()->todos( mDate );
862 Todo *todo; 875 Todo *todo;
863 for(todo = todos.first(); todo; todo = todos.next()) { 876 for(todo = todos.first(); todo; todo = todos.next()) {
864 insertTodo( todo ); 877 insertTodo( todo );
865 } 878 }
866 finishUpdateCell(); 879 finishUpdateCell();
867 // if ( isVisible()) 880 // if ( isVisible())