From ab0d7f5619bffa87d4ea07f83a144841d49c9e9f Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 13 Mar 2014 21:34:00 +0100 Subject: [PATCH] Add QCommandLineParser::showVersion(), similar to showHelp(). Change-Id: I1782c226ee8c457a68eb9ae9948a2a6a700d7a52 Reviewed-by: Oswald Buddenhagen Reviewed-by: Friedemann Kleint --- src/corelib/tools/qcommandlineparser.cpp | 22 ++++++++++++++++++---- src/corelib/tools/qcommandlineparser.h | 1 + 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/corelib/tools/qcommandlineparser.cpp b/src/corelib/tools/qcommandlineparser.cpp index c860b4d155..0f5d9a6827 100644 --- a/src/corelib/tools/qcommandlineparser.cpp +++ b/src/corelib/tools/qcommandlineparser.cpp @@ -423,10 +423,8 @@ void QCommandLineParser::process(const QStringList &arguments) ::exit(EXIT_FAILURE); } - if (d->builtinVersionOption && isSet(QStringLiteral("version"))) { - printf("%s %s\n", qPrintable(QCoreApplication::applicationName()), qPrintable(QCoreApplication::applicationVersion())); - ::exit(EXIT_SUCCESS); - } + if (d->builtinVersionOption && isSet(QStringLiteral("version"))) + showVersion(); if (d->builtinHelpOption && isSet(QStringLiteral("help"))) showHelp(EXIT_SUCCESS); @@ -815,6 +813,22 @@ QStringList QCommandLineParser::unknownOptionNames() const return d->unknownOptionNames; } +/*! + Displays the version information from QCoreApplication::applicationVersion(), + and exits the application. + This is automatically triggered by the --version option, but can also + be used to display the version when not using process(). + The exit code is set to EXIT_SUCCESS (0). + + \sa addVersionOption() + \since 5.4 +*/ +Q_NORETURN void QCommandLineParser::showVersion() +{ + fprintf(stdout, "%s %s\n", qPrintable(QCoreApplication::applicationName()), qPrintable(QCoreApplication::applicationVersion())); + ::exit(EXIT_SUCCESS); +} + /*! Displays the help information, and exits the application. This is automatically triggered by the --help option, but can also diff --git a/src/corelib/tools/qcommandlineparser.h b/src/corelib/tools/qcommandlineparser.h index 5a7061f031..946d4dd238 100644 --- a/src/corelib/tools/qcommandlineparser.h +++ b/src/corelib/tools/qcommandlineparser.h @@ -92,6 +92,7 @@ public: QStringList optionNames() const; QStringList unknownOptionNames() const; + Q_NORETURN void showVersion(); Q_NORETURN void showHelp(int exitCode = 0); QString helpText() const;