summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qlocale.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-11-01 10:27:41 +0100
committerLiang Qi <liang.qi@qt.io>2016-11-02 09:24:11 +0100
commitd7e4980132057aa10e54137114bf65e06c455030 (patch)
tree9d6ae36efa0cf84a612bfec6cf3dd2ea7f7e3446 /src/corelib/tools/qlocale.cpp
parent44c402b4bfba44480382244b8409fb3cf34d7ac1 (diff)
parenta732576a66ff2bbd9c0b41cd5f3505a4d2fbf043 (diff)
Merge remote-tracking branch 'origin/5.8' into dev
Blacklist tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() on macOS. Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/sdk.prf src/angle/src/libEGL/libEGL.pro src/platformsupport/fontdatabases/fontdatabases.pro src/platformsupport/platformsupport.pro src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/direct2d/qwindowsdirect2dintegration.cpp src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro tests/auto/widgets/widgets/qmenubar/BLACKLIST tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Task-number: QTBUG-56853 Change-Id: If58785210feee3550892fc7768cce90e75a2416c
Diffstat (limited to 'src/corelib/tools/qlocale.cpp')
-rw-r--r--src/corelib/tools/qlocale.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index c25ee5ffbe..ca04c2bd44 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -1072,20 +1072,14 @@ QLocale::Country QLocale::country() const
QString QLocale::name() const
{
Language l = language();
-
- QString result = d->languageCode();
-
if (l == C)
- return result;
+ return d->languageCode();
Country c = country();
if (c == AnyCountry)
- return result;
-
- result.append(QLatin1Char('_'));
- result.append(d->countryCode());
+ return d->languageCode();
- return result;
+ return d->languageCode() + QLatin1Char('_') + d->countryCode();
}
static qlonglong toIntegral_helper(const QLocaleData *d, const QChar *data, int len, bool *ok,
@@ -2987,12 +2981,14 @@ QString QLocaleData::unsLongLongToString(const QChar zero, const QChar group,
}
}
- for (int i = num_str.length()/* - cnt_thousand_sep*/; i < precision; ++i)
- num_str.prepend(base == 10 ? zero : QChar::fromLatin1('0'));
+ const QChar resultZero = base == 10 ? zero : QChar(QLatin1Char('0'));
+ const int zeroPadding = precision - num_str.length()/* + cnt_thousand_sep*/;
+ if (zeroPadding > 0)
+ num_str.prepend(QString(zeroPadding, resultZero));
if ((flags & ShowBase)
&& base == 8
- && (num_str.isEmpty() || num_str[0].unicode() != QLatin1Char('0')))
+ && (num_str.isEmpty() || num_str.at(0).unicode() != QLatin1Char('0')))
num_str.prepend(QLatin1Char('0'));
// LeftAdjusted overrides this flag ZeroPadded. sprintf only padds
@@ -3011,8 +3007,8 @@ QString QLocaleData::unsLongLongToString(const QChar zero, const QChar group,
else if (base == 2 && flags & ShowBase)
num_pad_chars -= 2;
- for (int i = 0; i < num_pad_chars; ++i)
- num_str.prepend(base == 10 ? zero : QChar::fromLatin1('0'));
+ if (num_pad_chars > 0)
+ num_str.prepend(QString(num_pad_chars, resultZero));
}
if (flags & CapitalEorX)