-rw-r--r-- | korganizer/kodaymatrix.cpp | 53 |
1 files changed, 45 insertions, 8 deletions
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp index 17a1d13..df606d0 100644 --- a/korganizer/kodaymatrix.cpp +++ b/korganizer/kodaymatrix.cpp | |||
@@ -363,34 +363,39 @@ void KODayMatrix::computeEvent(Event *event, int i ) | |||
363 | if ( !holiStr.isEmpty() ) | 363 | if ( !holiStr.isEmpty() ) |
364 | holiStr += "\n"; | 364 | holiStr += "\n"; |
365 | holiStr += event->summary(); | 365 | holiStr += event->summary(); |
366 | if ( !event->location().isEmpty() ) | 366 | if ( !event->location().isEmpty() ) |
367 | holiStr += " (" + event->location() + ")"; | 367 | holiStr += " (" + event->location() + ")"; |
368 | mHolidays[i] =holiStr ; | 368 | mHolidays[i] =holiStr ; |
369 | eDays.setBit(i); | ||
369 | } | 370 | } |
371 | if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_T_VIEW && KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW ) { | ||
370 | if ( event->isBirthday()) { | 372 | if ( event->isBirthday()) { |
371 | pDays.setBit(i); | 373 | pDays.setBit(i); |
372 | if ( !holiStr.isEmpty() ) | 374 | if ( !holiStr.isEmpty() ) |
373 | holiStr += "\n"; | 375 | holiStr += "\n"; |
374 | holiStr += i18n("Birthday") + ": "+event->summary(); | 376 | holiStr += i18n("Birthday") + ": "+event->summary(); |
375 | if ( !event->location().isEmpty() ) | 377 | if ( !event->location().isEmpty() ) |
376 | holiStr += " (" + event->location() + ")"; | 378 | holiStr += " (" + event->location() + ")"; |
377 | bDays.setBit(i); | 379 | bDays.setBit(i); |
378 | mHolidays[i] =holiStr ; | 380 | mHolidays[i] =holiStr ; |
379 | } | 381 | } |
382 | } | ||
383 | if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW ) | ||
380 | eDays.setBit(i); | 384 | eDays.setBit(i); |
381 | } | 385 | } |
382 | void KODayMatrix::updateViewTimed() | 386 | void KODayMatrix::updateViewTimed() |
383 | { | 387 | { |
384 | mUpdateTimer->stop(); | 388 | mUpdateTimer->stop(); |
385 | if ( !mCalendar ) { | 389 | if ( !mCalendar ) { |
386 | qDebug("NOT CAL "); | 390 | qDebug("NOT CAL "); |
387 | return; | 391 | return; |
388 | } | 392 | } |
389 | #if 1 | 393 | #if 1 |
390 | 394 | ||
395 | |||
391 | int i; | 396 | int i; |
392 | int timeSpan = NUMDAYS-1; | 397 | int timeSpan = NUMDAYS-1; |
393 | QPtrList<Event> events = mCalendar->events(); | 398 | QPtrList<Event> events = mCalendar->events(); |
394 | Event *event; | 399 | Event *event; |
395 | QDateTime dt; | 400 | QDateTime dt; |
396 | bool ok; | 401 | bool ok; |
@@ -466,28 +471,58 @@ void KODayMatrix::updateViewTimed() | |||
466 | int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday | 471 | int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday |
467 | for(i = 0; i < NUMDAYS; i++) { | 472 | for(i = 0; i < NUMDAYS; i++) { |
468 | if ( ( (i+startDay) % 7 == 0 ) ) { | 473 | if ( ( (i+startDay) % 7 == 0 ) ) { |
469 | pDays.setBit(i); | 474 | pDays.setBit(i); |
470 | } | 475 | } |
471 | } | 476 | } |
472 | 477 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { | |
473 | #if 0 | 478 | bDays.fill( false); |
474 | // insert due todos | 479 | // insert due todos |
475 | QPtrList<Todo> todos = calendar()->todos( ); | 480 | QPtrList<Todo> todos = mCalendar->todos( ); |
476 | Todo *todo; | 481 | Todo *todo; |
477 | for(todo = todos.first(); todo; todo = todos.next()) { | 482 | for(todo = todos.first(); todo; todo = todos.next()) { |
478 | //insertTodo( todo ); | 483 | //insertTodo( todo ); |
479 | if ( todo->hasDueDate() ) { | 484 | if ( todo->hasDueDate() ) { |
480 | int day = mStartDate.daysTo( todo->dtDue().date() ); | 485 | int day = mStartDate.daysTo( todo->dtDue().date() ); |
481 | if ( day >= 0 && day < timeSpan + 1) { | 486 | if ( day >= 0 && day < timeSpan + 1) { |
482 | (*cells)[day]->insertTodo( todo ); | 487 | int i = day; |
488 | QString holiStr = mHolidays[i]; | ||
489 | pDays.setBit(i); | ||
490 | if ( !holiStr.isEmpty() ) | ||
491 | holiStr += "\n"; | ||
492 | holiStr += i18n("Todo") + ": "+todo->summary(); | ||
493 | if ( !todo->location().isEmpty() ) | ||
494 | holiStr += " (" + todo->location() + ")"; | ||
495 | bDays.setBit(i); | ||
496 | mHolidays[i] =holiStr ; | ||
497 | eDays.setBit(i); | ||
483 | } | 498 | } |
484 | } | 499 | } |
485 | } | 500 | } |
486 | #endif | 501 | } |
502 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { | ||
503 | bDays.fill( false); | ||
504 | // insert due todos | ||
505 | QPtrList<Journal> todos = mCalendar->journals( ); | ||
506 | Journal *todo; | ||
507 | for(todo = todos.first(); todo; todo = todos.next()) { | ||
508 | int day = mStartDate.daysTo( todo->dtStart().date() ); | ||
509 | if ( day >= 0 && day < timeSpan + 1) { | ||
510 | int i = day; | ||
511 | QString holiStr = mHolidays[i]; | ||
512 | pDays.setBit(i); | ||
513 | if ( !holiStr.isEmpty() ) | ||
514 | holiStr += "\n"; | ||
515 | holiStr += i18n("Journal"); | ||
516 | bDays.setBit(i); | ||
517 | mHolidays[i] =holiStr ; | ||
518 | eDays.setBit(i); | ||
487 | 519 | ||
520 | } | ||
521 | } | ||
522 | } | ||
488 | #else | 523 | #else |
489 | //qDebug("KODayMatrix::updateViewTimed "); | 524 | //qDebug("KODayMatrix::updateViewTimed "); |
490 | for(int i = 0; i < NUMDAYS; i++) { | 525 | for(int i = 0; i < NUMDAYS; i++) { |
491 | // if events are set for the day then remember to draw it bold | 526 | // if events are set for the day then remember to draw it bold |
492 | QPtrList<Event> eventlist = mCalendar->events(days[i]); | 527 | QPtrList<Event> eventlist = mCalendar->events(days[i]); |
493 | Event *event; | 528 | Event *event; |
@@ -533,13 +568,15 @@ void KODayMatrix::updateViewTimed() | |||
533 | mRedrawNeeded = true; | 568 | mRedrawNeeded = true; |
534 | if ( ! mPendingUpdateBeforeRepaint ) | 569 | if ( ! mPendingUpdateBeforeRepaint ) |
535 | repaint(false); | 570 | repaint(false); |
536 | } | 571 | } |
537 | void KODayMatrix::updateView(QDate actdate) | 572 | void KODayMatrix::updateView(QDate actdate) |
538 | { | 573 | { |
539 | 574 | if ( mLastView != KOPrefs::instance()->mCurrentDisplayedView ) | |
575 | mRedrawNeeded = true; | ||
576 | mLastView = KOPrefs::instance()->mCurrentDisplayedView; | ||
540 | if ( ! actdate.isValid() ) { | 577 | if ( ! actdate.isValid() ) { |
541 | //qDebug("date not valid "); | 578 | //qDebug("date not valid "); |
542 | return; | 579 | return; |
543 | } | 580 | } |
544 | mDayChanged = false; | 581 | mDayChanged = false; |
545 | //flag to indicate if the starting day of the matrix has changed by this call | 582 | //flag to indicate if the starting day of the matrix has changed by this call |
@@ -1049,15 +1086,15 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) | |||
1049 | } | 1086 | } |
1050 | 1087 | ||
1051 | // if it is a holiday then use the default holiday color | 1088 | // if it is a holiday then use the default holiday color |
1052 | if ( pDays.testBit(i)) { | 1089 | if ( pDays.testBit(i)) { |
1053 | if ( bDays.testBit(i) ) { | 1090 | if ( bDays.testBit(i) ) { |
1054 | if ( hDays.testBit(i) ) | 1091 | if ( hDays.testBit(i) ) |
1055 | p.setPen(QColor(Qt::green)); | 1092 | p.setPen(QColor(0,200,0)); |
1056 | else | 1093 | else |
1057 | p.setPen(QColor(Qt::green).dark()); | 1094 | p.setPen(QColor(Qt::blue)); |
1058 | } else { | 1095 | } else { |
1059 | if (actcol == mDefaultTextColor ) { | 1096 | if (actcol == mDefaultTextColor ) { |
1060 | p.setPen(KOPrefs::instance()->mHolidayColor); | 1097 | p.setPen(KOPrefs::instance()->mHolidayColor); |
1061 | } else { | 1098 | } else { |
1062 | p.setPen(mHolidayColorShaded); | 1099 | p.setPen(mHolidayColorShaded); |
1063 | } | 1100 | } |