-rw-r--r-- | korganizer/datenavigatorcontainer.cpp | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp index f6f62a4..92abae6 100644 --- a/korganizer/datenavigatorcontainer.cpp +++ b/korganizer/datenavigatorcontainer.cpp @@ -163,9 +163,9 @@ void DateNavigatorContainer::checkUpdateDayMatrixDates() mUpdateTimer->stop(); //return; if ( width() < 3 || height() < 3 ) return; - static int lastWid = 0; + static int lastWid = 0; static int lastHei = 0; if ( lastWid == width() && height() == lastHei ) { qDebug("KODNC: No layout computing needed. "); } else { @@ -204,10 +204,16 @@ void DateNavigatorContainer::checkUpdateDayMatrixDates() if ( verticalCount == 0 ) verticalCount = 1; fontchange = true; count = horizontalCount * verticalCount; - } - + } else { + if ( mNavigatorView->fontChanged() ) { + fontchange = true; + fo = KOPrefs::instance()->mDateNavigatorFont; + mNavigatorView->changeFont( fo ); + mNavigatorView->unsetFontChanged(); + } + } mLastDisplayedDN = horizontalCount*verticalCount-1; while ( count > ( mExtraViews.count() + 1 ) ) { KDateNavigator *n = new KDateNavigator( this ); n->setMonthSignalOffset ( mExtraViews.count()+1 ); @@ -217,23 +223,27 @@ void DateNavigatorContainer::checkUpdateDayMatrixDates() // n->show(); } setBaseDates(); + if ( fontchange ) { + //mNavigatorView->changeFont( fo ); + uint i; + for( i = 0; i < mExtraViews.count(); ++i ) { + KDateNavigator *view = mExtraViews.at( i ); + view->changeFont( fo ); + } + } mHorizontalCount = horizontalCount; mVerticalCount = verticalCount; } - if ( !fontchange ) { - if ( mNavigatorView->fontChanged() ) { - fontchange = true; - fo = KOPrefs::instance()->mDateNavigatorFont; - mNavigatorView->changeFont( fo ); - mNavigatorView->unsetFontChanged(); - } - } - if ( fontchange ) { + if ( mNavigatorView->fontChanged() && ! fontchange ) { + qDebug("KDNC: Resetting all fonts "); + fo = KOPrefs::instance()->mDateNavigatorFont; + mNavigatorView->changeFont( fo ); + mNavigatorView->unsetFontChanged(); uint i; - for( i = 0; i < mLastDisplayedDN; ++i ) { + for( i = 0; i < mExtraViews.count(); ++i ) { KDateNavigator *view = mExtraViews.at( i ); view->changeFont( fo ); } } |