-rw-r--r-- | korganizer/koagenda.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index 94c3b22..63fdecd 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -1271,50 +1271,68 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | |||
1271 | off += vySel; | 1271 | off += vySel; |
1272 | //qDebug("OFF %d %d %d", off,vySel, vy ); | 1272 | //qDebug("OFF %d %d %d", off,vySel, vy ); |
1273 | bitBlt ( pd, vx, vy+off, &mPaintPixmap, cx, cy+off, cw , ch-off ,CopyROP); | 1273 | bitBlt ( pd, vx, vy+off, &mPaintPixmap, cx, cy+off, cw , ch-off ,CopyROP); |
1274 | } else { | 1274 | } else { |
1275 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); | 1275 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); |
1276 | } | 1276 | } |
1277 | } | 1277 | } |
1278 | if ( mSelectionHeight > 0 ) { | 1278 | if ( mSelectionHeight > 0 ) { |
1279 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); | 1279 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); |
1280 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && | 1280 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && |
1281 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { | 1281 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { |
1282 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); | 1282 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); |
1283 | bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); | 1283 | // bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); |
1284 | int hei = mSelectionHeight; | ||
1285 | int offset = 0; | ||
1286 | while ( hei > 0 ) { | ||
1287 | int p_hei = 5; | ||
1288 | if ( hei < 5 ) p_hei = hei; | ||
1289 | hei -= 5; | ||
1290 | bitBlt ( pd, vx+1, vy+offset, &mHighlightPixmap, 0, 0, mGridSpacingX-1, p_hei ,CopyROP); | ||
1291 | offset += 5; | ||
1292 | } | ||
1284 | } | 1293 | } |
1285 | } | 1294 | } |
1286 | p->begin( pd ); | 1295 | p->begin( pd ); |
1287 | } else { | 1296 | } else { |
1288 | 1297 | ||
1289 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) | 1298 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) |
1290 | ;//drawContentsToPainter(); | 1299 | ;//drawContentsToPainter(); |
1291 | 1300 | ||
1292 | QPaintDevice* pd = p->device(); | 1301 | QPaintDevice* pd = p->device(); |
1293 | p->end(); | 1302 | p->end(); |
1294 | int vx, vy; | 1303 | int vx, vy; |
1295 | int selectionX = KOGlobals::self()->reverseLayout() ? | 1304 | int selectionX = KOGlobals::self()->reverseLayout() ? |
1296 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : | 1305 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : |
1297 | mSelectionCellX * mGridSpacingX; | 1306 | mSelectionCellX * mGridSpacingX; |
1298 | contentsToViewport ( cx, cy, vx,vy); | 1307 | contentsToViewport ( cx, cy, vx,vy); |
1299 | // qDebug(" %d %d %d %d ", cx, cy, cw,ch) ; | 1308 | // qDebug(" %d %d %d %d ", cx, cy, cw,ch) ; |
1300 | if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) | 1309 | if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) |
1301 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); | 1310 | bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); |
1302 | 1311 | ||
1303 | if ( mSelectionHeight > 0 ) { | 1312 | if ( mSelectionHeight > 0 ) { |
1304 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); | 1313 | //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); |
1305 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && | 1314 | if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && |
1306 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { | 1315 | ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { |
1307 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); | 1316 | contentsToViewport ( selectionX, mSelectionYTop, vx,vy); |
1308 | bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); | 1317 | //bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); |
1318 | int hei = mSelectionHeight; | ||
1319 | int offset = 0; | ||
1320 | while ( hei > 0 ) { | ||
1321 | int p_hei = 5; | ||
1322 | if ( hei < 5 ) p_hei = hei; | ||
1323 | hei -= 5; | ||
1324 | bitBlt ( pd, vx+1, vy+offset, &mHighlightPixmap, 0, 0, mGridSpacingX-1, p_hei ,CopyROP); | ||
1325 | offset += 5; | ||
1326 | } | ||
1309 | } | 1327 | } |
1310 | } | 1328 | } |
1311 | p->begin( pd ); | 1329 | p->begin( pd ); |
1312 | } | 1330 | } |
1313 | 1331 | ||
1314 | } | 1332 | } |
1315 | 1333 | ||
1316 | void KOAgenda::finishUpdate() | 1334 | void KOAgenda::finishUpdate() |
1317 | { | 1335 | { |
1318 | 1336 | ||
1319 | KOAgendaItem *item; | 1337 | KOAgendaItem *item; |
1320 | globalFlagBlockAgendaItemPaint = 1; | 1338 | globalFlagBlockAgendaItemPaint = 1; |
@@ -1369,26 +1387,26 @@ void KOAgenda::drawContentsToPainter( QPainter* paint, bool backgroundOnly )// i | |||
1369 | if ( ! mGridSpacingX || ! mGridSpacingY ||! mHolidayMask ) | 1387 | if ( ! mGridSpacingX || ! mGridSpacingY ||! mHolidayMask ) |
1370 | return; | 1388 | return; |
1371 | if ( globalFlagBlockAgenda > 1 && globalFlagBlockAgenda < 4 ) | 1389 | if ( globalFlagBlockAgenda > 1 && globalFlagBlockAgenda < 4 ) |
1372 | return; | 1390 | return; |
1373 | int cx = 0, cy = 0, cw = contentsWidth(), ch = contentsHeight(); | 1391 | int cx = 0, cy = 0, cw = contentsWidth(), ch = contentsHeight(); |
1374 | if ( ch < 1 ) | 1392 | if ( ch < 1 ) |
1375 | ch = 1; | 1393 | ch = 1; |
1376 | if ( mPaintPixmap.width() < contentsWidth()+42 || mPaintPixmap.height() < ch ) { | 1394 | if ( mPaintPixmap.width() < contentsWidth()+42 || mPaintPixmap.height() < ch ) { |
1377 | mPaintPixmap.resize( contentsWidth()+42, ch ); | 1395 | mPaintPixmap.resize( contentsWidth()+42, ch ); |
1378 | } | 1396 | } |
1379 | mCurPixWid = contentsWidth(); | 1397 | mCurPixWid = contentsWidth(); |
1380 | mCurPixHei = ch; | 1398 | mCurPixHei = ch; |
1381 | if ( mHighlightPixmap.width() < mGridSpacingX-1 || mHighlightPixmap.height() < ch ) { | 1399 | if ( mHighlightPixmap.width() < mGridSpacingX-1 ) { |
1382 | mHighlightPixmap.resize( mGridSpacingX-1, ch ); | 1400 | mHighlightPixmap.resize( mGridSpacingX-1, 5 ); |
1383 | mHighlightPixmap.fill ( KOPrefs::instance()->mHighlightColor ); | 1401 | mHighlightPixmap.fill ( KOPrefs::instance()->mHighlightColor ); |
1384 | } | 1402 | } |
1385 | mPixPainter.begin( &mPaintPixmap) ; | 1403 | mPixPainter.begin( &mPaintPixmap) ; |
1386 | //qDebug("wid %d hei %d ",mPaintPixmap.width(),mPaintPixmap.height() ); | 1404 | //qDebug("wid %d hei %d ",mPaintPixmap.width(),mPaintPixmap.height() ); |
1387 | QPainter * p ; | 1405 | QPainter * p ; |
1388 | if (paint == 0) { | 1406 | if (paint == 0) { |
1389 | mPaintPixmap.fill(KOPrefs::instance()->mAgendaBgColor); | 1407 | mPaintPixmap.fill(KOPrefs::instance()->mAgendaBgColor); |
1390 | p = &mPixPainter; | 1408 | p = &mPixPainter; |
1391 | } | 1409 | } |
1392 | else | 1410 | else |
1393 | p = paint ; | 1411 | p = paint ; |
1394 | // qDebug("++++++KOAgenda::drawContentsTo Painter %d %d %d %d ", cx, cy, cw, ch); | 1412 | // qDebug("++++++KOAgenda::drawContentsTo Painter %d %d %d %d ", cx, cy, cw, ch); |