Make dialogs close when pressing the Escape key

Fixes #2503
This commit is contained in:
Felipe Borges 2023-05-24 14:44:57 +02:00 committed by Robert Ancell
parent 4ed1af010a
commit e97429f0f6
9 changed files with 18 additions and 0 deletions

View file

@ -224,6 +224,8 @@ cc_tz_dialog_class_init (CcTzDialogClass *klass)
0, NULL, NULL, NULL, 0, NULL, NULL, NULL,
G_TYPE_NONE, 0); G_TYPE_NONE, 0);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/control-center/" "/org/gnome/control-center/"
"datetime/cc-tz-dialog.ui"); "datetime/cc-tz-dialog.ui");

View file

@ -42,6 +42,8 @@ cc_firmware_security_boot_dialog_class_init (CcFirmwareSecurityBootDialogClass *
{ {
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/firmware-security/cc-firmware-security-boot-dialog.ui"); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/firmware-security/cc-firmware-security-boot-dialog.ui");
gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityBootDialog, secure_boot_title); gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityBootDialog, secure_boot_title);
gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityBootDialog, secure_boot_icon); gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityBootDialog, secure_boot_icon);

View file

@ -400,6 +400,8 @@ cc_firmware_security_dialog_class_init (CcFirmwareSecurityDialogClass *klass)
{ {
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/firmware-security/cc-firmware-security-dialog.ui"); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/firmware-security/cc-firmware-security-dialog.ui");
gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, firmware_security_dialog_icon); gtk_widget_class_bind_template_child (widget_class, CcFirmwareSecurityDialog, firmware_security_dialog_icon);

View file

@ -39,6 +39,8 @@ cc_firmware_security_help_dialog_class_init (CcFirmwareSecurityHelpDialogClass *
{ {
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/firmware-security/cc-firmware-security-help-dialog.ui"); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/firmware-security/cc-firmware-security-help-dialog.ui");
} }

View file

@ -518,6 +518,8 @@ cc_keyboard_shortcut_dialog_class_init (CcKeyboardShortcutDialogClass *klass)
object_class->constructed = cc_keyboard_shortcut_dialog_constructed; object_class->constructed = cc_keyboard_shortcut_dialog_constructed;
object_class->finalize = cc_keyboard_shortcut_dialog_finalize; object_class->finalize = cc_keyboard_shortcut_dialog_finalize;
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/control-center/" "/org/gnome/control-center/"
"keyboard/cc-keyboard-shortcut-dialog.ui"); "keyboard/cc-keyboard-shortcut-dialog.ui");

View file

@ -142,6 +142,8 @@ cc_mouse_test_class_init (CcMouseTestClass *klass)
object_class->finalize = cc_mouse_test_finalize; object_class->finalize = cc_mouse_test_finalize;
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/mouse/cc-mouse-test.ui"); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/mouse/cc-mouse-test.ui");
gtk_widget_class_bind_template_child (widget_class, CcMouseTest, arrow_down); gtk_widget_class_bind_template_child (widget_class, CcMouseTest, arrow_down);

View file

@ -463,6 +463,8 @@ cc_format_chooser_class_init (CcFormatChooserClass *klass)
g_type_ensure (CC_TYPE_FORMAT_PREVIEW); g_type_ensure (CC_TYPE_FORMAT_PREVIEW);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/region/cc-format-chooser.ui"); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/region/cc-format-chooser.ui");
gtk_widget_class_bind_template_child (widget_class, CcFormatChooser, title_bar); gtk_widget_class_bind_template_child (widget_class, CcFormatChooser, title_bar);

View file

@ -267,6 +267,8 @@ cc_alert_chooser_window_class_init (CcAlertChooserWindowClass *klass)
object_class->dispose = cc_alert_chooser_window_dispose; object_class->dispose = cc_alert_chooser_window_dispose;
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/sound/cc-alert-chooser-window.ui"); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/sound/cc-alert-chooser-window.ui");
gtk_widget_class_bind_template_child (widget_class, CcAlertChooserWindow, none_button); gtk_widget_class_bind_template_child (widget_class, CcAlertChooserWindow, none_button);

View file

@ -1468,6 +1468,8 @@ cc_fingerprint_dialog_class_init (CcFingerprintDialogClass *klass)
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GtkWindowClass *window_class = GTK_WINDOW_CLASS (klass); GtkWindowClass *window_class = GTK_WINDOW_CLASS (klass);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
gtk_widget_class_set_template_from_resource (widget_class, gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/control-center/user-accounts/cc-fingerprint-dialog.ui"); "/org/gnome/control-center/user-accounts/cc-fingerprint-dialog.ui");