summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qtimezoneprivate.cpp
diff options
context:
space:
mode:
authorJohn Layt <jlayt@kde.org>2014-01-07 17:10:19 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-11 17:23:25 +0100
commit19be46414ae68c619b94f2fdebd21192898d65fd (patch)
tree1fbb1980d76bcecc997ddd6721a6870828f8343b /src/corelib/tools/qtimezoneprivate.cpp
parent20a03d5612a5a7b763bfb0edbf9922ec4e50b25d (diff)
QTimeZone - Change from Olson ID to IANA ID
Complete changes from using Olsen/Olson in the code to IANA. Completes a change started in 5.2 release branch on the public occurrences. Change-Id: Ib077fcda2c77eef6f04ec28901d8d2d7210b8c72 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qtimezoneprivate.cpp')
-rw-r--r--src/corelib/tools/qtimezoneprivate.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/corelib/tools/qtimezoneprivate.cpp b/src/corelib/tools/qtimezoneprivate.cpp
index dffb20b7cf..4286119586 100644
--- a/src/corelib/tools/qtimezoneprivate.cpp
+++ b/src/corelib/tools/qtimezoneprivate.cpp
@@ -85,21 +85,21 @@ static QByteArray windowsId(const QWindowsData *windowsData)
return (windowsIdData + windowsData->windowsIdIndex);
}
-// Return the Olsen ID literal for a given QWindowsData
-static QByteArray olsenId(const QWindowsData *windowsData)
+// Return the IANA ID literal for a given QWindowsData
+static QByteArray ianaId(const QWindowsData *windowsData)
{
- return (olsenIdData + windowsData->olsenIdIndex);
+ return (ianaIdData + windowsData->ianaIdIndex);
}
-// Return the Olsen ID literal for a given QZoneData
-static QByteArray olsenId(const QZoneData *zoneData)
+// Return the IANA ID literal for a given QZoneData
+static QByteArray ianaId(const QZoneData *zoneData)
{
- return (olsenIdData + zoneData->olsenIdIndex);
+ return (ianaIdData + zoneData->ianaIdIndex);
}
static QByteArray utcId(const QUtcData *utcData)
{
- return (olsenIdData + utcData->olsenIdIndex);
+ return (ianaIdData + utcData->ianaIdIndex);
}
static quint16 toWindowsIdKey(const QByteArray &winId)
@@ -172,7 +172,7 @@ QLocale::Country QTimeZonePrivate::country() const
// Default fall-back mode, use the zoneTable to find Region of known Zones
for (int i = 0; i < zoneDataTableSize; ++i) {
const QZoneData *data = zoneData(i);
- if (olsenId(data).split(' ').contains(m_id))
+ if (ianaId(data).split(' ').contains(m_id))
return (QLocale::Country)data->country;
}
return QLocale::AnyCountry;
@@ -361,14 +361,14 @@ QSet<QByteArray> QTimeZonePrivate::availableTimeZoneIds(QLocale::Country country
// First get all Zones in the Zones table belonging to the Region
for (int i = 0; i < zoneDataTableSize; ++i) {
if (zoneData(i)->country == country)
- regionSet += olsenId(zoneData(i)).split(' ').toSet();
+ regionSet += ianaId(zoneData(i)).split(' ').toSet();
}
// Then select just those that are available
QSet<QByteArray> set;
- foreach (const QByteArray &olsenId, availableTimeZoneIds()) {
- if (regionSet.contains(olsenId))
- set << olsenId;
+ foreach (const QByteArray &ianaId, availableTimeZoneIds()) {
+ if (regionSet.contains(ianaId))
+ set << ianaId;
}
return set;
@@ -385,16 +385,16 @@ QSet<QByteArray> QTimeZonePrivate::availableTimeZoneIds(int offsetFromUtc) const
for (int j = 0; j < zoneDataTableSize; ++j) {
const QZoneData *data = zoneData(j);
if (data->windowsIdKey == winData->windowsIdKey)
- offsetSet += olsenId(data).split(' ').toSet();
+ offsetSet += ianaId(data).split(' ').toSet();
}
}
}
// Then select just those that are available
QSet<QByteArray> set;
- foreach (const QByteArray &olsenId, availableTimeZoneIds()) {
- if (offsetSet.contains(olsenId))
- set << olsenId;
+ foreach (const QByteArray &ianaId, availableTimeZoneIds()) {
+ if (offsetSet.contains(ianaId))
+ set << ianaId;
}
return set;
@@ -443,17 +443,17 @@ QTimeZone::OffsetData QTimeZonePrivate::toOffsetData(const QTimeZonePrivate::Dat
}
// If the format of the ID is valid
-bool QTimeZonePrivate::isValidId(const QByteArray &olsenId)
+bool QTimeZonePrivate::isValidId(const QByteArray &ianaId)
{
- // Rules for defining TZ/Olsen names as per ftp://ftp.iana.org/tz/code/Theory
+ // Rules for defining TZ/IANA names as per ftp://ftp.iana.org/tz/code/Theory
// * Use only valid POSIX file name components
// * Within a file name component, use only ASCII letters, `.', `-' and `_'.
// * Do not use digits
// * A file name component must not exceed 14 characters or start with `-'
// Aliases such as "Etc/GMT+7" and "SystemV/EST5EDT" are valid so we need to accept digits
- if (olsenId.contains(' '))
+ if (ianaId.contains(' '))
return false;
- QList<QByteArray> parts = olsenId.split('/');
+ QList<QByteArray> parts = ianaId.split('/');
foreach (const QByteArray &part, parts) {
if (part.size() > 14 || part.size() < 1)
return false;
@@ -487,7 +487,7 @@ QByteArray QTimeZonePrivate::ianaIdToWindowsId(const QByteArray &id)
{
for (int i = 0; i < zoneDataTableSize; ++i) {
const QZoneData *data = zoneData(i);
- if (olsenId(data).split(' ').contains(id))
+ if (ianaId(data).split(' ').contains(id))
return toWindowsIdLiteral(data->windowsIdKey);
}
return QByteArray();
@@ -499,7 +499,7 @@ QByteArray QTimeZonePrivate::windowsIdToDefaultIanaId(const QByteArray &windowsI
for (int i = 0; i < windowsDataTableSize; ++i) {
const QWindowsData *data = windowsData(i);
if (data->windowsIdKey == windowsIdKey)
- return olsenId(data);
+ return ianaId(data);
}
return QByteArray();
}
@@ -522,7 +522,7 @@ QList<QByteArray> QTimeZonePrivate::windowsIdToIanaIds(const QByteArray &windows
for (int i = 0; i < zoneDataTableSize; ++i) {
const QZoneData *data = zoneData(i);
if (data->windowsIdKey == windowsIdKey)
- list << olsenId(data).split(' ');
+ list << ianaId(data).split(' ');
}
// Return the full list in alpha order
@@ -538,7 +538,7 @@ QList<QByteArray> QTimeZonePrivate::windowsIdToIanaIds(const QByteArray &windows
const QZoneData *data = zoneData(i);
// Return the region matches in preference order
if (data->windowsIdKey == windowsIdKey && data->country == (quint16) country)
- return olsenId(data).split(' ');
+ return ianaId(data).split(' ');
}
return QList<QByteArray>();