summaryrefslogtreecommitdiffstats
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp19
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();