diff options
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/main.cpp b/src/main.cpp index 891f497..cc2729c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,6 +7,7 @@ #include "fbgui.h" extern bool debug; +extern QDir downloadDirectory; extern QUrl baseURL; void printHelp() @@ -36,11 +37,12 @@ int main(int argc, char *argv[]) /* Parse cmdline argus. */ QMap<QString, QString> clo; int longIndex = 0; - static const char *optString = "u:hd"; + static const char *optString = "u:hDd"; static const struct option longOpts[] = { {"url", required_argument, NULL, 'u'}, - {"debug", no_argument, NULL, 'd'}, + {"downloadtodir", required_argument, NULL, 'd'}, + {"debug", no_argument, NULL, 'D'}, {"help", no_argument, NULL, 'h'} }; int opt = getopt_long(argc, argv, optString, longOpts, &longIndex); @@ -52,6 +54,9 @@ int main(int argc, char *argv[]) clo.insert("url", optarg); break; case 'd': + clo.insert("downloadDir", optarg); + break; + case 'D': clo.insert("debug", "debug"); break; case 'h': @@ -77,12 +82,18 @@ int main(int argc, char *argv[]) confFileSettings.setIniCodec("UTF-8"); if (clo.contains("url")) - baseURL = clo.value("url"); + baseURL = clo.value("url").toUrl(); else if (confFileSettings.contains("default/url")) baseURL = confFileSettings.value("default/url").toUrl(); else baseURL = DEFAULT_URL; - + + if (clo.contains("downloadDir")) + downloadDirectory = QDir(clo.value("downloadDir")); + else if (confFileSettings.contains("default/downloadDirectory")) + downloadDirectory = QDir(confFileSettings.value("default/downloadDirectory").toString()); + else + downloadDirectory = QDir("."); // Start fbgui. fbgui gui(&app); gui.show(); |
