CVS commit by bieker: Added support for calendars where monthsInYear != 12. M +6 -3 kdatepicker.cpp 1.50.4.8 M +4 -2 kdatetbl.cpp 1.52.4.7 M +6 -2 kdatewidget.cpp 1.4.2.3 --- kdelibs/kdeui/kdatepicker.cpp #1.50.4.7:1.50.4.8 @@ -423,7 +423,10 @@ KDatePicker::setFontSize(int s) } QFontMetrics metrics(selectMonth->fontMetrics()); - for(int i=1; i <= 12; ++i) - { // maxMonthRect is used by sizeHint() - r=metrics.boundingRect(KGlobal::locale()->calendar()->monthName(i, false)); + + for (int i = 1; ; ++i) + { + QString str = KGlobal::locale()->calendar()->monthName(i, false); + if (str.isNull()) break; + r=metrics.boundingRect(str); maxMonthRect.setWidth(QMAX(r.width(), maxMonthRect.width())); maxMonthRect.setHeight(QMAX(r.height(), maxMonthRect.height())); --- kdelibs/kdeui/kdatetbl.cpp #1.52.4.6:1.52.4.7 @@ -515,7 +515,9 @@ KDateInternalMonthPicker::KDateInternalM // (this is slow, possibly, but unfortunatly it is needed here): QFontMetrics metrics(font); - for(int i=1; i <= KGlobal::locale()->calendar()->monthsInYear(date); ++i) + for(int i = 1; ; ++i} { - rect=metrics.boundingRect(KGlobal::locale()->calendar()->monthName(i, false)); + QString str = KGlobal::locale()->calendar()->monthName(i, false); + if (str.isNull()) break; + rect=metrics.boundingRect(src); if(max.width()m_day = new KDateWidgetSpinBox(1, 1, this); d->m_month = new QComboBox(false, this); - for(int i = 1; i <= 12; i++) // ### HPB FIXME For monthsInYear != 12 - d->m_month->insertItem(locale->calendar()->monthName(i)); + for (int i = 1; ; ++i) + { + QString str = locale->calendar()->monthName(i); + if (str.isNull()) break; + d->m_month->insertItem(str); + } d->m_year = new KDateWidgetSpinBox(locale->calendar()->minValidYear(),