diff options
-rw-r--r-- | core/checkcloudconnection.cpp | 6 | ||||
-rw-r--r-- | core/pref.h | 1 | ||||
-rw-r--r-- | core/subsurfacestartup.c | 10 |
3 files changed, 13 insertions, 4 deletions
diff --git a/core/checkcloudconnection.cpp b/core/checkcloudconnection.cpp index b0addc0ac..a0117d4f6 100644 --- a/core/checkcloudconnection.cpp +++ b/core/checkcloudconnection.cpp @@ -39,8 +39,8 @@ bool CheckCloudConnection::checkServer() connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit); connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit); connect(reply, &QNetworkReply::sslErrors, this, &CheckCloudConnection::sslErrors); - for (int seconds = 1; seconds <= 5; seconds++) { - timer.start(1000); // wait five seconds + for (int seconds = 1; seconds <= prefs.cloud_timeout; seconds++) { + timer.start(1000); // wait the given number of seconds (default 5) loop.exec(); if (timer.isActive()) { // didn't time out, did we get the right response? @@ -54,7 +54,7 @@ bool CheckCloudConnection::checkServer() git_storage_update_progress(false, "successfully checked cloud connection"); return true; } - } else if (seconds < 5) { + } else if (seconds < prefs.cloud_timeout) { QString text = QString("waited %1 sec for cloud connetion").arg(seconds); git_storage_update_progress(false, qPrintable(text)); } else { diff --git a/core/pref.h b/core/pref.h index a30417923..617e349c1 100644 --- a/core/pref.h +++ b/core/pref.h @@ -132,6 +132,7 @@ struct preferences { int time_threshold; int distance_threshold; bool git_local_only; + short cloud_timeout; locale_prefs_t locale; //: TODO: move the rest of locale based info here. }; enum unit_system_values { diff --git a/core/subsurfacestartup.c b/core/subsurfacestartup.c index 126cc5ee1..1041e7d10 100644 --- a/core/subsurfacestartup.c +++ b/core/subsurfacestartup.c @@ -86,7 +86,8 @@ struct preferences default_prefs = { .deco_mode = BUEHLMANN, .conservatism_level = 3, .distance_threshold = 1000, - .time_threshold = 600 + .time_threshold = 600, + .cloud_timeout = 5 }; int run_survey; @@ -206,6 +207,13 @@ void parse_argument(const char *arg) settings_suffix = strdup(arg + sizeof("--user=") - 1); return; } + if (strncmp(arg, "--cloud-timeout=", sizeof("--cloud-timeout=") - 1) == 0) { + const char *timeout = arg + sizeof("--cloud-timeout=") - 1; + int to = strtol(timeout, NULL, 10); + if (0 < to && to < 60) + default_prefs.cloud_timeout = to; + return; + } if (strcmp(arg, "--help") == 0) { print_help(); exit(0); |