From 8bd535d092430b6df721a91404849755dff042ba Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 14 Jun 2014 14:45:42 -0700 Subject: User survey: force running the survey from command line This way people can test the dialog much easier. Signed-off-by: Dirk Hohndel --- dive.h | 2 +- qt-ui/mainwindow.cpp | 19 +++++++++---------- subsurfacestartup.c | 7 +++++++ 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 */ -- cgit v1.2.3-70-g09d2