aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dive.h2
-rw-r--r--qt-ui/mainwindow.cpp19
-rw-r--r--subsurfacestartup.c7
3 files changed, 17 insertions, 11 deletions
diff --git a/dive.h b/dive.h
index 8e4d910d6..c53b0dfd4 100644
--- a/dive.h
+++ b/dive.h
@@ -404,7 +404,7 @@ extern const struct units SI_units, IMPERIAL_units;
extern struct units xml_parsing_units;
extern struct units *get_units(void);
-extern int verbose, quit;
+extern int run_survey, verbose, quit;
struct dive_table {
int nr, allocated, preexisting;
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index da1a1cd54..488b5f69f 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -827,16 +827,15 @@ void MainWindow::checkSurvey(QSettings *s)
if (!s->contains("FirstUse42")) {
QVariant value = QDate().currentDate();
s->setValue("FirstUse42", value);
- } else {
- // wait a week for production versions, but not at all for non-tagged builds
- QString ver(VERSION_STRING);
- int waitTime = ver.contains('-') ? -1 : 7;
- QDate firstUse42 = s->value("FirstUse42").toDate();
- if (firstUse42.daysTo(QDate().currentDate()) > waitTime && !s->contains("SurveyDone")) {
- if (!survey)
- survey = new UserSurvey(this);
- survey->show();
- }
+ }
+ // wait a week for production versions, but not at all for non-tagged builds
+ QString ver(VERSION_STRING);
+ int waitTime = ver.contains('-') ? -1 : 7;
+ QDate firstUse42 = s->value("FirstUse42").toDate();
+ if (run_survey || (firstUse42.daysTo(QDate().currentDate()) > waitTime && !s->contains("SurveyDone"))) {
+ if (!survey)
+ survey = new UserSurvey(this);
+ survey->show();
}
s->endGroup();
}
diff --git a/subsurfacestartup.c b/subsurfacestartup.c
index 4ae426d1c..8566d194c 100644
--- a/subsurfacestartup.c
+++ b/subsurfacestartup.c
@@ -35,6 +35,8 @@ struct preferences default_prefs = {
.show_average_depth = true
};
+int run_survey;
+
struct units *get_units()
{
return &prefs.units;
@@ -97,6 +99,7 @@ static void print_help()
printf("\n --import logfile ... Logs before this option is treated as base, everything after is imported");
printf("\n --verbose|-v Verbose debug (repeat to increase verbosity)");
printf("\n --version Prints current version");
+ printf("\n --survey Offer to submit a user survey");
printf("\n --win32console Create a dedicated console if needed (Windows only). Add option before everything else\n\n");
}
@@ -133,6 +136,10 @@ void parse_argument(const char *arg)
print_version();
exit(0);
}
+ if (strcmp(arg, "--survey") == 0) {
+ run_survey = true;
+ return;
+ }
if (strcmp(arg, "--win32console") == 0)
return;
/* fallthrough */