author | zautrix <zautrix> | 2005-06-15 16:07:02 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-06-15 16:07:02 (UTC) |
commit | 2a788f41ebeb7d8edab7010fb1a00799cb9e036d (patch) (side-by-side diff) | |
tree | 0d8f635abc48d64add3131f8b5891ee70a877802 | |
parent | 40fa3e374fd96c0cb8925a1c3c46d40e1ea2b111 (diff) | |
download | kdepimpi-2a788f41ebeb7d8edab7010fb1a00799cb9e036d.zip kdepimpi-2a788f41ebeb7d8edab7010fb1a00799cb9e036d.tar.gz kdepimpi-2a788f41ebeb7d8edab7010fb1a00799cb9e036d.tar.bz2 |
fixxx
-rw-r--r-- | korganizer/komonthview.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 2150654..475bb4a 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp @@ -308,38 +308,45 @@ void MonthViewItem::recycle( Incidence *incidence, QDate qd, const QString & s) void MonthViewItem::paint(QPainter *p) { if ( mblockRepaint ) { return; } #if QT_VERSION >= 0x030000 bool sel = isSelected(); #else bool sel = selected(); #endif + int heihei = height( listBox () ); + int x = 1; if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { p->setBackgroundColor( palette().color( QPalette::Normal, \ sel ? QColorGroup::Highlight : QColorGroup::Background ) ); - p->eraseRect( 0, 0, listBox()->maxItemWidth(), height( listBox() ) ); + p->eraseRect( 0, 0, listBox()->maxItemWidth(), heihei ); } - int x = 1; + //int y = 3;//(height() - mRecurPixmap.height()) /2; int size = PIXMAP_SIZE; if ( QApplication::desktop()->width() < 300 ) size = 3; - int heihei = height( listBox () ); int y = (heihei - size -1 ) /2; + if ( mIncidence->calID() > 1 ) { + p->fillRect ( x, y-2,size,size+4, KOPrefs::instance()->defaultColor( mIncidence->calID() ) ); + p->drawRect ( x, y-2,size,size+4); + x += size + 1; + } + if ( KOPrefs::instance()->mMonthShowIcons ) { if ( mInfo ) { p->fillRect ( x, y,size,size, Qt::darkGreen ); x += size + 1; } if ( mRecur ) { p->fillRect ( x, y,size,size, Qt::blue ); x += size + 1; } if ( mAlarm ) { p->fillRect ( x, y,size,size, Qt::red ); x += size + 1; @@ -601,24 +608,25 @@ void MonthViewCell::startUpdateCell() setFocusPolicy(NoFocus); if ( !mMonthView->isUpdatePossible() ) return; MonthViewItem *mitem = (MonthViewItem*) firstItem (); while ( mitem ) { mitem->setBlockRepaint( true ); mitem = (MonthViewItem *)mitem->next(); } if ( mAvailItemList.count() > 20 ) { mAvailItemList.setAutoDelete( true ); mAvailItemList.clear(); mAvailItemList.setAutoDelete( false ); + clear(); } setPrimary( mDate.month()%2 ); setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays); if ( mDate == QDate::currentDate() ) { setLineWidth( 3 ); } else { setLineWidth( 1 ); } MonthViewItem* CurrentAvailItem = (MonthViewItem*) firstItem (); //clear(); while ( CurrentAvailItem ) { @@ -754,32 +762,39 @@ int MonthViewCell::insertEvent(Event *event) item->setMoreInfo( event->description().length() > 0 ); #ifdef DESKTOP_VERSION Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails, KOPrefs::instance()->email()); if ( me != 0 ) { if ( me->status() == Attendee::NeedsAction && me->RSVP()) item->setReply(true && multiday < 2); else item->setReply(false); } else item->setReply(false); #endif + item->setMultiDay( multiday ); if ( multiday ) { insertItem( item ,mdayCount); ++mdayCount; } else { - uint i; - int pos = mdayCount; - for ( i = mdayCount; i < count();++i ) { + uint i = mdayCount; + uint pos = mdayCount; + uint itcount = count(); + if ( itcount > 1000 ) { + qDebug("KO: Bug in MonthViewCell::insertEvent %u ", itcount); + itcount = 0; + } + for ( i = pos; i < itcount;++i ) { + // qDebug("i %d mday %u count %d ",i,itcount,mdayCount ); QListBoxItem* it = this->item ( i ); if ( it && text < it->text() ) { pos = i; break; } ++pos; } insertItem( item ,pos); } if ( useToolTips ) { mToolTip.append( mToolTipText ); } |