summaryrefslogtreecommitdiffstats
path: root/src/command_line_options.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/command_line_options.cpp')
-rw-r--r--src/command_line_options.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/command_line_options.cpp b/src/command_line_options.cpp
index 1bc6c4a..712f8a5 100644
--- a/src/command_line_options.cpp
+++ b/src/command_line_options.cpp
@@ -1,33 +1,37 @@
#include "command_line_options.h"
#include <getopt.h>
+#include <QDebug>
CommandLineOptions::CommandLineOptions(int argc, char * const argv[]) {
// parse command line arguments
- for (;;) {
- static const struct option longOptions[] = {
- {"config", required_argument, NULL, 'c'},
- {"default", required_argument, NULL, 'd'},
- {"pool", required_argument, NULL, 'P'},
- {"path", required_argument, NULL, 'p'},
- {"xpath", required_argument, NULL, 'x'},
- {"size", required_argument, NULL, 's'},
- {"pvs", no_argument, NULL, 'b'},
- {"debug", no_argument, NULL, 'D'},
- {"version", no_argument, NULL, 'v'},
- {"help", no_argument, NULL, 'h'},
- {0, 0, 0, 0}
- };
+ static const struct option longOptions[] = {
+ {"config", required_argument, NULL, 'c'},
+ {"default", required_argument, NULL, 'd'},
+ {"pool", required_argument, NULL, 'P'},
+ {"path", required_argument, NULL, 'p'},
+ {"xpath", required_argument, NULL, 'x'},
+ {"size", required_argument, NULL, 's'},
+ {"theme", required_argument, NULL, 't'},
+ {"pvs", no_argument, NULL, 'b'},
+ {"debug", no_argument, NULL, 'D'},
+ {"version", no_argument, NULL, 'v'},
+ {"help", no_argument, NULL, 'h'},
+ {0, 0, 0, 0}
+ };
- int opt = getopt_long(argc, argv, "c:d:P:p:x:s:w:vhbD", longOptions, NULL);
- if (opt == -1) break;
+ int c;
- switch (opt) {
+ while ((c = getopt_long(argc, argv, "c:d:f:P:p:x:s:t:w:vhbD", longOptions, NULL)) != -1) {
+ switch (c) {
case 'c':
options.insert("config", optarg);
break;
case 'd':
options.insert("default", optarg);
break;
+ case 'f':
+ options.insert("file", optarg);
+ break;
case 'D':
options.insert("debugMode", "debugMode");
break;
@@ -43,6 +47,9 @@ CommandLineOptions::CommandLineOptions(int argc, char * const argv[]) {
case 's':
options.insert("size", optarg);
break;
+ case 't':
+ options.insert("theme", optarg);
+ break;
case 'b':
options.insert("pvs", "pvs");
break;
@@ -56,12 +63,5 @@ CommandLineOptions::CommandLineOptions(int argc, char * const argv[]) {
default:
options.insert("error", "error");
}
-
- if (optind == argc - 1) {
- options.insert("file", argv[optind]);
- } else if (optind < argc - 1) {
- options.insert("error", "error");
- }
}
}
-