diff options
author | Kevin Funk <kfunk@kde.org> | 2015-08-22 17:05:43 +0200 |
---|---|---|
committer | Kevin Funk <kfunk@kde.org> | 2015-08-22 19:11:45 +0200 |
commit | a21e85d97f809870de94c84d2ca767260477f988 (patch) | |
tree | 1ad7872455fd95ec3a999db3329f1c019a88d0a8 /src | |
parent | bf0d42abd7fd9151b45aa0186888e3e85175f848 (diff) | |
download | kconfig-a21e85d97f809870de94c84d2ca767260477f988.tar.gz kconfig-a21e85d97f809870de94c84d2ca767260477f988.tar.bz2 |
Optimize readEntryGui
Don't build error string every time
REVIEW: 124879
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kconfiggroupgui.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/gui/kconfiggroupgui.cpp b/src/gui/kconfiggroupgui.cpp index e2eb950f..b8d30895 100644 --- a/src/gui/kconfiggroupgui.cpp +++ b/src/gui/kconfiggroupgui.cpp @@ -38,11 +38,12 @@ static bool readEntryGui(const QByteArray &data, const char *key, const QVariant &input, QVariant &output) { - const QString errString = QStringLiteral("\"%1\" - conversion from \"%3\" to %2 failed") + const auto errString = [&]() { + return QStringLiteral("\"%1\" - conversion from \"%3\" to %2 failed") .arg(QLatin1String(key)) .arg(QLatin1String(QVariant::typeToName(input.type()))) .arg(QLatin1String(data.constData())); - const QString formatError = QStringLiteral(" (wrong format: expected '%1' items, read '%2')"); + }; // set in case of failure output = input; @@ -61,7 +62,7 @@ static bool readEntryGui(const QByteArray &data, const char *key, const QVariant QColor col; col.setNamedColor(QString::fromUtf8(data.constData(), data.length())); if (!col.isValid()) { - qCritical() << qPrintable(errString); + qCritical() << qPrintable(errString()); } output = col; return true; @@ -70,7 +71,8 @@ static bool readEntryGui(const QByteArray &data, const char *key, const QVariant const int count = list.count(); if (count != 3 && count != 4) { - qCritical() << qPrintable(errString) << qPrintable(formatError.arg(QStringLiteral("3' or '4")).arg(count)); + const QString formatError = QStringLiteral(" (wrong format: expected '%1' items, read '%2')"); + qCritical() << qPrintable(errString()) << qPrintable(formatError.arg(QStringLiteral("3' or '4")).arg(count)); return true; // return default } @@ -80,7 +82,7 @@ static bool readEntryGui(const QByteArray &data, const char *key, const QVariant bool ok; const int j = temp[i] = list.at(i).toInt(&ok); if (!ok) { // failed to convert to int - qCritical() << qPrintable(errString) << " (integer conversion failed)"; + qCritical() << qPrintable(errString()) << " (integer conversion failed)"; return true; // return default } if (j < 0 || j > 255) { @@ -88,7 +90,7 @@ static bool readEntryGui(const QByteArray &data, const char *key, const QVariant "red", "green", "blue", "alpha" }; const QString boundsError = QStringLiteral(" (bounds error: %1 component %2)"); - qCritical() << qPrintable(errString) + qCritical() << qPrintable(errString()) << qPrintable(boundsError.arg(QLatin1String(components[i])).arg(j < 0 ? QStringLiteral("< 0") : QStringLiteral("> 255"))); return true; // return default } @@ -101,7 +103,7 @@ static bool readEntryGui(const QByteArray &data, const char *key, const QVariant if (aColor.isValid()) { output = aColor; } else { - qCritical() << qPrintable(errString); + qCritical() << qPrintable(errString()); } return true; } @@ -112,7 +114,7 @@ static bool readEntryGui(const QByteArray &data, const char *key, const QVariant if (tmp.convert(QMetaType::QFont)) { output = tmp; } else { - qCritical() << qPrintable(errString); + qCritical() << qPrintable(errString()); } return true; } |