diff --git a/src/setup/ibus-setup-chewing-window.c b/src/setup/ibus-setup-chewing-window.c index 42c15d4..e1cda11 100644 --- a/src/setup/ibus-setup-chewing-window.c +++ b/src/setup/ibus-setup-chewing-window.c @@ -20,9 +20,10 @@ #include "ibus-setup-chewing-window.h" #include "ibus-setup-chewing-about.h" +#include struct _IbusSetupChewingWindow { - AdwPreferencesWindow parent_instance; + AdwApplicationWindow parent_instance; /* Template widgets */ AdwComboRow *kb_type; @@ -45,7 +46,7 @@ struct _IbusSetupChewingWindow { }; G_DEFINE_FINAL_TYPE(IbusSetupChewingWindow, ibus_setup_chewing_window, - ADW_TYPE_PREFERENCES_WINDOW) + ADW_TYPE_APPLICATION_WINDOW) #define bind_child(child_id) \ gtk_widget_class_bind_template_child(widget_class, IbusSetupChewingWindow, \ @@ -85,6 +86,8 @@ ibus_setup_chewing_window_class_init(IbusSetupChewingWindowClass *klass) { gtk_widget_class_install_action(widget_class, "about", NULL, action_adaptor_show_about); + gtk_widget_class_add_binding_action(widget_class, GDK_KEY_Escape, 0, + "window.close", NULL); } const gchar *kb_type_ids[] = { diff --git a/src/setup/ibus-setup-chewing-window.h b/src/setup/ibus-setup-chewing-window.h index 067e74f..f83255f 100644 --- a/src/setup/ibus-setup-chewing-window.h +++ b/src/setup/ibus-setup-chewing-window.h @@ -25,5 +25,5 @@ G_BEGIN_DECLS #define IBUS_SETUP_CHEWING_TYPE_WINDOW (ibus_setup_chewing_window_get_type()) G_DECLARE_FINAL_TYPE(IbusSetupChewingWindow, ibus_setup_chewing_window, - IBUS_SETUP_CHEWING, WINDOW, AdwPreferencesWindow) + IBUS_SETUP_CHEWING, WINDOW, AdwApplicationWindow) G_END_DECLS diff --git a/src/setup/ibus-setup-chewing-window.ui b/src/setup/ibus-setup-chewing-window.ui index 5e37fdf..3a842ce 100644 --- a/src/setup/ibus-setup-chewing-window.ui +++ b/src/setup/ibus-setup-chewing-window.ui @@ -4,237 +4,245 @@ -