aboutsummaryrefslogtreecommitdiffstats
path: root/src/command_line.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/command_line.cpp')
-rw-r--r--src/command_line.cpp28
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};
+}