diff options
Diffstat (limited to 'src/command_line.cpp')
-rw-r--r-- | src/command_line.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/command_line.cpp b/src/command_line.cpp new file mode 100644 index 0000000..d16742a --- /dev/null +++ b/src/command_line.cpp @@ -0,0 +1,28 @@ +#include "src/command_line.h" + +#include <QDebug> +#include <QApplication> + +CommandLineParsedOptions parse_command_line(QCommandLineParser &parser, QApplication &app) { + QCommandLineOption fileOption({"f", "file"}, + QCoreApplication::translate("cmdline", "Data export to open."), + "file"); + parser.addOption(fileOption); + + const QCommandLineOption help_option = parser.addHelpOption(); + const QCommandLineOption version_option = parser.addVersionOption(); + + QString outbox_filename; + + if (!parser.parse(app.arguments())) + return {CommandLineError, parser.errorText(), outbox_filename}; + + if (parser.isSet(help_option) or parser.isSet("help-all")) + return {CommandLineHelpRequested, nullptr, outbox_filename}; + if (parser.isSet(version_option)) + return {CommandLineVersionRequested, nullptr, outbox_filename}; + + outbox_filename = parser.value(fileOption); + + return {CommandLineOk, nullptr, outbox_filename}; +} |