-rw-r--r-- | korganizer/koagenda.cpp | 124 | ||||
-rw-r--r-- | korganizer/koagendaitem.cpp | 11 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 30 |
3 files changed, 93 insertions, 72 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index 148d914..18c506e 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -1358,93 +1358,83 @@ void KOAgenda::placeSubCells(KOAgendaItem *placeItem) | |||
1358 | // } | 1358 | // } |
1359 | // placeItem->updateItem(); | 1359 | // placeItem->updateItem(); |
1360 | } | 1360 | } |
1361 | 1361 | ||
1362 | void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | 1362 | void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) |
1363 | { | 1363 | { |
1364 | if ( globalFlagBlockAgenda ) | 1364 | if ( globalFlagBlockAgenda ) |
1365 | return; | 1365 | return; |
1366 | //qDebug("KOAgenda::drawContents "); | 1366 | if ( ! mAllDayMode ) { |
1367 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) | 1367 | // currently not working for |
1368 | ;//drawContentsToPainter(); | ||
1369 | 1368 | ||
1370 | QPaintDevice* pd = p->device(); | 1369 | //qDebug("KOAgenda::drawContents "); |
1371 | p->end(); | 1370 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) |
1372 | int vx, vy; | 1371 | ;//drawContentsToPainter(); |
1373 | int selectionX = KOGlobals::self()->reverseLayout() ? | 1372 | |
1373 | QPaintDevice* pd = p->device(); | ||
1374 | p->end(); | ||
1375 | int vx, vy; | ||
1376 | int selectionX = KOGlobals::self()->reverseLayout() ? | ||
1374 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : | 1377 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : |
1375 | mSelectionCellX * mGridSpacingX; | 1378 | mSelectionCellX * mGridSpacingX; |
1376 | contentsToViewport ( cx, cy, vx,vy); | 1379 | contentsToViewport ( cx, cy, vx,vy); |
1377 | //qDebug(" %d %d %d %d %d", cx, cy, cw,ch,mGridSpacingX-1) ; | 1380 | //qDebug(" %d %d %d %d %d", cx, cy, cw,ch,mGridSpacingX-1) ; |
1378 | 1381 | ||
1379 | if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) { | 1382 | if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) { |
1380 | if ( mGridSpacingX == cw && mSelectionHeight > 0 && ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && | 1383 | if ( mGridSpacingX == cw && mSelectionHeight > 0 && ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && |
1381 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) ) { | 1384 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) ) { |
1382 | 1385 | ||
1383 | int vxSel, vySel; | 1386 | int vxSel, vySel; |
1384 | contentsToViewport ( selectionX, mSelectionYTop, vxSel,vySel); | 1387 | contentsToViewport ( selectionX, mSelectionYTop, vxSel,vySel); |
1385 | int off = mSelectionHeight; | 1388 | int off = mSelectionHeight; |
1386 | if ( vySel < 0 ) | 1389 | if ( vySel < 0 ) |
1387 | off += vySel; | 1390 | off += vySel; |
1388 | //qDebug("OFF %d %d %d", off,vySel, vy ); | 1391 | //qDebug("OFF %d %d %d", off,vySel, vy ); |
1389 | bitBlt ( pd, vx, vy+off, &mPaintPixmap, cx, cy+off, cw , ch-off ,CopyROP); | 1392 | bitBlt ( pd, vx, vy+off, &mPaintPixmap, cx, cy+off, cw , ch-off ,CopyROP); |
1390 | } else { | 1393 | } else { |
1391 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); | 1394 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); |
1395 | } | ||
1392 | } | 1396 | } |
1393 | } | 1397 | if ( mSelectionHeight > 0 ) { |
1394 | if ( mSelectionHeight > 0 ) { | 1398 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); |
1395 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); | 1399 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && |
1396 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && | 1400 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { |
1397 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { | 1401 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); |
1398 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); | 1402 | bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); |
1399 | bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); | 1403 | } |
1400 | } | 1404 | } |
1401 | } | 1405 | p->begin( pd ); |
1402 | //qDebug("btbl "); | 1406 | } else { |
1403 | p->begin( pd ); | 1407 | |
1404 | //qDebug("end "); | 1408 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) |
1405 | #if 0 | 1409 | ;//drawContentsToPainter(); |
1406 | |||
1407 | if ( globalFlagBlockAgenda ) | ||
1408 | return; | ||
1409 | //qDebug("KOAgenda::drawContents "); | ||
1410 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) | ||
1411 | ;//drawContentsToPainter(); | ||
1412 | 1410 | ||
1413 | QPaintDevice* pd = p->device(); | 1411 | QPaintDevice* pd = p->device(); |
1414 | p->end(); | 1412 | p->end(); |
1415 | int vx, vy; | 1413 | int vx, vy; |
1416 | int selectionX = KOGlobals::self()->reverseLayout() ? | 1414 | int selectionX = KOGlobals::self()->reverseLayout() ? |
1417 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : | 1415 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : |
1418 | mSelectionCellX * mGridSpacingX; | 1416 | mSelectionCellX * mGridSpacingX; |
1419 | contentsToViewport ( cx, cy, vx,vy); | 1417 | contentsToViewport ( cx, cy, vx,vy); |
1420 | // qDebug(" %d %d %d %d ", cx, cy, cw,ch) ; | 1418 | // qDebug(" %d %d %d %d ", cx, cy, cw,ch) ; |
1421 | if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) | 1419 | if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) |
1422 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); | 1420 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); |
1423 | 1421 | ||
1424 | if ( mSelectionHeight > 0 ) { | 1422 | if ( mSelectionHeight > 0 ) { |
1425 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); | 1423 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); |
1426 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && | 1424 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && |
1427 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { | 1425 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { |
1428 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); | 1426 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); |
1429 | bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); | 1427 | bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); |
1430 | } | 1428 | } |
1431 | } | 1429 | } |
1432 | //qDebug("btbl "); | 1430 | p->begin( pd ); |
1433 | p->begin( pd ); | 1431 | } |
1434 | //qDebug("end "); | ||
1435 | |||
1436 | |||
1437 | |||
1438 | |||
1439 | |||
1440 | |||
1441 | 1432 | ||
1442 | #endif | ||
1443 | } | 1433 | } |
1444 | 1434 | ||
1445 | void KOAgenda::finishUpdate() | 1435 | void KOAgenda::finishUpdate() |
1446 | { | 1436 | { |
1447 | 1437 | ||
1448 | KOAgendaItem *item; | 1438 | KOAgendaItem *item; |
1449 | globalFlagBlockAgendaItemPaint = 1; | 1439 | globalFlagBlockAgendaItemPaint = 1; |
1450 | // Adjust sub cell geometry of all conflict items of all conflict items of all conflict items ... of the conflict item with the max number of conflictitems | 1440 | // Adjust sub cell geometry of all conflict items of all conflict items of all conflict items ... of the conflict item with the max number of conflictitems |
@@ -1962,17 +1952,17 @@ void KOAgenda::finishResize ( ) | |||
1962 | //qDebug("finishUpdate() called "); | 1952 | //qDebug("finishUpdate() called "); |
1963 | } | 1953 | } |
1964 | } | 1954 | } |
1965 | /* | 1955 | /* |
1966 | Overridden from QScrollView to provide proper resizing of KOAgendaItems. | 1956 | Overridden from QScrollView to provide proper resizing of KOAgendaItems. |
1967 | */ | 1957 | */ |
1968 | void KOAgenda::resizeEvent ( QResizeEvent *ev ) | 1958 | void KOAgenda::resizeEvent ( QResizeEvent *ev ) |
1969 | { | 1959 | { |
1970 | 1960 | mSelectionHeight = 0; | |
1971 | mResizeTimer.start( 150 , true ); | 1961 | mResizeTimer.start( 150 , true ); |
1972 | computeSizes(); | 1962 | computeSizes(); |
1973 | return; | 1963 | return; |
1974 | 1964 | ||
1975 | } | 1965 | } |
1976 | void KOAgenda::computeSizes() | 1966 | void KOAgenda::computeSizes() |
1977 | { | 1967 | { |
1978 | if ( globalFlagBlockStartup ) | 1968 | if ( globalFlagBlockStartup ) |
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index c9e307f..1801d7e 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp | |||
@@ -543,21 +543,24 @@ void KOAgendaItem::computeText() | |||
543 | else if ( !(mIncidence->doesFloat())) | 543 | else if ( !(mIncidence->doesFloat())) |
544 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; | 544 | mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; |
545 | } | 545 | } |
546 | } else { | 546 | } else { |
547 | if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) | 547 | if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) |
548 | mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + " - " + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; | 548 | mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + " - " + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; |
549 | 549 | ||
550 | if ( mAllDay ) { | 550 | if ( mAllDay ) { |
551 | if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { | 551 | if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { |
552 | mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; | 552 | if ( mIncidence->doesRecur() ) { |
553 | } | 553 | mDisplayedText += " (" + mIncidence->recurrence()->recurrenceText() + ")"; |
554 | } else { | ||
555 | mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; | ||
556 | } | ||
557 | } | ||
554 | } | 558 | } |
555 | |||
556 | } | 559 | } |
557 | 560 | ||
558 | if ( !mIncidence->location().isEmpty() ) { | 561 | if ( !mIncidence->location().isEmpty() ) { |
559 | if ( mAllDay ) | 562 | if ( mAllDay ) |
560 | mDisplayedText += " ("; | 563 | mDisplayedText += " ("; |
561 | else | 564 | else |
562 | mDisplayedText += "\n("; | 565 | mDisplayedText += "\n("; |
563 | mDisplayedText += mIncidence->location() +")"; | 566 | mDisplayedText += mIncidence->location() +")"; |
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 76d5c4b..f53e5d5 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -1155,17 +1155,45 @@ void KOAgendaView::fillAgenda() | |||
1155 | 1155 | ||
1156 | int beginX = currentDate.daysTo(event->dtStart().date()) + curCol; | 1156 | int beginX = currentDate.daysTo(event->dtStart().date()) + curCol; |
1157 | int endX = currentDate.daysTo(event->dtEnd().date()) + curCol; | 1157 | int endX = currentDate.daysTo(event->dtEnd().date()) + curCol; |
1158 | 1158 | ||
1159 | // kdDebug() << " beginX: " << beginX << " endX: " << endX << endl; | 1159 | // kdDebug() << " beginX: " << beginX << " endX: " << endX << endl; |
1160 | 1160 | ||
1161 | if (event->doesFloat()) { | 1161 | if (event->doesFloat()) { |
1162 | if (event->recurrence()->doesRecur()) { | 1162 | if (event->recurrence()->doesRecur()) { |
1163 | mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol); | 1163 | if (event->isMultiDay() ) { |
1164 | endX = endX - beginX;// endX is now number of days | ||
1165 | if ( event->recursOn( currentDate ) ) { | ||
1166 | endX += curCol; | ||
1167 | beginX = curCol; | ||
1168 | mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); | ||
1169 | } else { | ||
1170 | //qDebug("days %d %s",endX , currentDate.toString().latin1()); | ||
1171 | QDate dateit = currentDate.addDays( -endX ); | ||
1172 | if ( event->recursOn( dateit ) ) { | ||
1173 | //qDebug("found %d %d %d %s", endX,curCol, curCol-endX ,dateit.toString().latin1() ); | ||
1174 | if ( curCol-endX < 0 ) { | ||
1175 | mAllDayAgenda->insertAllDayItem(event,currentDate,0,curCol); | ||
1176 | } | ||
1177 | } | ||
1178 | } | ||
1179 | } else { | ||
1180 | mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol); | ||
1181 | } | ||
1182 | #if 0 | ||
1183 | if (beginX <= 0 && curCol == 0) { | ||
1184 | mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); | ||
1185 | } else if (beginX == curCol) { | ||
1186 | mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); | ||
1187 | } else { | ||
1188 | qDebug("skipped %d %d %d ",beginX , endX, curCol); | ||
1189 | } | ||
1190 | #endif | ||
1191 | //mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol); | ||
1164 | } else { | 1192 | } else { |
1165 | if (beginX <= 0 && curCol == 0) { | 1193 | if (beginX <= 0 && curCol == 0) { |
1166 | mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); | 1194 | mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); |
1167 | } else if (beginX == curCol) { | 1195 | } else if (beginX == curCol) { |
1168 | mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); | 1196 | mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); |
1169 | } | 1197 | } |
1170 | } | 1198 | } |
1171 | } else if (event->isMultiDay()) { | 1199 | } else if (event->isMultiDay()) { |