-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 @@ -1655,10 +1655,20 @@ void KOMonthView::computeLayoutWeek() ++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; } @@ -1777,5 +1787,9 @@ void KOMonthView::computeLayout() 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 ; } @@ -1802,8 +1816,10 @@ void KOMonthView::computeLayout() 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 ); |