-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 @@ -1277,13 +1277,22 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) } if ( mSelectionHeight > 0 ) { //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { contentsToViewport ( selectionX, mSelectionYTop, vx,vy); - bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); + // bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); + int hei = mSelectionHeight; + int offset = 0; + while ( hei > 0 ) { + int p_hei = 5; + if ( hei < 5 ) p_hei = hei; + hei -= 5; + bitBlt ( pd, vx+1, vy+offset, &mHighlightPixmap, 0, 0, mGridSpacingX-1, p_hei ,CopyROP); + offset += 5; + } } } p->begin( pd ); } else { if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) @@ -1302,13 +1311,22 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) if ( mSelectionHeight > 0 ) { //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { contentsToViewport ( selectionX, mSelectionYTop, vx,vy); - bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); + //bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); + int hei = mSelectionHeight; + int offset = 0; + while ( hei > 0 ) { + int p_hei = 5; + if ( hei < 5 ) p_hei = hei; + hei -= 5; + bitBlt ( pd, vx+1, vy+offset, &mHighlightPixmap, 0, 0, mGridSpacingX-1, p_hei ,CopyROP); + offset += 5; + } } } p->begin( pd ); } } @@ -1375,14 +1393,14 @@ void KOAgenda::drawContentsToPainter( QPainter* paint, bool backgroundOnly )// i ch = 1; if ( mPaintPixmap.width() < contentsWidth()+42 || mPaintPixmap.height() < ch ) { mPaintPixmap.resize( contentsWidth()+42, ch ); } mCurPixWid = contentsWidth(); mCurPixHei = ch; - if ( mHighlightPixmap.width() < mGridSpacingX-1 || mHighlightPixmap.height() < ch ) { - mHighlightPixmap.resize( mGridSpacingX-1, ch ); + if ( mHighlightPixmap.width() < mGridSpacingX-1 ) { + mHighlightPixmap.resize( mGridSpacingX-1, 5 ); mHighlightPixmap.fill ( KOPrefs::instance()->mHighlightColor ); } mPixPainter.begin( &mPaintPixmap) ; //qDebug("wid %d hei %d ",mPaintPixmap.width(),mPaintPixmap.height() ); QPainter * p ; if (paint == 0) { |