-rw-r--r-- | korganizer/komonthview.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 6d6ae8a..e66ddce 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp @@ -1651,18 +1651,28 @@ void KOMonthView::computeLayoutWeek() x = 0; w = colWid; } if ( ((i) % daysToShow) >= daysToShow-colModulo ) { ++w; } - if ( i >= 5 ) { - mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,w/2+w%2,h); - x -= (w/2 ); + if ( i >= 5 ) { + int wi = width() - x - weeklabelwid; + if ( i == 5 ) { + mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,wi/2+wi%2,h); + } else { + mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,wi,h); + } + x = x - w + wi - (wi/2 ); + } + else { + int wi = w; + if ( !(( i+1) % daysToShow)) { + wi = width() - x - weeklabelwid; + } + mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,wi,h); } - else - mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,w,h); x += w; } x= 0; y= dayLabelHei; w = colWid; h = cellHei; @@ -1773,13 +1783,17 @@ void KOMonthView::computeLayout() h = dayLabelHei ; for ( i = 0; i < 7; i++) { if ( i == daysToShow-colModulo ) ++w; if ( combinedSatSun ) { if ( i >= daysToShow-1 ) { - mDayLabels[i]->setGeometry( x+weeklabelwid,y,w/2,h); + + if ( i == 6 ) + mDayLabels[i]->setGeometry( x+weeklabelwid,y,width()-x-weeklabelwid,h); + else + mDayLabels[i]->setGeometry( x+weeklabelwid,y,w/2,h); x -= w/2 ; } else mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h); } else mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h); @@ -1798,16 +1812,18 @@ void KOMonthView::computeLayout() } if ( i == (6-rowModulo)*7) ++h; if ( combinedSatSun ) { if ( (i)%7 >= daysToShow-1 ) { if ( (i)%7 == daysToShow-1 ) { + w = width()-x-weeklabelwid; max = h/2; mCells[i]->setGeometry ( x+weeklabelwid,y,w,max ); x -= w ;y += h/2; } else { + w = width()-x-weeklabelwid; max = h-h/2; mCells[i]->setGeometry ( x+weeklabelwid,y,w,max ); y -= h/2; } } else { max = h; |