summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/komonthview.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 6d6ae8a..e66ddce 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -1654,13 +1654,23 @@ void KOMonthView::computeLayoutWeek()
if ( ((i) % daysToShow) >= daysToShow-colModulo ) {
++w;
}
if ( i >= 5 ) {
- mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,w/2+w%2,h);
- x -= (w/2 );
+ 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;
@@ -1775,8 +1785,12 @@ void KOMonthView::computeLayout()
if ( i == daysToShow-colModulo )
++w;
if ( combinedSatSun ) {
if ( i >= daysToShow-1 ) {
+
+ 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
@@ -1800,12 +1814,14 @@ void KOMonthView::computeLayout()
++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;
}