qt5base-lts/qmake
Soroush Rabiei aa8393c94f Add support for calendars beside Gregorian
Add QCalendarBackend as a base class for calendar implementations and
QCalendar as a facade via which to access it.

QDate's implicit implementation of the Gregorian calendar becomes
QGregorianCalendar and QDate methods now support choice of calendar.

Convert QLocale's CLDR data for month names to a locale-data component
of each supported calendar and relevant QLocale methods now support
choice of calendar. Adapt Python scripts for locale data generation to
extract month name data from CLDR (keeping on version v35.1) into the
new calendar-locale files. The locale data for the Gregorian calendar
is held in a Roman calendar base, for sharing with other calendars.

Add tests for basic uses of the new API.

[ChangeLog][QtCore][QCalendar] Added QCalendar to support diverse
calendars, supported by implementing QCalendarBackend.

[ChangeLog][QtCore][QDate] Allow choice of calendar in various
operations, with Gregorian remaining the default.

Done-with: Lars Knoll <lars.knoll@qt.io>
Done-with: Edward Welbourne <edward.welbourne@qt.io>
Fixes: QTBUG-17110
Fixes: QTBUG-950
Change-Id: I9d6278f394269a183aee8156e990cec4d5198ab8
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-08-20 13:41:21 +02:00
..
doc Merge remote-tracking branch 'origin/5.12' into 5.13 2019-08-12 13:23:11 +02:00
generators Merge remote-tracking branch 'origin/5.13' into dev 2019-08-16 01:00:33 +02:00
library Merge remote-tracking branch 'origin/5.13' into dev 2019-07-22 06:50:42 +02:00
cachekeys.h Updated license headers 2016-01-21 18:55:18 +00:00
main.cpp Let QINSTALL copy hidden files when installing directories 2019-04-09 08:16:25 +00:00
Makefile.unix Add support for calendars beside Gregorian 2019-08-20 13:41:21 +02:00
Makefile.unix.macos Merge remote-tracking branch 'origin/5.8' into dev 2016-12-13 09:39:20 +01:00
Makefile.unix.mingw fix "make clean" of qmake in a builddir with spaces on mingw 2017-12-14 18:06:31 +00:00
Makefile.unix.unix Move the readlink(2) wrapper to qcore_unix.cpp 2017-07-08 02:18:16 +00:00
Makefile.unix.win32 qmake: add $$read_registry() function 2019-01-05 20:33:07 +00:00
Makefile.win32 Add support for calendars beside Gregorian 2019-08-20 13:41:21 +02:00
meta.cpp qmake: Remove dead code 2019-04-05 07:48:34 +00:00
meta.h qmake: Remove dead code 2019-04-05 07:48:34 +00:00
option.cpp Remove QMake's -createstub option 2019-08-03 14:48:10 +02:00
option.h Remove QMake's -createstub option 2019-08-03 14:48:10 +02:00
project.cpp qmake: use std names on a linked list 2019-05-13 16:39:22 +00:00
project.h qmake: use std names on a linked list 2019-05-13 16:39:22 +00:00
property.cpp Compile with QT_STRICT_ITERATORS defined 2018-11-26 07:04:24 +00:00
property.h move generation of qconfig.cpp (and qt.conf) to qmake-based configure 2016-12-13 18:56:12 +00:00
qmake_pch.h qmake: move QT_BEGIN_NAMESPACE to correct place 2018-12-19 19:21:35 +00:00
qmake-aux.pro revert to building qmake with qconfig.cpp 2017-01-06 20:09:08 +00:00
qmake.pro Add support for calendars beside Gregorian 2019-08-20 13:41:21 +02:00