-rw-r--r-- | korganizer/komonthview.cpp | 68 | ||||
-rw-r--r-- | korganizer/komonthview.h | 1 |
2 files changed, 44 insertions, 25 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 38cfda7..12233ee 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp @@ -753,20 +753,9 @@ void MonthViewCell::finishUpdateCell() #endif sort(); //setMyPalette(); setMyPalette(); - QString text; - bool smallDisplay = QApplication::desktop()->width() < 320 && KOPrefs::instance()->mMonthViewSatSunTog; - if ( KOPrefs::instance()->mMonthViewWeek || KOGlobals::self()->calendarSystem()->day( mDate ) == 1 || (mDate.dayOfWeek() == 7 && !smallDisplay ) || KOPrefs::instance()->mMonthShowShort) { - text = KOGlobals::self()->calendarSystem()->monthName( mDate, true ) + " "; - mLabel->resize( mLabelBigSize ); - text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); - } else { - mLabel->resize( mLabelSize ); - text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); - } - mLabel->setText( text ); resizeEvent( 0 ); } void MonthViewCell::updateCell() @@ -894,8 +883,23 @@ void MonthViewCell::resizeEvent ( QResizeEvent * e ) if ( !mMonthView->isUpdatePossible() ) return; //qDebug("++++++++++++++MonthViewCell::resizeEvent %d %d ", width(), height()); deselect(); + mLabel->setMaximumHeight( height() - lineWidth()*2 ); + + QString text; + mLabel->setText( text ); + bool smallDisplay = QApplication::desktop()->width() < 320 && KOPrefs::instance()->mMonthViewSatSunTog; + if ( KOPrefs::instance()->mMonthViewWeek || KOGlobals::self()->calendarSystem()->day( mDate ) == 1 || (mDate.dayOfWeek() == 7 && !smallDisplay ) || KOPrefs::instance()->mMonthShowShort) { + text = KOGlobals::self()->calendarSystem()->monthName( mDate, true ) + " "; + mLabel->resize( mLabelBigSize ); + text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); + } else { + mLabel->resize( mLabelSize ); + text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); + } + mLabel->setText( text ); + int size = height() - mLabel->height() - lineWidth()-1; //qDebug("LW %d ", lineWidth()); if ( size > 0 ) verticalScrollBar()->setMaximumHeight( size ); @@ -1447,9 +1451,9 @@ void KOMonthView::updateView() for( i = 0; i < timeSpan+1; ++i ) { (*cells)[i]->finishUpdateCell(); } processSelectionChange(); - qApp->processEvents(); + //qApp->processEvents(); for( i = 0; i < timeSpan+1; ++i ) { (*cells)[i]->repaintfinishUpdateCell(); } (*cells)[0]->setFocus(); @@ -1473,20 +1477,20 @@ void KOMonthView::updateView() } void KOMonthView::resizeEvent(QResizeEvent * e) { - qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); + //qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); if ( isVisible() ) { - qDebug("KOMonthView::isVisible "); + //qDebug("KOMonthView::isVisible "); slotComputeLayout(); } else mComputeLayoutTimer->start( 100 ); } void KOMonthView::slotComputeLayout() { mComputeLayoutTimer->stop(); - qDebug("KOMonthView::Post - resizeEvent %d %d ", width(), height() ); + //qDebug("KOMonthView::Post - resizeEvent %d %d ", width(), height() ); computeLayout(); clPending = true; if ( mShowWeekView ) mCellsW[0]->setFocus(); @@ -1513,9 +1517,9 @@ void KOMonthView::computeLayoutWeek() if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) return; if ( lastWid == width() && lastHei == height() ) { - qDebug("KOListWeekView::No compute layout needed "); + //qDebug("KOListWeekView::No compute layout needed "); return; } lastWid = width(); lastHei = height(); @@ -1566,8 +1570,9 @@ void KOMonthView::computeLayoutWeek() x= 0; y= dayLabelHei; w = colWid; h = cellHei; + int max = 0; for ( i = 0; i < mCellsW.count(); ++i) { if ( i > 6 ) { mCellsW[i]->hide(); continue; @@ -1581,26 +1586,31 @@ void KOMonthView::computeLayoutWeek() ++h; if ( i >= 5 ) { if ( i ==5 ) { - mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h/2 ); + max = h/2; + mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,max ); x -= w ;y += h/2; } else { if ( ((i-1) % daysToShow) >= daysToShow-colModulo ) { ++w; } - mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 ); + max = h-h/2; + mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,max ); y -= h/2; } - } else + } else { + max = h; mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h ); + } x += w; if ( x + w/2 > wid ) { x = 0; y += h+dayLabelHei ; } + //mCellsW[i]->dateLabel()->setMaximumHeight( max - mCellsW[i]->lineWidth()*2 ); } y= dayLabelHei; h = cellHei ; mWeekLabelsW[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei); @@ -1641,15 +1651,15 @@ void KOMonthView::computeLayout() if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) { return; } if ( lastWid == width() && lastHei == height() ){ - qDebug("KOMonthview::No compute layout needed "); + //qDebug("KOMonthview::No compute layout needed "); return; } lastWid = width(); lastHei = height(); - qDebug("KOMonthView::computeLayout() MMM ------------------- "); + //qDebug("KOMonthView::computeLayout() MMM ------------------- "); QFontMetrics fm ( mWeekLabels[0]->font() ); int weeklabelwid = fm.width( "888" ); wid -= weeklabelwid; @@ -1683,8 +1693,9 @@ void KOMonthView::computeLayout() x= 0; y= dayLabelHei; w = colWid; h = cellHei ; + int max = 0; for ( i = 0; i < mCells.count(); ++i) { //qDebug("iii %d ", i); w = colWid; if ( ((i) % 7) >= 7-colModulo ) { @@ -1694,25 +1705,32 @@ void KOMonthView::computeLayout() ++h; if ( combinedSatSun ) { if ( (i)%7 >= daysToShow-1 ) { if ( (i)%7 == daysToShow-1 ) { - mCells[i]->setGeometry ( x+weeklabelwid,y,w,h/2 ); + max = h/2; + mCells[i]->setGeometry ( x+weeklabelwid,y,w,max ); x -= w ;y += h/2; } else { - mCells[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 ); + max = h-h/2; + mCells[i]->setGeometry ( x+weeklabelwid,y,w,max ); y -= h/2; } - } else + } else { + max = h; mCells[i]->setGeometry ( x+weeklabelwid,y,w,h ); + } } - else + else { + max = h; mCells[i]->setGeometry ( x+weeklabelwid,y,w,h ); + } x += w; if ( x + w/2 > wid ) { x = 0; y += h; } + //mCells[i]->dateLabel()->setMaximumHeight( max- mCells[i]->lineWidth()*2 ); } y= dayLabelHei; h = cellHei ; for ( i = 0; i < 6; i++) { diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index b997c1a..a58f6b8 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h @@ -158,8 +158,9 @@ class MonthViewCell : public KNoScrollListBox void enableScrollBars( bool ); Incidence *selectedIncidence(); QDate selectedIncidenceDate(); + QPushButton * dateLabel() { return mLabel; } void deselect(); void select(); |