summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/checkcloudconnection.cpp6
-rw-r--r--core/pref.h1
-rw-r--r--core/subsurfacestartup.c10
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);