-rw-r--r-- | korganizer/koagendaview.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 131a345..a01323a 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -1175,4 +1175,5 @@ void KOAgendaView::fillAgenda() DateList::ConstIterator dit; int curCol = 0; + int maxCol = mSelectedDates.count()-1; for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) { QDate currentDate = *dit; @@ -1187,4 +1188,5 @@ void KOAgendaView::fillAgenda() unsigned int numEvent; + //qDebug("+++++NUMEVENT %d", dayEvents.count()); for(numEvent=0;numEvent<dayEvents.count();++numEvent) { Event *event = dayEvents.at(numEvent); @@ -1208,10 +1210,23 @@ void KOAgendaView::fillAgenda() mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); } else { - //qDebug("days %d %s",endX , currentDate.toString().latin1()); - QDate dateit = currentDate.addDays( -endX ); - if ( event->recursOn( dateit ) ) { - //qDebug("found %d %d %d %s", endX,curCol, curCol-endX ,dateit.toString().latin1() ); - if ( curCol-endX < 0 ) { + //qDebug("days endX %d curCol %d max Col %d %s",endX ,curCol, maxCol, currentDate.toString().latin1()); + if ( curCol == maxCol && maxCol+1 < endX ) { + int i; + for ( i = 1; i< endX; ++i ) { + if ( event->recursOn( currentDate.addDays( -i ) ) ) + break; + } + if ( i > maxCol ) { mAllDayAgenda->insertAllDayItem(event,currentDate,0,curCol); + //qDebug("BINGO "); + } + + } else { + QDate dateit = currentDate.addDays( -endX ); + if ( event->recursOn( dateit ) ) { + //qDebug("found %d %d %d %s", endX,curCol, curCol-endX ,dateit.toString().latin1() ); + if ( curCol-endX < 0 ) { + mAllDayAgenda->insertAllDayItem(event,currentDate,0,curCol); + } } } |