From aa6d19015bc91ae3af021d766d37a473e125278f Mon Sep 17 00:00:00 2001 From: zautrix Date: Tue, 22 Mar 2005 22:55:32 +0000 Subject: fixes --- (limited to 'korganizer') diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp index 59618bf..d543aaf 100644 --- a/korganizer/kodaymatrix.cpp +++ b/korganizer/kodaymatrix.cpp @@ -115,9 +115,11 @@ KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const mouseDown = false; // initialize dynamic arrays bDays.resize ( NUMDAYS ); + hDays.resize ( NUMDAYS );; + eDays.resize ( NUMDAYS );; days = new QDate[NUMDAYS]; daylbls = new QString[NUMDAYS]; - events = new int[NUMDAYS]; + //events = new int[NUMDAYS]; mToolTip = new DynamicTip(this); // set default values used for drawing the matrix @@ -240,7 +242,7 @@ KODayMatrix::~KODayMatrix() // delete mKODaymatrixWhatsThis; delete [] days; delete [] daylbls; - delete [] events; + //delete [] events; delete mToolTip; } @@ -311,7 +313,7 @@ void KODayMatrix::recalculateToday() { today = -1; for (int i=0; icalendarSystem()->day( days[i] )); @@ -349,6 +351,8 @@ void KODayMatrix::updateViewTimed() int numEvents = eventlist.count(); QString holiStr = ""; bDays.clearBit(i); + hDays.clearBit(i); + eDays.clearBit(i); for(event=eventlist.first();event != 0;event=eventlist.next()) { ushort recurType = event->recurrence()->doesRecur(); if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || @@ -356,6 +360,7 @@ void KODayMatrix::updateViewTimed() numEvents--; } if ( event->isHoliday()) { + hDays.setBit(i); if ( !holiStr.isEmpty() ) holiStr += "\n"; holiStr += event->summary(); @@ -371,7 +376,8 @@ void KODayMatrix::updateViewTimed() bDays.setBit(i); } } - events[i] = numEvents; + if ( numEvents ) + eDays.setBit(i); //if it is a holy day then draw it red. Sundays are consider holidays, too if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) || !holiStr.isEmpty()) { @@ -447,8 +453,11 @@ void KODayMatrix::updateEvents() !KOPrefs::instance()->mWeeklyRecur ) ) { numEvents--; } - } - events[ i ] = numEvents; + } + if ( numEvents ) + eDays.setBit(i); + else + eDays.clearBit(i); } } @@ -862,18 +871,21 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) } // if any events are on that day then draw it using a bold font - if (events[i] > 0) { + if ( eDays.testBit(i) ) { QFont myFont = font(); myFont.setBold(true); p.setFont(myFont); } // if it is a holiday then use the default holiday color - if (!mHolidays[i].isNull()) { + if ( !mHolidays[i].isNull()) { if ( bDays.testBit(i) ) { - p.setPen(Qt::green); + if ( hDays.testBit(i) ) + p.setPen(QColor(Qt::green)); + else + p.setPen(QColor(Qt::green).dark()); } else { - if (actcol == mDefaultTextColor) { + if (actcol == mDefaultTextColor ) { p.setPen(KOPrefs::instance()->mHolidayColor); } else { p.setPen(mHolidayColorShaded); @@ -909,7 +921,7 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) p.setPen(actcol); } // reset bold font to plain font - if (events[i] > 0) { + if ( eDays.testBit(i)) { QFont myFont = font(); myFont.setBold(false); p.setFont(myFont); diff --git a/korganizer/kodaymatrix.h b/korganizer/kodaymatrix.h index 2a1959c..38a7f92 100644 --- a/korganizer/kodaymatrix.h +++ b/korganizer/kodaymatrix.h @@ -230,6 +230,8 @@ private: KODaymatrixWhatsThis* mKODaymatrixWhatsThis; bool mouseDown; QBitArray bDays; + QBitArray hDays; + QBitArray eDays; QPixmap myPix; QTimer* mUpdateTimer; QTimer* mRepaintTimer; @@ -270,7 +272,7 @@ private: /** array of storing the number of events on a given day. * used for drawing a bold font if there is at least one event on that day. */ - int *events; + //int *events; /** stores holiday names of the days shown in the matrix. */ QMap mHolidays; -- cgit v0.9.0.2