diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-08-18 11:57:26 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-09-15 15:55:57 +0000 |
commit | 6aa935cd92deb035739e8fea329ca2c4a435de54 (patch) | |
tree | a9a3ea43af619a7a89ce39f15ea603747767a9f2 /src/gui | |
parent | 251d6094abf423f96aa0f10921defb4c6a805d14 (diff) |
Use QString::fromLatin1() less to avoid string allocations
QString::fromLatin1 always allocates memory, but there are
cases where we can avoid/reduce allocations or/and reduce
text size, e.g.:
QStringBuilder expressions
Fix: replace QString::fromLatin1 with QL1S
QString::fromLatin1().arg(String) pattern
Fix: replace with QStringBuilder
Overloaded functions with QL1S arg
Fix: replace QString::fromLatin1 with QL1S
In rare cases if there is no overloaded function
with QL1S and we have deal with string literal,
replace QString::fromLatin1 with QStringLiteral.
Change-Id: Iabe1a3cc0830f40ef78a0548afa4368583c31def
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/image/qimagereader.cpp | 2 | ||||
-rw-r--r-- | src/gui/kernel/qkeysequence.cpp | 10 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase.cpp | 2 | ||||
-rw-r--r-- | src/gui/text/qtextodfwriter.cpp | 2 |
4 files changed, 10 insertions, 6 deletions
diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp index 0320d032b0..4390e46fde 100644 --- a/src/gui/image/qimagereader.cpp +++ b/src/gui/image/qimagereader.cpp @@ -569,7 +569,7 @@ bool QImageReaderPrivate::initHandler() do { file->setFileName(fileName + QLatin1Char('.') - + QString::fromLatin1(extensions.at(currentExtension++).constData())); + + QLatin1String(extensions.at(currentExtension++).constData())); file->open(QIODevice::ReadOnly); } while (!file->isOpen() && currentExtension < extensions.size()); diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 9a75f4bc83..d59bd63caf 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -1211,9 +1211,13 @@ QString QKeySequence::encodeString(int key) static inline void addKey(QString &str, const QString &theKey, QKeySequence::SequenceFormat format) { - if (!str.isEmpty()) - str += (format == QKeySequence::NativeText) ? QCoreApplication::translate("QShortcut", "+") - : QString::fromLatin1("+"); + if (!str.isEmpty()) { + if (format == QKeySequence::NativeText) + str += QCoreApplication::translate("QShortcut", "+"); + else + str += QLatin1Char('+'); + } + str += theKey; } diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index a3a3f20b18..7fcac9b9f2 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -2439,7 +2439,7 @@ int QFontDatabasePrivate::addAppFont(const QByteArray &fontData, const QString & } if (font.fileName.isEmpty() && !fontData.isEmpty()) - font.fileName = QString::fromLatin1(":qmemoryfonts/") + QString::number(i); + font.fileName = QLatin1String(":qmemoryfonts/") + QString::number(i); registerFont(&font); if (font.families.isEmpty()) diff --git a/src/gui/text/qtextodfwriter.cpp b/src/gui/text/qtextodfwriter.cpp index 73d2e545ba..e228b3c840 100644 --- a/src/gui/text/qtextodfwriter.cpp +++ b/src/gui/text/qtextodfwriter.cpp @@ -63,7 +63,7 @@ QT_BEGIN_NAMESPACE static QString pixelToPoint(qreal pixels) { // we hardcode 96 DPI, we do the same in the ODF importer to have a perfect roundtrip. - return QString::number(pixels * 72 / 96) + QString::fromLatin1("pt"); + return QString::number(pixels * 72 / 96) + QLatin1String("pt"); } // strategies |