diff options
Diffstat (limited to 'src/corelib/time/qcalendarbackend_p.h')
-rw-r--r-- | src/corelib/time/qcalendarbackend_p.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/corelib/time/qcalendarbackend_p.h b/src/corelib/time/qcalendarbackend_p.h index 21506e9e2c..24dd08873d 100644 --- a/src/corelib/time/qcalendarbackend_p.h +++ b/src/corelib/time/qcalendarbackend_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -56,23 +56,33 @@ #include <QtCore/qstringlist.h> #include <QtCore/qstring.h> #include <QtCore/qmap.h> +#include <QtCore/private/qlocale_p.h> QT_BEGIN_NAMESPACE // Locale-related parts, mostly handled in ../text/qlocale.cpp -struct QLocaleDataEntry { - quint16 index, size; -}; struct QCalendarLocale { quint16 m_language_id, m_script_id, m_country_id; + +#define rangeGetter(name) \ + QLocaleData::DataRange name() const { return { m_ ## name ## _idx, m_ ## name ## _size }; } + + rangeGetter(longMonthStandalone) rangeGetter(longMonth) + rangeGetter(shortMonthStandalone) rangeGetter(shortMonth) + rangeGetter(narrowMonthStandalone) rangeGetter(narrowMonth) +#undef rangeGetter + // Month name indexes: - QLocaleDataEntry m_standalone_short; - QLocaleDataEntry m_standalone_long; - QLocaleDataEntry m_standalone_narrow; - QLocaleDataEntry m_short; - QLocaleDataEntry m_long; - QLocaleDataEntry m_narrow; + quint16 m_longMonthStandalone_idx, m_longMonth_idx; + quint16 m_shortMonthStandalone_idx, m_shortMonth_idx; + quint16 m_narrowMonthStandalone_idx, m_narrowMonth_idx; + + // Twelve long month names (separated by commas) can add up to more than 256 + // QChars - e.g. kde_TZ gets to 264. + quint16 m_longMonthStandalone_size, m_longMonth_size; + quint8 m_shortMonthStandalone_size, m_shortMonth_size; + quint8 m_narrowMonthStandalone_size, m_narrowMonth_size; }; // Partial implementation, of methods with common forms, in qcalendar.cpp |