-rw-r--r-- | korganizer/koagendaview.cpp | 19 | ||||
-rw-r--r-- | korganizer/komonthview.cpp | 2 |
2 files changed, 17 insertions, 4 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 749204b..c5acafd 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -1305,23 +1305,36 @@ void KOAgendaView::setHolidayMasks() { mHolidayMask.resize(mSelectedDates.count()); uint i; for(i=0;i<mSelectedDates.count();++i) { QDate date = mSelectedDates[i]; bool showSaturday = KOPrefs::instance()->mExcludeSaturdays && (date.dayOfWeek() == 6); bool showSunday = KOPrefs::instance()->mExcludeHolidays && (date.dayOfWeek() == 7); + bool showHoliday = false; + if ( KOPrefs::instance()->mExcludeHolidays ) { + QPtrList<Event> events = calendar()->events( date, true ); + Event *event; + for( event = events.first(); event; event = events.next() ) { + if ( event->categories().contains("Holiday") || + event->categories().contains(i18n("Holiday"))) { + showHoliday = true; + break; + } + } + + } + #ifndef KORG_NOPLUGINS bool showHoliday = KOPrefs::instance()->mExcludeHolidays && !KOCore::self()->holiday(date).isEmpty(); - bool showDay = showSaturday || showSunday || showHoliday; -#else - bool showDay = showSaturday || showSunday; #endif + bool showDay = showSaturday || showSunday || showHoliday; + if (showDay) { mHolidayMask.at(i) = true; } else { mHolidayMask.at(i) = false; } } mAgenda->setHolidayMask(&mHolidayMask); diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 688d9e1..7d1e82f 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp @@ -380,17 +380,17 @@ void MonthViewCell::keyPressEvent ( QKeyEvent * e ) e->ignore(); } void MonthViewCell::updateCell() { setPrimary( mDate.month()%2 ); - setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() ); + setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays); if ( mDate == QDate::currentDate() ) { mItemList->setLineWidth( 3 ); } else { mItemList->setLineWidth( 1 ); } mItemList->clear(); //qApp->processEvents(); if ( !mHolidayString.isEmpty() ) { |