summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOlivier Goffart <olivier.goffart@nokia.com>2010-08-09 14:11:46 +0200
committerSamuli Piippo <samuli.piippo@digia.com>2011-06-09 13:06:38 +0300
commit52fe778df2310660c84db581c53e2c3fae2cc42a (patch)
treea89ff8af40f026b67257d440191164354ac140ce /src
parent7da79f8d44ba06872e5bf298fde7a3fc45df7046 (diff)
downloadqt4-tools-52fe778df2310660c84db581c53e2c3fae2cc42a.tar.gz
Fix QString::arg: When specifying %L1, the group separator would be added even if the local specify QLocale::OmitGroupSeparator
Task-number: QTBUG-9281 Reviewed-by: Denis (cherry picked from commit 720f4ca0ec3b42a101ac24b2cf74cdc87d29eac9)
Diffstat (limited to 'src')
-rw-r--r--src/corelib/tools/qstring.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 3f472d33b6..807fdd343f 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -6510,8 +6510,9 @@ QString QString::arg(qlonglong a, int fieldWidth, int base, const QChar &fillCha
QString locale_arg;
if (d.locale_occurrences > 0) {
QLocale locale;
- locale_arg = locale.d()->longLongToString(a, -1, base, fieldWidth,
- flags | QLocalePrivate::ThousandsGroup);
+ if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+ flags |= QLocalePrivate::ThousandsGroup;
+ locale_arg = locale.d()->longLongToString(a, -1, base, fieldWidth, flags);
}
return replaceArgEscapes(*this, d, fieldWidth, arg, locale_arg, fillChar);
@@ -6553,8 +6554,9 @@ QString QString::arg(qulonglong a, int fieldWidth, int base, const QChar &fillCh
QString locale_arg;
if (d.locale_occurrences > 0) {
QLocale locale;
- locale_arg = locale.d()->unsLongLongToString(a, -1, base, fieldWidth,
- flags | QLocalePrivate::ThousandsGroup);
+ if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+ flags |= QLocalePrivate::ThousandsGroup;
+ locale_arg = locale.d()->unsLongLongToString(a, -1, base, fieldWidth, flags);
}
return replaceArgEscapes(*this, d, fieldWidth, arg, locale_arg, fillChar);
@@ -6687,7 +6689,8 @@ QString QString::arg(double a, int fieldWidth, char fmt, int prec, const QChar &
if (d.locale_occurrences > 0) {
QLocale locale;
- flags |= QLocalePrivate::ThousandsGroup;
+ if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+ flags |= QLocalePrivate::ThousandsGroup;
locale_arg = locale.d()->doubleToString(a, prec, form, fieldWidth, flags);
}