From 3bb5f859cf406cec4e562c17afe276db2ef92b4b Mon Sep 17 00:00:00 2001 From: Xan Lopez Date: Thu, 14 Feb 2008 20:14:02 +0000 Subject: GConf option to disable messagebox about unsubmitted form data. (#516170) Left undocumented on schema because we are in string freeze, will document for 2.24. Patch by Jake Nelson svn path=/trunk/; revision=7944 --- data/epiphany.schemas.in | 11 +++++++++++ lib/ephy-prefs.h | 1 + src/ephy-window.c | 17 +++++++++++------ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/data/epiphany.schemas.in b/data/epiphany.schemas.in index 9f2211b52..4d3331e8d 100644 --- a/data/epiphany.schemas.in +++ b/data/epiphany.schemas.in @@ -508,6 +508,17 @@ Hide or show the downloads window. When hidden, a notification will be shown when new downloads are started. + + /schemas/apps/epiphany/dialogs/warn_on_close_unsubmitted_data + /apps/epiphany/dialogs/warn_on_close_unsubmitted_data + epiphany + bool + true + + + + + diff --git a/lib/ephy-prefs.h b/lib/ephy-prefs.h index 6331757dd..f75336d9f 100644 --- a/lib/ephy-prefs.h +++ b/lib/ephy-prefs.h @@ -38,6 +38,7 @@ G_BEGIN_DECLS #define CONF_DESKTOP_IS_HOME_DIR "/apps/nautilus/preferences/desktop_is_home_dir" #define CONF_NETWORK_MANAGED "/apps/epiphany/general/managed_network" #define CONF_DOWNLOADS_HIDDEN "/apps/epiphany/dialogs/downloads_hidden" +#define CONF_WARN_ON_CLOSE_UNSUBMITTED_DATA "/apps/epiphany/dialogs/warn_on_close_unsubmitted_data" /* i18n pref */ #define CONF_GECKO_ENABLE_PANGO "/apps/epiphany/web/enable_pango" diff --git a/src/ephy-window.c b/src/ephy-window.c index a8c696dd9..93f9f16f7 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -547,15 +547,20 @@ construct_confirm_close_dialog (EphyWindow *window) static gboolean confirm_close_with_modified_forms (EphyWindow *window) { - GtkWidget *dialog; - int response; + if (eel_gconf_get_boolean (CONF_WARN_ON_CLOSE_UNSUBMITTED_DATA)) + { + GtkWidget *dialog; + int response; - dialog = construct_confirm_close_dialog (window); - response = gtk_dialog_run (GTK_DIALOG (dialog)); + dialog = construct_confirm_close_dialog (window); + response = gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); + gtk_widget_destroy (dialog); - return response == GTK_RESPONSE_ACCEPT; + return response == GTK_RESPONSE_ACCEPT; + } + + return TRUE; } static void -- cgit v1.2.3