diff options
-rw-r--r-- | dive.h | 2 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 19 | ||||
-rw-r--r-- | subsurfacestartup.c | 7 |
3 files changed, 17 insertions, 11 deletions
@@ -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 */ |