summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qcommandlineparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qcommandlineparser.cpp')
-rw-r--r--src/corelib/tools/qcommandlineparser.cpp58
1 files changed, 29 insertions, 29 deletions
diff --git a/src/corelib/tools/qcommandlineparser.cpp b/src/corelib/tools/qcommandlineparser.cpp
index 2bc60c5b9e..1b260dd122 100644
--- a/src/corelib/tools/qcommandlineparser.cpp
+++ b/src/corelib/tools/qcommandlineparser.cpp
@@ -348,10 +348,10 @@ void QCommandLineParser::setOptionsAfterPositionalArgumentsMode(QCommandLinePars
*/
bool QCommandLineParser::addOption(const QCommandLineOption &option)
{
- QStringList optionNames = option.names();
+ const QStringList optionNames = option.names();
if (!optionNames.isEmpty()) {
- foreach (const QString &name, optionNames) {
+ for (const QString &name : optionNames) {
if (d->nameHash.contains(name))
return false;
}
@@ -359,7 +359,7 @@ bool QCommandLineParser::addOption(const QCommandLineOption &option)
d->commandLineOptionList.append(option);
const int offset = d->commandLineOptionList.size() - 1;
- foreach (const QString &name, optionNames)
+ for (const QString &name : optionNames)
d->nameHash.insert(name, offset);
return true;
@@ -797,7 +797,7 @@ bool QCommandLineParser::isSet(const QString &name) const
if (d->optionNames.contains(name))
return true;
const QStringList aliases = d->aliases(name);
- foreach (const QString &optionName, d->optionNames) {
+ for (const QString &optionName : qAsConst(d->optionNames)) {
if (aliases.contains(optionName))
return true;
}
@@ -1075,16 +1075,12 @@ QString QCommandLineParserPrivate::helpText() const
{
const QLatin1Char nl('\n');
QString text;
- const QString exeName = QCoreApplication::instance()->arguments().first();
- QString usage = exeName;
- if (!commandLineOptionList.isEmpty()) {
- usage += QLatin1Char(' ');
- usage += QCommandLineParser::tr("[options]");
- }
- foreach (const PositionalArgumentDefinition &arg, positionalArgumentDefinitions) {
- usage += QLatin1Char(' ');
- usage += arg.syntax;
- }
+ QString usage;
+ usage += QCoreApplication::instance()->arguments().constFirst(); // executable name
+ if (!commandLineOptionList.isEmpty())
+ usage += QLatin1Char(' ') + QCommandLineParser::tr("[options]");
+ for (const PositionalArgumentDefinition &arg : positionalArgumentDefinitions)
+ usage += QLatin1Char(' ') + arg.syntax;
text += QCommandLineParser::tr("Usage: %1").arg(usage) + nl;
if (!description.isEmpty())
text += description + nl;
@@ -1092,35 +1088,39 @@ QString QCommandLineParserPrivate::helpText() const
if (!commandLineOptionList.isEmpty())
text += QCommandLineParser::tr("Options:") + nl;
QStringList optionNameList;
+ optionNameList.reserve(commandLineOptionList.size());
int longestOptionNameString = 0;
- foreach (const QCommandLineOption &option, commandLineOptionList) {
- QStringList optionNames;
- foreach (const QString &optionName, option.names()) {
- if (optionName.length() == 1)
- optionNames.append(QLatin1Char('-') + optionName);
- else
- optionNames.append(QStringLiteral("--") + optionName);
+ for (const QCommandLineOption &option : commandLineOptionList) {
+ if (option.isHidden())
+ continue;
+ const QStringList optionNames = option.names();
+ QString optionNamesString;
+ for (const QString &optionName : optionNames) {
+ const int numDashes = optionName.length() == 1 ? 1 : 2;
+ optionNamesString += QLatin1String("--", numDashes) + optionName + QLatin1String(", ");
}
- QString optionNamesString = optionNames.join(QStringLiteral(", "));
- if (!option.valueName().isEmpty())
- optionNamesString += QStringLiteral(" <") + option.valueName() + QLatin1Char('>');
+ if (!optionNames.isEmpty())
+ optionNamesString.chop(2); // remove trailing ", "
+ const auto valueName = option.valueName();
+ if (!valueName.isEmpty())
+ optionNamesString += QLatin1String(" <") + valueName + QLatin1Char('>');
optionNameList.append(optionNamesString);
longestOptionNameString = qMax(longestOptionNameString, optionNamesString.length());
}
++longestOptionNameString;
- for (int i = 0; i < commandLineOptionList.count(); ++i) {
- const QCommandLineOption &option = commandLineOptionList.at(i);
+ auto optionNameIterator = optionNameList.cbegin();
+ for (const QCommandLineOption &option : commandLineOptionList) {
if (option.isHidden())
continue;
- text += wrapText(optionNameList.at(i), longestOptionNameString, option.description());
+ text += wrapText(*optionNameIterator, longestOptionNameString, option.description());
+ ++optionNameIterator;
}
if (!positionalArgumentDefinitions.isEmpty()) {
if (!commandLineOptionList.isEmpty())
text += nl;
text += QCommandLineParser::tr("Arguments:") + nl;
- foreach (const PositionalArgumentDefinition &arg, positionalArgumentDefinitions) {
+ for (const PositionalArgumentDefinition &arg : positionalArgumentDefinitions)
text += wrapText(arg.name, longestOptionNameString, arg.description);
- }
}
return text;
}