[Development] Calendar Systems proposal

Thiago Macieira thiago.macieira at intel.com
Mon Aug 7 06:14:02 CEST 2017


On Saturday, 5 August 2017 05:08:23 PDT Soroush Rabiei wrote:
> I believe our proposed change (containing locale backend , date and time
> classes and related widgets) is ready to be merged (maybe after some minor
> improvements)
> 
> I would like to ask someone to review this change:
> 
> https://codereview.qt-project.org/#/c/182341/

Ok, a quick review's quick conclusions:

I mostly like your API. It looks simple and well integrated into QDateTime and 
QLocale. There are a couple of minor problems in the API itself, like 
QCalendarWidget::calendar() returning a reference. That's just wrong and needs 
work.

But there are bigger problems with the implementation, starting with 
QAbstractCalendar having a static protected QMap member. The big problem is 
how you've implemented the new API in QDateTime and QLocale. There's code 
duplication that cannot be there in QLocale, but the way you've removed the 
duplication in QDateTime also needs changing for performance reasons.

int QDate::year() const
{
    return year(QGregorianCalendar());
}

This creates a polymorphic object and makes a call that ends up delegating to 
it in

	    if (cal.julianDayToDate(jd, y, m, d))

The commit also includes changes that look like unrelated clean-ups and will 
need to be split into different commits. It's at this point lacking 
documentation and there are a couple of coding style mistakes.

In all, good work and I like how this is coming along, but it's not "ready for 
beta" right now, so it shouldn't be included in dev until after 5.11 opens for 
new features.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list