mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-09-29 02:27:53 +00:00
inspector: Add a way to disable the warning dialog
This commit is contained in:
parent
4e974edde8
commit
42280f6c4e
@ -11667,10 +11667,18 @@ _gtk_window_get_popover_position (GtkWindow *window,
|
||||
|
||||
static GtkWidget *inspector_window = NULL;
|
||||
|
||||
static void set_warn_again (gboolean warn);
|
||||
|
||||
static void
|
||||
warn_response (GtkDialog *dialog,
|
||||
gint response)
|
||||
{
|
||||
GtkWidget *check;
|
||||
gboolean remember;
|
||||
|
||||
check = g_object_get_data (G_OBJECT (dialog), "check");
|
||||
remember = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check));
|
||||
|
||||
gtk_widget_destroy (GTK_WIDGET (dialog));
|
||||
g_object_set_data (G_OBJECT (inspector_window), "warning_dialog", NULL);
|
||||
if (response == GTK_RESPONSE_NO)
|
||||
@ -11678,6 +11686,10 @@ warn_response (GtkDialog *dialog,
|
||||
gtk_widget_destroy (inspector_window);
|
||||
inspector_window = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
set_warn_again (!remember);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@ -11686,6 +11698,8 @@ gtk_window_set_debugging (gboolean enable,
|
||||
gboolean warn)
|
||||
{
|
||||
GtkWidget *dialog = NULL;
|
||||
GtkWidget *area;
|
||||
GtkWidget *check;
|
||||
|
||||
if (inspector_window == NULL)
|
||||
{
|
||||
@ -11705,6 +11719,13 @@ gtk_window_set_debugging (gboolean enable,
|
||||
_("GTK+ Inspector is an interactive debugger that lets you explore and "
|
||||
"modify the internals of any GTK+ application. Using it may cause the "
|
||||
"application to break or crash."));
|
||||
|
||||
area = gtk_message_dialog_get_message_area (GTK_MESSAGE_DIALOG (dialog));
|
||||
check = gtk_check_button_new_with_label (_("Don't show this message again"));
|
||||
gtk_widget_set_margin_start (check, 10);
|
||||
gtk_widget_show (check);
|
||||
gtk_container_add (GTK_CONTAINER (area), check);
|
||||
g_object_set_data (G_OBJECT (dialog), "check", check);
|
||||
gtk_dialog_add_button (GTK_DIALOG (dialog), _("_Cancel"), GTK_RESPONSE_NO);
|
||||
gtk_dialog_add_button (GTK_DIALOG (dialog), _("_OK"), GTK_RESPONSE_YES);
|
||||
g_signal_connect (dialog, "response", G_CALLBACK (warn_response), NULL);
|
||||
@ -11773,6 +11794,25 @@ inspector_keybinding_enabled (gboolean *warn)
|
||||
return enabled;
|
||||
}
|
||||
|
||||
static void
|
||||
set_warn_again (gboolean warn)
|
||||
{
|
||||
GSettingsSchema *schema;
|
||||
GSettings *settings;
|
||||
|
||||
schema = g_settings_schema_source_lookup (g_settings_schema_source_get_default (),
|
||||
"org.gtk.Settings.Debug",
|
||||
TRUE);
|
||||
|
||||
if (schema)
|
||||
{
|
||||
settings = g_settings_new_full (schema, NULL, NULL);
|
||||
g_settings_set_boolean (settings, "inspector-warning", warn);
|
||||
g_object_unref (settings);
|
||||
g_settings_schema_unref (schema);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_window_enable_debugging (GtkWindow *window,
|
||||
gboolean toggle)
|
||||
|
Loading…
Reference in New Issue
Block a user