-rw-r--r-- | korganizer/datenavigatorcontainer.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp index f6f62a4..92abae6 100644 --- a/korganizer/datenavigatorcontainer.cpp +++ b/korganizer/datenavigatorcontainer.cpp @@ -202,40 +202,50 @@ void DateNavigatorContainer::checkUpdateDayMatrixDates() if ( horizontalCount == 0 ) horizontalCount = 1; 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 ); mExtraViews.append( n ); n->setCalendar( mCalendar ); connectNavigatorView( n ); // 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; + if ( mNavigatorView->fontChanged() && ! fontchange ) { + qDebug("KDNC: Resetting all fonts "); fo = KOPrefs::instance()->mDateNavigatorFont; mNavigatorView->changeFont( fo ); mNavigatorView->unsetFontChanged(); - } - } - if ( fontchange ) { uint i; - for( i = 0; i < mLastDisplayedDN; ++i ) { + for( i = 0; i < mExtraViews.count(); ++i ) { KDateNavigator *view = mExtraViews.at( i ); view->changeFont( fo ); } } int theight = height() / mVerticalCount; int twidth = width() / mHorizontalCount; |