Review request: KCalendarSystem and friends in frameworks branch

Jon Severinsson jon at severinsson.net
Fri Oct 12 15:13:35 UTC 2012


Hi

I have recently been working a bit on getting KCalendarSystem and friends into
shape in the rameworks branch. This fixes all but one failure in kcalendartest
on Qt5, but more importanty it cleans up the total mess that there currently
is in the calendar system. There is still a lot to do in this area, but this
is a good start, and I am honestly starting to get tired of dates ;-).

This series have only been tested on Qt5, but all but the last works with Qt5.
The last one will bork any dates prior to 1582 on Qt4, so we probably want to
hold of commiting that one unill Qt 5.0 is released and we stopps supporting
building the frameworks branch with Qt4.

Regards
Jon Severinsson

Jon Severinsson (23):
      kcalendartest: Test against julian day values instead of pre 1522 QDates
      kcalendartest: Clean up configuration before running a configuration-dependent test.
      kdatetime: Use public KCalendarSystem API
      kcalendarsystemgregorian: Read settings from the correct config group.
      kcalendarsystem: Fix method access.
      kcalendarsystem: Remove dummy function implementations.
      kcalendarsystem: Drop unused internal functions.
      kcalendarsystem: Remove the invalidDate() helper function, better to simply use QDate() directly.
      kcalendarsystem: Remove deprecated functions sceduled for removal
      kcalendarsystem: Remove the deprecated weekDayOfPray() method.
      kcalendarsystem: Update internal api to use quint64 for julian days, in order to match Qt5 QDate.
      kcalendarsystem: Make calendarSystem() a simple virtual function.
      kcalendarsystem: Make weekStartDay() inline rather than virtual.
      kcalendarsystem: Simplify the addDays() and daysDifference implementations.
      kcalendarsystem: Simplify isValid(...) implementations.
      kcalendarsystem: Fix lengthOfWeek to 7
      kcalendarsystem: Simplify the dayOfWeek() implementation.
      kcalendarsystem: Simplify week() and weeksInYear() implementations
      kcalendarsystem: Move most week related code out ouf the way of regular calendar system code.
      kcalendarsystem: Simplify weekday naming a lot.
      kcalendarsystem: Make monthName() a simple virtual function.
      qcalendarsystem: Make monthsInYear(), daysInMonth(), daysInYear(), and isLeapYear() non-virtual.
      kcalendarsystem: Merge KCalendarSystemQDate into KCalendarSystemGregorian.

 kdecore/CMakeLists.txt                           |    2 +-
 kdecore/date/kcalendarsystem.cpp                 |  894 +---------------------
 kdecore/date/kcalendarsystem.h                   |  550 +++++--------
 kdecore/date/kcalendarsystemcoptic.cpp           |  401 ++++------
 kdecore/date/kcalendarsystemcoptic_p.h           |   22 +-
 kdecore/date/kcalendarsystemcopticprivate_p.h    |    5 -
 kdecore/date/kcalendarsystemethiopian.cpp        |  288 ++-----
 kdecore/date/kcalendarsystemethiopian_p.h        |   23 +-
 kdecore/date/kcalendarsystemgregorian.cpp        |  533 +++++--------
 kdecore/date/kcalendarsystemgregorian_p.h        |   24 +-
 kdecore/date/kcalendarsystemgregorianprivate_p.h |    5 -
 kdecore/date/kcalendarsystemhebrew.cpp           |  398 ++++------
 kdecore/date/kcalendarsystemhebrew_p.h           |   25 +-
 kdecore/date/kcalendarsystemindiannational.cpp   |  371 +++------
 kdecore/date/kcalendarsystemindiannational_p.h   |   23 +-
 kdecore/date/kcalendarsystemislamiccivil.cpp     |  453 ++++-------
 kdecore/date/kcalendarsystemislamiccivil_p.h     |   23 +-
 kdecore/date/kcalendarsystemjalali.cpp           |  465 ++++-------
 kdecore/date/kcalendarsystemjalali_p.h           |   23 +-
 kdecore/date/kcalendarsystemjapanese.cpp         |   66 +-
 kdecore/date/kcalendarsystemjapanese_p.h         |   25 +-
 kdecore/date/kcalendarsystemjulian.cpp           |  383 +++------
 kdecore/date/kcalendarsystemjulian_p.h           |   23 +-
 kdecore/date/kcalendarsystemminguo.cpp           |   79 +-
 kdecore/date/kcalendarsystemminguo_p.h           |   25 +-
 kdecore/date/kcalendarsystemprivate_p.h          |   46 +-
 kdecore/date/kcalendarsystemqdate.cpp            |  560 --------------
 kdecore/date/kcalendarsystemqdate_p.h            |   93 ---
 kdecore/date/kcalendarsystemthai.cpp             |   58 +-
 kdecore/date/kcalendarsystemthai_p.h             |   19 +-
 kdecore/date/kcalendarsystemweek.cpp             |  317 ++++++++
 kdecore/date/kdatetime.cpp                       |   26 +-
 kdecore/date/kdatetimeparser.cpp                 |    2 +-
 kdecore/date/klocalizeddate.h                    |    7 +-
 kdecore/localization/klocale.h                   |    9 +-
 kdecore/localization/klocale_kde.cpp             |   12 +-
 kdecore/tests/kcalendartest.cpp                  |  428 ++---------
 kdecore/tests/kcalendartest.h                    |   27 +-
 kdecore/tests/kdatetimetest.cpp                  |    2 +-
 kdeui/widgets/kdatepicker.cpp                    |    5 -
 kdeui/widgets/kdatepicker.h                      |    9 -
 kdeui/widgets/kdatetable.cpp                     |    5 -
 kdeui/widgets/kdatetable.h                       |    9 -
 kdeui/widgets/kdatewidget.cpp                    |    5 -
 kdeui/widgets/kdatewidget.h                      |    9 -



More information about the Kde-frameworks-devel mailing list