55#if !defined(HAVE_SENTRY) && !defined(HAVE_TELEMETRY)
65 GtkWidget *dialog = gtk_dialog_new_with_buttons(
66 _(
"Help us improve Ansel"), GTK_WINDOW(parent),
67 GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
68 _(
"Confirm choices"), GTK_RESPONSE_ACCEPT, NULL);
69 gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
71 GtkWidget *content = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
76 _(
"Ansel can share anonymous data with its developers to help fix bugs and "
77 "decide what to work on. This is entirely optional, separate for each purpose, "
78 "and can be changed any time in Preferences ▸ Storage ▸ Privacy.\n\n"
79 "We never send your images, file names or any personal data."));
80 gtk_label_set_line_wrap(GTK_LABEL(intro),
TRUE);
81 gtk_label_set_xalign(GTK_LABEL(intro), 0.0);
82 gtk_label_set_max_width_chars(GTK_LABEL(intro), 64);
83 gtk_box_pack_start(GTK_BOX(content), intro,
FALSE,
FALSE, 0);
86 GtkWidget *crash_check = gtk_check_button_new_with_label(
87 _(
"Send crash reports (backtrace, OS and hardware specs, app version)"));
88 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(crash_check),
TRUE);
89 gtk_box_pack_start(GTK_BOX(content), crash_check,
FALSE,
FALSE, 0);
93 GtkWidget *usage_check = gtk_check_button_new_with_label(
94 _(
"Share anonymous usage statistics (features used, file types, OS and hardware)"));
95 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(usage_check),
TRUE);
96 gtk_box_pack_start(GTK_BOX(content), usage_check,
FALSE,
FALSE, 0);
104 updates_check = gtk_check_button_new_with_label(
105 _(
"Check for newer nightly builds at startup (one small download from ansel.photos, once a day)"));
106 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(updates_check),
dt_conf_get_bool(
"updates/enabled"));
107 gtk_box_pack_start(GTK_BOX(content), updates_check,
FALSE,
FALSE, 0);
110 GtkWidget *link = gtk_link_button_new_with_label(
112 gtk_widget_set_halign(link, GTK_ALIGN_START);
113 gtk_box_pack_start(GTK_BOX(content), link,
FALSE,
FALSE, 0);
115 gtk_widget_show_all(dialog);
116 gtk_dialog_run(GTK_DIALOG(dialog));
121 dt_conf_set_bool(
"sentry/enabled", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(crash_check)));
124 dt_conf_set_bool(
"telemetry/enabled", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(usage_check)));
127 dt_conf_set_bool(
"updates/enabled", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(updates_check)));
129 gtk_widget_destroy(dialog);