summaryrefslogtreecommitdiffabout
path: root/korganizer
Side-by-side diff
Diffstat (limited to 'korganizer') (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
@@ -1650,21 +1650,31 @@ void KOMonthView::computeLayoutWeek()
y += hei/(5-daysToShow);
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 );
+ 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;
int max = 0;
for ( i = 0; i < mCellsW.count(); ++i) {
@@ -1771,16 +1781,20 @@ void KOMonthView::computeLayout()
y= 0;
w = colWid;
h = dayLabelHei ;
for ( i = 0; i < 7; i++) {
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
mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h);
} else
mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h);
x += w;
@@ -1796,20 +1810,22 @@ void KOMonthView::computeLayout()
if ( ((i) % 7) >= 7-colModulo ) {
++w;
}
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;
mCells[i]->setGeometry ( x+weeklabelwid,y,w,h );
}