diff --git a/gtk/dialogs.c b/gtk/dialogs.c index 91c8983c9..65cb038fe 100644 --- a/gtk/dialogs.c +++ b/gtk/dialogs.c @@ -560,6 +560,12 @@ askquit( GtkWindow * parent, callbackfunc_t func, void * cbdata ) struct quitdata * stuff; GtkWidget * wind; + if( !tr_prefs_get_bool_with_default( PREF_ID_ASKQUIT ) ) + { + func( cbdata ); + return; + } + stuff = g_new( struct quitdata, 1 ); stuff->func = func; stuff->cbdata = cbdata; diff --git a/gtk/tr_prefs.c b/gtk/tr_prefs.c index fec1805b7..1ac5f9af6 100644 --- a/gtk/tr_prefs.c +++ b/gtk/tr_prefs.c @@ -129,6 +129,11 @@ defs[] = N_("Display an _icon in the system tray"), N_("Use a system tray / dock / notification area icon") }, + /* PREF_ID_ASKQUIT */ + { "ask-quit", G_TYPE_BOOLEAN, PR_ENABLED, NULL, + N_("Confirm _quit"), + N_("Prompt for confirmation when quitting") }, + /* PREF_ID_ADDSTD */ { "add-behavior-standard", G_TYPE_NONE, PR_ENABLED, gtk_combo_box_get_type, @@ -187,6 +192,8 @@ defs_bool[] = { TRUE, -1, FALSE }, /* PREF_ID_ICON */ { TRUE, -1, FALSE }, + /* PREF_ID_ASKQUIT */ + { TRUE, -1, FALSE }, }; static struct diff --git a/gtk/tr_prefs.h b/gtk/tr_prefs.h index eff275854..6c88cf4bc 100644 --- a/gtk/tr_prefs.h +++ b/gtk/tr_prefs.h @@ -85,6 +85,7 @@ enum PREF_ID_NAT, PREF_ID_PEX, PREF_ID_ICON, + PREF_ID_ASKQUIT, PREF_ID_ADDSTD, PREF_ID_ADDIPC, PREF_ID_MSGLEVEL,