summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qtextstream.cpp32
-rw-r--r--src/corelib/tools/qbytearray.cpp13
-rw-r--r--src/corelib/tools/qlocale.cpp104
-rw-r--r--src/corelib/tools/qlocale_p.h103
-rw-r--r--src/corelib/tools/qlocale_tools.cpp4
-rw-r--r--src/corelib/tools/qlocale_win.cpp12
-rw-r--r--src/corelib/tools/qstring.cpp97
7 files changed, 176 insertions, 189 deletions
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index 8188628f57..163b087436 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -2191,20 +2191,20 @@ void QTextStreamPrivate::putNumber(qulonglong number, bool negative)
unsigned flags = 0;
const QTextStream::NumberFlags numberFlags = params.numberFlags;
if (numberFlags & QTextStream::ShowBase)
- flags |= QLocalePrivate::ShowBase;
+ flags |= QLocaleData::ShowBase;
if (numberFlags & QTextStream::ForceSign)
- flags |= QLocalePrivate::AlwaysShowSign;
+ flags |= QLocaleData::AlwaysShowSign;
if (numberFlags & QTextStream::UppercaseBase)
- flags |= QLocalePrivate::UppercaseBase;
+ flags |= QLocaleData::UppercaseBase;
if (numberFlags & QTextStream::UppercaseDigits)
- flags |= QLocalePrivate::CapitalEorX;
+ flags |= QLocaleData::CapitalEorX;
// add thousands group separators. For backward compatibility we
// don't add a group separator for C locale.
if (locale != QLocale::c())
- flags |= QLocalePrivate::ThousandsGroup;
+ flags |= QLocaleData::ThousandsGroup;
- const QLocalePrivate *dd = locale.d;
+ const QLocaleData *dd = locale.d->m_data;
int base = params.integerBase ? params.integerBase : 10;
if (negative && base == 10) {
result = dd->longLongToString(-static_cast<qlonglong>(number), -1,
@@ -2388,32 +2388,32 @@ QTextStream &QTextStream::operator<<(double f)
Q_D(QTextStream);
CHECK_VALID_STREAM(*this);
- QLocalePrivate::DoubleForm form = QLocalePrivate::DFDecimal;
+ QLocaleData::DoubleForm form = QLocaleData::DFDecimal;
switch (realNumberNotation()) {
case FixedNotation:
- form = QLocalePrivate::DFDecimal;
+ form = QLocaleData::DFDecimal;
break;
case ScientificNotation:
- form = QLocalePrivate::DFExponent;
+ form = QLocaleData::DFExponent;
break;
case SmartNotation:
- form = QLocalePrivate::DFSignificantDigits;
+ form = QLocaleData::DFSignificantDigits;
break;
}
uint flags = 0;
if (numberFlags() & ShowBase)
- flags |= QLocalePrivate::ShowBase;
+ flags |= QLocaleData::ShowBase;
if (numberFlags() & ForceSign)
- flags |= QLocalePrivate::AlwaysShowSign;
+ flags |= QLocaleData::AlwaysShowSign;
if (numberFlags() & UppercaseBase)
- flags |= QLocalePrivate::UppercaseBase;
+ flags |= QLocaleData::UppercaseBase;
if (numberFlags() & UppercaseDigits)
- flags |= QLocalePrivate::CapitalEorX;
+ flags |= QLocaleData::CapitalEorX;
if (numberFlags() & ForcePoint)
- flags |= QLocalePrivate::Alternate;
+ flags |= QLocaleData::Alternate;
- const QLocalePrivate *dd = d->locale.d;
+ const QLocaleData *dd = d->locale.d->m_data;
QString num = dd->doubleToString(f, d->params.realNumberPrecision, form, -1, flags);
d->putString(num, true);
return *this;
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index ab1167d0f6..0b645d536b 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -3772,22 +3772,22 @@ QByteArray &QByteArray::setNum(qulonglong n, int base)
QByteArray &QByteArray::setNum(double n, char f, int prec)
{
- QLocalePrivate::DoubleForm form = QLocalePrivate::DFDecimal;
+ QLocaleData::DoubleForm form = QLocaleData::DFDecimal;
uint flags = 0;
if (qIsUpper(f))
- flags = QLocalePrivate::CapitalEorX;
+ flags = QLocaleData::CapitalEorX;
f = qToLower(f);
switch (f) {
case 'f':
- form = QLocalePrivate::DFDecimal;
+ form = QLocaleData::DFDecimal;
break;
case 'e':
- form = QLocalePrivate::DFExponent;
+ form = QLocaleData::DFExponent;
break;
case 'g':
- form = QLocalePrivate::DFSignificantDigits;
+ form = QLocaleData::DFSignificantDigits;
break;
default:
#if defined(QT_CHECK_RANGE)
@@ -3796,8 +3796,7 @@ QByteArray &QByteArray::setNum(double n, char f, int prec)
break;
}
- QLocale locale(QLocale::C);
- *this = locale.d->doubleToString(n, prec, form, -1, flags).toLatin1();
+ *this = QLocaleData::c()->doubleToString(n, prec, form, -1, flags).toLatin1();
return *this;
}
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index d2d49637d3..ef69442ca1 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -1551,9 +1551,9 @@ QString QLocale::toString(qlonglong i) const
{
int flags = d->m_numberOptions & OmitGroupSeparator
? 0
- : QLocalePrivate::ThousandsGroup;
+ : QLocaleData::ThousandsGroup;
- return d->longLongToString(i, -1, 10, -1, flags);
+ return d->m_data->longLongToString(i, -1, 10, -1, flags);
}
/*!
@@ -1566,9 +1566,9 @@ QString QLocale::toString(qulonglong i) const
{
int flags = d->m_numberOptions & OmitGroupSeparator
? 0
- : QLocalePrivate::ThousandsGroup;
+ : QLocaleData::ThousandsGroup;
- return d->unsLongLongToString(i, -1, 10, -1, flags);
+ return d->m_data->unsLongLongToString(i, -1, 10, -1, flags);
}
/*!
@@ -2040,30 +2040,30 @@ static char qToLower(char c)
QString QLocale::toString(double i, char f, int prec) const
{
- QLocalePrivate::DoubleForm form = QLocalePrivate::DFDecimal;
+ QLocaleData::DoubleForm form = QLocaleData::DFDecimal;
uint flags = 0;
if (qIsUpper(f))
- flags = QLocalePrivate::CapitalEorX;
+ flags = QLocaleData::CapitalEorX;
f = qToLower(f);
switch (f) {
case 'f':
- form = QLocalePrivate::DFDecimal;
+ form = QLocaleData::DFDecimal;
break;
case 'e':
- form = QLocalePrivate::DFExponent;
+ form = QLocaleData::DFExponent;
break;
case 'g':
- form = QLocalePrivate::DFSignificantDigits;
+ form = QLocaleData::DFSignificantDigits;
break;
default:
break;
}
if (!(d->m_numberOptions & OmitGroupSeparator))
- flags |= QLocalePrivate::ThousandsGroup;
- return d->doubleToString(i, prec, form, -1, flags);
+ flags |= QLocaleData::ThousandsGroup;
+ return d->m_data->doubleToString(i, prec, form, -1, flags);
}
/*!
@@ -2577,12 +2577,12 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
case 4: {
const int yr = date.year();
const int len = (yr < 0) ? 5 : 4;
- result.append(longLongToString(yr, -1, 10, len, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(yr, -1, 10, len, QLocaleData::ZeroPadded));
break;
}
case 2:
- result.append(longLongToString(date.year() % 100, -1, 10, 2,
- QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(date.year() % 100, -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
default:
repeat = 1;
@@ -2596,10 +2596,10 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
repeat = qMin(repeat, 4);
switch (repeat) {
case 1:
- result.append(longLongToString(date.month()));
+ result.append(m_data->longLongToString(date.month()));
break;
case 2:
- result.append(longLongToString(date.month(), -1, 10, 2, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(date.month(), -1, 10, 2, QLocaleData::ZeroPadded));
break;
case 3:
result.append(q->monthName(date.month(), QLocale::ShortFormat));
@@ -2615,10 +2615,10 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
repeat = qMin(repeat, 4);
switch (repeat) {
case 1:
- result.append(longLongToString(date.day()));
+ result.append(m_data->longLongToString(date.day()));
break;
case 2:
- result.append(longLongToString(date.day(), -1, 10, 2, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(date.day(), -1, 10, 2, QLocaleData::ZeroPadded));
break;
case 3:
result.append(q->dayName(date.dayOfWeek(), QLocale::ShortFormat));
@@ -2648,10 +2648,10 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
switch (repeat) {
case 1:
- result.append(longLongToString(hour));
+ result.append(m_data->longLongToString(hour));
break;
case 2:
- result.append(longLongToString(hour, -1, 10, 2, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(hour, -1, 10, 2, QLocaleData::ZeroPadded));
break;
}
break;
@@ -2661,10 +2661,10 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
repeat = qMin(repeat, 2);
switch (repeat) {
case 1:
- result.append(longLongToString(time.hour()));
+ result.append(m_data->longLongToString(time.hour()));
break;
case 2:
- result.append(longLongToString(time.hour(), -1, 10, 2, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(time.hour(), -1, 10, 2, QLocaleData::ZeroPadded));
break;
}
break;
@@ -2674,10 +2674,10 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
repeat = qMin(repeat, 2);
switch (repeat) {
case 1:
- result.append(longLongToString(time.minute()));
+ result.append(m_data->longLongToString(time.minute()));
break;
case 2:
- result.append(longLongToString(time.minute(), -1, 10, 2, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(time.minute(), -1, 10, 2, QLocaleData::ZeroPadded));
break;
}
break;
@@ -2687,10 +2687,10 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
repeat = qMin(repeat, 2);
switch (repeat) {
case 1:
- result.append(longLongToString(time.second()));
+ result.append(m_data->longLongToString(time.second()));
break;
case 2:
- result.append(longLongToString(time.second(), -1, 10, 2, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(time.second(), -1, 10, 2, QLocaleData::ZeroPadded));
break;
}
break;
@@ -2724,10 +2724,10 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
}
switch (repeat) {
case 1:
- result.append(longLongToString(time.msec()));
+ result.append(m_data->longLongToString(time.msec()));
break;
case 3:
- result.append(longLongToString(time.msec(), -1, 10, 3, QLocalePrivate::ZeroPadded));
+ result.append(m_data->longLongToString(time.msec(), -1, 10, 3, QLocaleData::ZeroPadded));
break;
}
break;
@@ -2756,24 +2756,16 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDateTime
return result;
}
-QString QLocalePrivate::doubleToString(double d,
- int precision,
- DoubleForm form,
- int width,
- unsigned flags) const
+QString QLocaleData::doubleToString(double d, int precision, DoubleForm form,
+ int width, unsigned flags) const
{
- return QLocalePrivate::doubleToString(zero(), plus(), minus(), exponential(),
- group(), decimal(),
- d, precision, form, width, flags);
+ return doubleToString(m_zero, m_plus, m_minus, m_exponential, m_group, m_decimal,
+ d, precision, form, width, flags);
}
-QString QLocalePrivate::doubleToString(const QChar _zero, const QChar plus, const QChar minus,
- const QChar exponential, const QChar group, const QChar decimal,
- double d,
- int precision,
- DoubleForm form,
- int width,
- unsigned flags)
+QString QLocaleData::doubleToString(const QChar _zero, const QChar plus, const QChar minus,
+ const QChar exponential, const QChar group, const QChar decimal,
+ double d, int precision, DoubleForm form, int width, unsigned flags)
{
if (precision == -1)
precision = 6;
@@ -2893,14 +2885,14 @@ QString QLocalePrivate::doubleToString(const QChar _zero, const QChar plus, cons
// pad with zeros. LeftAdjusted overrides this flag). Also, we don't
// pad special numbers
- if (flags & QLocalePrivate::ZeroPadded
- && !(flags & QLocalePrivate::LeftAdjusted)
+ if (flags & QLocaleData::ZeroPadded
+ && !(flags & QLocaleData::LeftAdjusted)
&& !special_number) {
int num_pad_chars = width - num_str.length();
// leave space for the sign
if (negative
- || flags & QLocalePrivate::AlwaysShowSign
- || flags & QLocalePrivate::BlankBeforePositive)
+ || flags & QLocaleData::AlwaysShowSign
+ || flags & QLocaleData::BlankBeforePositive)
--num_pad_chars;
for (int i = 0; i < num_pad_chars; ++i)
@@ -2910,26 +2902,26 @@ QString QLocalePrivate::doubleToString(const QChar _zero, const QChar plus, cons
// add sign
if (negative)
num_str.prepend(minus);
- else if (flags & QLocalePrivate::AlwaysShowSign)
+ else if (flags & QLocaleData::AlwaysShowSign)
num_str.prepend(plus);
- else if (flags & QLocalePrivate::BlankBeforePositive)
+ else if (flags & QLocaleData::BlankBeforePositive)
num_str.prepend(QLatin1Char(' '));
- if (flags & QLocalePrivate::CapitalEorX)
+ if (flags & QLocaleData::CapitalEorX)
num_str = num_str.toUpper();
return num_str;
}
-QString QLocalePrivate::longLongToString(qlonglong l, int precision,
+QString QLocaleData::longLongToString(qlonglong l, int precision,
int base, int width,
unsigned flags) const
{
- return QLocalePrivate::longLongToString(zero(), group(), plus(), minus(),
+ return longLongToString(m_zero, m_group, m_plus, m_minus,
l, precision, base, width, flags);
}
-QString QLocalePrivate::longLongToString(const QChar zero, const QChar group,
+QString QLocaleData::longLongToString(const QChar zero, const QChar group,
const QChar plus, const QChar minus,
qlonglong l, int precision,
int base, int width,
@@ -3016,15 +3008,15 @@ QString QLocalePrivate::longLongToString(const QChar zero, const QChar group,
return num_str;
}
-QString QLocalePrivate::unsLongLongToString(qulonglong l, int precision,
+QString QLocaleData::unsLongLongToString(qulonglong l, int precision,
int base, int width,
unsigned flags) const
{
- return QLocalePrivate::unsLongLongToString(zero(), group(), plus(),
+ return unsLongLongToString(m_zero, m_group, m_plus,
l, precision, base, width, flags);
}
-QString QLocalePrivate::unsLongLongToString(const QChar zero, const QChar group,
+QString QLocaleData::unsLongLongToString(const QChar zero, const QChar group,
const QChar plus,
qulonglong l, int precision,
int base, int width,
diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h
index b544a55c31..0063990125 100644
--- a/src/corelib/tools/qlocale_p.h
+++ b/src/corelib/tools/qlocale_p.h
@@ -166,6 +166,58 @@ public:
QLocale::Country country);
static const QLocaleData *c();
+ enum DoubleForm {
+ DFExponent = 0,
+ DFDecimal,
+ DFSignificantDigits,
+ _DFMax = DFSignificantDigits
+ };
+
+ enum Flags {
+ NoFlags = 0,
+ Alternate = 0x01,
+ ZeroPadded = 0x02,
+ LeftAdjusted = 0x04,
+ BlankBeforePositive = 0x08,
+ AlwaysShowSign = 0x10,
+ ThousandsGroup = 0x20,
+ CapitalEorX = 0x40,
+
+ ShowBase = 0x80,
+ UppercaseBase = 0x100,
+ ForcePoint = Alternate
+ };
+
+ static QString doubleToString(const QChar zero, const QChar plus,
+ const QChar minus, const QChar exponent,
+ const QChar group, const QChar decimal,
+ double d, int precision,
+ DoubleForm form,
+ int width, unsigned flags);
+ static QString longLongToString(const QChar zero, const QChar group,
+ const QChar plus, const QChar minus,
+ qint64 l, int precision, int base,
+ int width, unsigned flags);
+ static QString unsLongLongToString(const QChar zero, const QChar group,
+ const QChar plus,
+ quint64 l, int precision,
+ int base, int width,
+ unsigned flags);
+
+ QString doubleToString(double d,
+ int precision = -1,
+ DoubleForm form = DFSignificantDigits,
+ int width = -1,
+ unsigned flags = NoFlags) const;
+ QString longLongToString(qint64 l, int precision = -1,
+ int base = 10,
+ int width = -1,
+ unsigned flags = NoFlags) const;
+ QString unsLongLongToString(quint64 l, int precision = -1,
+ int base = 10,
+ int width = -1,
+ unsigned flags = NoFlags) const;
+
quint16 m_language_id, m_script_id, m_country_id;
quint16 m_decimal, m_group, m_list, m_percent, m_zero, m_minus, m_plus, m_exponential;
@@ -250,62 +302,11 @@ public:
QLocale::MeasurementSystem measurementSystem() const;
- enum DoubleForm {
- DFExponent = 0,
- DFDecimal,
- DFSignificantDigits,
- _DFMax = DFSignificantDigits
- };
-
- enum Flags {
- NoFlags = 0,
- Alternate = 0x01,
- ZeroPadded = 0x02,
- LeftAdjusted = 0x04,
- BlankBeforePositive = 0x08,
- AlwaysShowSign = 0x10,
- ThousandsGroup = 0x20,
- CapitalEorX = 0x40,
-
- ShowBase = 0x80,
- UppercaseBase = 0x100,
- ForcePoint = Alternate
- };
-
enum GroupSeparatorMode {
FailOnGroupSeparators,
ParseGroupSeparators
};
- static QString doubleToString(const QChar zero, const QChar plus,
- const QChar minus, const QChar exponent,
- const QChar group, const QChar decimal,
- double d, int precision,
- DoubleForm form,
- int width, unsigned flags);
- static QString longLongToString(const QChar zero, const QChar group,
- const QChar plus, const QChar minus,
- qint64 l, int precision, int base,
- int width, unsigned flags);
- static QString unsLongLongToString(const QChar zero, const QChar group,
- const QChar plus,
- quint64 l, int precision,
- int base, int width,
- unsigned flags);
-
- QString doubleToString(double d,
- int precision = -1,
- DoubleForm form = DFSignificantDigits,
- int width = -1,
- unsigned flags = NoFlags) const;
- QString longLongToString(qint64 l, int precision = -1,
- int base = 10,
- int width = -1,
- unsigned flags = NoFlags) const;
- QString unsLongLongToString(quint64 l, int precision = -1,
- int base = 10,
- int width = -1,
- unsigned flags = NoFlags) const;
double stringToDouble(const QChar *begin, int len, bool *ok, GroupSeparatorMode group_sep_mode) const;
qint64 stringToLongLong(const QChar *begin, int len, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
quint64 stringToUnsLongLong(const QChar *begin, int len, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
diff --git a/src/corelib/tools/qlocale_tools.cpp b/src/corelib/tools/qlocale_tools.cpp
index 072a35aa4e..81f9d20db7 100644
--- a/src/corelib/tools/qlocale_tools.cpp
+++ b/src/corelib/tools/qlocale_tools.cpp
@@ -178,8 +178,8 @@ QString &exponentForm(QChar zero, QChar decimal, QChar exponential,
digits.insert(1, decimal);
digits.append(exponential);
- digits.append(QLocalePrivate::longLongToString(zero, group, plus, minus,
- exp, 2, 10, -1, QLocalePrivate::AlwaysShowSign));
+ digits.append(QLocaleData::longLongToString(zero, group, plus, minus,
+ exp, 2, 10, -1, QLocaleData::AlwaysShowSign));
return digits;
}
diff --git a/src/corelib/tools/qlocale_win.cpp b/src/corelib/tools/qlocale_win.cpp
index b03866681e..1690dd83ee 100644
--- a/src/corelib/tools/qlocale_win.cpp
+++ b/src/corelib/tools/qlocale_win.cpp
@@ -527,24 +527,24 @@ QVariant QSystemLocalePrivate::toCurrencyString(const QSystemLocale::CurrencyToS
QString value;
switch (arg.value.type()) {
case QVariant::Int:
- value = QLocalePrivate::longLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'), QLatin1Char('-'),
+ value = QLocaleData::longLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'), QLatin1Char('-'),
arg.value.toInt(), -1, 10, -1, QLocale::OmitGroupSeparator);
break;
case QVariant::UInt:
- value = QLocalePrivate::unsLongLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'),
+ value = QLocaleData::unsLongLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'),
arg.value.toUInt(), -1, 10, -1, QLocale::OmitGroupSeparator);
break;
case QVariant::Double:
- value = QLocalePrivate::doubleToString(QLatin1Char('0'), QLatin1Char('+'), QLatin1Char('-'),
+ value = QLocaleData::doubleToString(QLatin1Char('0'), QLatin1Char('+'), QLatin1Char('-'),
QLatin1Char(' '), QLatin1Char(','), QLatin1Char('.'),
- arg.value.toDouble(), -1, QLocalePrivate::DFDecimal, -1, QLocale::OmitGroupSeparator);
+ arg.value.toDouble(), -1, QLocaleData::DFDecimal, -1, QLocale::OmitGroupSeparator);
break;
case QVariant::LongLong:
- value = QLocalePrivate::longLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'), QLatin1Char('-'),
+ value = QLocaleData::longLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'), QLatin1Char('-'),
arg.value.toLongLong(), -1, 10, -1, QLocale::OmitGroupSeparator);
break;
case QVariant::ULongLong:
- value = QLocalePrivate::unsLongLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'),
+ value = QLocaleData::unsLongLongToString(QLatin1Char('0'), QLatin1Char(','), QLatin1Char('+'),
arg.value.toULongLong(), -1, 10, -1, QLocale::OmitGroupSeparator);
break;
default:
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 909e50e86e..f02b09b836 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -5720,8 +5720,6 @@ QString &QString::sprintf(const char *cformat, ...)
QString &QString::vsprintf(const char* cformat, va_list ap)
{
- const QLocale locale(QLocale::C);
-
if (!cformat || !*cformat) {
// Qt 1.x compat
*this = fromLatin1("");
@@ -5761,12 +5759,12 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
bool no_more_flags = false;
do {
switch (*c) {
- case '#': flags |= QLocalePrivate::Alternate; break;
- case '0': flags |= QLocalePrivate::ZeroPadded; break;
- case '-': flags |= QLocalePrivate::LeftAdjusted; break;
- case ' ': flags |= QLocalePrivate::BlankBeforePositive; break;
- case '+': flags |= QLocalePrivate::AlwaysShowSign; break;
- case '\'': flags |= QLocalePrivate::ThousandsGroup; break;
+ case '#': flags |= QLocaleData::Alternate; break;
+ case '0': flags |= QLocaleData::ZeroPadded; break;
+ case '-': flags |= QLocaleData::LeftAdjusted; break;
+ case ' ': flags |= QLocaleData::BlankBeforePositive; break;
+ case '+': flags |= QLocaleData::AlwaysShowSign; break;
+ case '\'': flags |= QLocaleData::ThousandsGroup; break;
default: no_more_flags = true; break;
}
@@ -5898,7 +5896,7 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
case lm_t: i = va_arg(ap, int); break;
default: i = 0; break;
}
- subst = locale.d->longLongToString(i, precision, 10, width, flags);
+ subst = QLocaleData::c()->longLongToString(i, precision, 10, width, flags);
++c;
break;
}
@@ -5918,7 +5916,7 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
}
if (qIsUpper(*c))
- flags |= QLocalePrivate::CapitalEorX;
+ flags |= QLocaleData::CapitalEorX;
int base = 10;
switch (qToLower(*c)) {
@@ -5930,7 +5928,7 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
base = 16; break;
default: break;
}
- subst = locale.d->unsLongLongToString(u, precision, base, width, flags);
+ subst = QLocaleData::c()->unsLongLongToString(u, precision, base, width, flags);
++c;
break;
}
@@ -5949,17 +5947,17 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
d = va_arg(ap, double);
if (qIsUpper(*c))
- flags |= QLocalePrivate::CapitalEorX;
+ flags |= QLocaleData::CapitalEorX;
- QLocalePrivate::DoubleForm form = QLocalePrivate::DFDecimal;
+ QLocaleData::DoubleForm form = QLocaleData::DFDecimal;
switch (qToLower(*c)) {
- case 'e': form = QLocalePrivate::DFExponent; break;
+ case 'e': form = QLocaleData::DFExponent; break;
case 'a': // not supported - decimal form used instead
- case 'f': form = QLocalePrivate::DFDecimal; break;
- case 'g': form = QLocalePrivate::DFSignificantDigits; break;
+ case 'f': form = QLocaleData::DFDecimal; break;
+ case 'g': form = QLocaleData::DFSignificantDigits; break;
default: break;
}
- subst = locale.d->doubleToString(d, precision, form, width, flags);
+ subst = QLocaleData::c()->doubleToString(d, precision, form, width, flags);
++c;
break;
}
@@ -5992,8 +5990,8 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
#else
quint64 i = reinterpret_cast<unsigned long>(arg);
#endif
- flags |= QLocalePrivate::Alternate;
- subst = locale.d->unsLongLongToString(i, precision, 16, width, flags);
+ flags |= QLocaleData::Alternate;
+ subst = QLocaleData::c()->unsLongLongToString(i, precision, 16, width, flags);
++c;
break;
}
@@ -6035,7 +6033,7 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
continue;
}
- if (flags & QLocalePrivate::LeftAdjusted)
+ if (flags & QLocaleData::LeftAdjusted)
result.append(subst.leftJustified(width));
else
result.append(subst.rightJustified(width));
@@ -6435,8 +6433,7 @@ QString &QString::setNum(qlonglong n, int base)
base = 10;
}
#endif
- QLocale locale(QLocale::C);
- *this = locale.d->longLongToString(n, -1, base);
+ *this = QLocaleData::c()->longLongToString(n, -1, base);
return *this;
}
@@ -6451,8 +6448,7 @@ QString &QString::setNum(qulonglong n, int base)
base = 10;
}
#endif
- QLocale locale(QLocale::C);
- *this = locale.d->unsLongLongToString(n, -1, base);
+ *this = QLocaleData::c()->unsLongLongToString(n, -1, base);
return *this;
}
@@ -6484,22 +6480,22 @@ QString &QString::setNum(qulonglong n, int base)
QString &QString::setNum(double n, char f, int prec)
{
- QLocalePrivate::DoubleForm form = QLocalePrivate::DFDecimal;
+ QLocaleData::DoubleForm form = QLocaleData::DFDecimal;
uint flags = 0;
if (qIsUpper(f))
- flags = QLocalePrivate::CapitalEorX;
+ flags = QLocaleData::CapitalEorX;
f = qToLower(f);
switch (f) {
case 'f':
- form = QLocalePrivate::DFDecimal;
+ form = QLocaleData::DFDecimal;
break;
case 'e':
- form = QLocalePrivate::DFExponent;
+ form = QLocaleData::DFExponent;
break;
case 'g':
- form = QLocalePrivate::DFSignificantDigits;
+ form = QLocaleData::DFSignificantDigits;
break;
default:
#if defined(QT_CHECK_RANGE)
@@ -6508,8 +6504,7 @@ QString &QString::setNum(double n, char f, int prec)
break;
}
- QLocale locale(QLocale::C);
- *this = locale.d->doubleToString(n, prec, form, -1, flags);
+ *this = QLocaleData::c()->doubleToString(n, prec, form, -1, flags);
return *this;
}
@@ -7307,20 +7302,20 @@ QString QString::arg(qlonglong a, int fieldWidth, int base, QChar fillChar) cons
return *this;
}
- unsigned flags = QLocalePrivate::NoFlags;
+ unsigned flags = QLocaleData::NoFlags;
if (fillChar == QLatin1Char('0'))
- flags = QLocalePrivate::ZeroPadded;
+ flags = QLocaleData::ZeroPadded;
QString arg;
if (d.occurrences > d.locale_occurrences)
- arg = QLocale::c().d->longLongToString(a, -1, base, fieldWidth, flags);
+ arg = QLocaleData::c()->longLongToString(a, -1, base, fieldWidth, flags);
QString locale_arg;
if (d.locale_occurrences > 0) {
QLocale locale;
if (!(locale.numberOptions() & QLocale::OmitGroupSeparator))
- flags |= QLocalePrivate::ThousandsGroup;
- locale_arg = locale.d->longLongToString(a, -1, base, fieldWidth, flags);
+ flags |= QLocaleData::ThousandsGroup;
+ locale_arg = locale.d->m_data->longLongToString(a, -1, base, fieldWidth, flags);
}
return replaceArgEscapes(*this, d, fieldWidth, arg, locale_arg, fillChar);
@@ -7351,20 +7346,20 @@ QString QString::arg(qulonglong a, int fieldWidth, int base, QChar fillChar) con
return *this;
}
- unsigned flags = QLocalePrivate::NoFlags;
+ unsigned flags = QLocaleData::NoFlags;
if (fillChar == QLatin1Char('0'))
- flags = QLocalePrivate::ZeroPadded;
+ flags = QLocaleData::ZeroPadded;
QString arg;
if (d.occurrences > d.locale_occurrences)
- arg = QLocale::c().d->unsLongLongToString(a, -1, base, fieldWidth, flags);
+ arg = QLocaleData::c()->unsLongLongToString(a, -1, base, fieldWidth, flags);
QString locale_arg;
if (d.locale_occurrences > 0) {
QLocale locale;
if (!(locale.numberOptions() & QLocale::OmitGroupSeparator))
- flags |= QLocalePrivate::ThousandsGroup;
- locale_arg = locale.d->unsLongLongToString(a, -1, base, fieldWidth, flags);
+ flags |= QLocaleData::ThousandsGroup;
+ locale_arg = locale.d->m_data->unsLongLongToString(a, -1, base, fieldWidth, flags);
}
return replaceArgEscapes(*this, d, fieldWidth, arg, locale_arg, fillChar);
@@ -7463,24 +7458,24 @@ QString QString::arg(double a, int fieldWidth, char fmt, int prec, QChar fillCha
return *this;
}
- unsigned flags = QLocalePrivate::NoFlags;
+ unsigned flags = QLocaleData::NoFlags;
if (fillChar == QLatin1Char('0'))
- flags = QLocalePrivate::ZeroPadded;
+ flags = QLocaleData::ZeroPadded;
if (qIsUpper(fmt))
- flags |= QLocalePrivate::CapitalEorX;
+ flags |= QLocaleData::CapitalEorX;
fmt = qToLower(fmt);
- QLocalePrivate::DoubleForm form = QLocalePrivate::DFDecimal;
+ QLocaleData::DoubleForm form = QLocaleData::DFDecimal;
switch (fmt) {
case 'f':
- form = QLocalePrivate::DFDecimal;
+ form = QLocaleData::DFDecimal;
break;
case 'e':
- form = QLocalePrivate::DFExponent;
+ form = QLocaleData::DFExponent;
break;
case 'g':
- form = QLocalePrivate::DFSignificantDigits;
+ form = QLocaleData::DFSignificantDigits;
break;
default:
#if defined(QT_CHECK_RANGE)
@@ -7491,15 +7486,15 @@ QString QString::arg(double a, int fieldWidth, char fmt, int prec, QChar fillCha
QString arg;
if (d.occurrences > d.locale_occurrences)
- arg = QLocale::c().d->doubleToString(a, prec, form, fieldWidth, flags);
+ arg = QLocaleData::c()->doubleToString(a, prec, form, fieldWidth, flags);
QString locale_arg;
if (d.locale_occurrences > 0) {
QLocale locale;
if (!(locale.numberOptions() & QLocale::OmitGroupSeparator))
- flags |= QLocalePrivate::ThousandsGroup;
- locale_arg = locale.d->doubleToString(a, prec, form, fieldWidth, flags);
+ flags |= QLocaleData::ThousandsGroup;
+ locale_arg = locale.d->m_data->doubleToString(a, prec, form, fieldWidth, flags);
}
return replaceArgEscapes(*this, d, fieldWidth, arg, locale_arg, fillChar);