[gnome-notes/jonathankang/gnome-notes-fixes: 1/3] window-base: Add "<Primary>w" shortcut to close window.



commit 06bf263ba1783f0585e9ff1592ba4f453cccdc9c
Author: Jonathan Kang <jonathankang gnome org>
Date:   Fri Feb 21 15:25:10 2020 +0800

    window-base: Add "<Primary>w" shortcut to close window.
    
    Add this convenient accelerator to close windows.
    
    https://gitlab.gnome.org/GNOME/gnome-notes/issues/145

 src/bjb-application.c |  4 +++-
 src/bjb-window-base.c | 13 +++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)
---
diff --git a/src/bjb-application.c b/src/bjb-application.c
index 2f6ef60..b01409b 100644
--- a/src/bjb-application.c
+++ b/src/bjb-application.c
@@ -390,6 +390,7 @@ bijiben_startup (GApplication *application)
   g_autoptr(GError) error = NULL;
   GdkRGBA         color = {0,0,0,0};
 
+  const gchar *vaccels_close[] = {"<Primary>w", NULL};
   const gchar *vaccels_detach[] = {"<Primary>d", NULL};
   const gchar *vaccels_redo[] = {"<Primary><Shift>z", NULL};
   const gchar *vaccels_undo[] = {"<Primary>z", NULL};
@@ -400,7 +401,8 @@ bijiben_startup (GApplication *application)
 
   bjb_apply_style ();
 
-  gtk_application_set_accels_for_action (GTK_APPLICATION (application), "win.detach-window", 
vaccels_detach);  
+  gtk_application_set_accels_for_action (GTK_APPLICATION (application), "win.close", vaccels_close);
+  gtk_application_set_accels_for_action (GTK_APPLICATION (application), "win.detach-window", vaccels_detach);
   gtk_application_set_accels_for_action (GTK_APPLICATION (application), "win.redo", vaccels_redo);
   gtk_application_set_accels_for_action (GTK_APPLICATION (application), "win.undo", vaccels_undo);
   gtk_application_set_accels_for_action (GTK_APPLICATION (application), "win.trash", vaccels_trash);
diff --git a/src/bjb-window-base.c b/src/bjb-window-base.c
index e333a82..9dbb288 100644
--- a/src/bjb-window-base.c
+++ b/src/bjb-window-base.c
@@ -279,6 +279,18 @@ on_trash_cb (GSimpleAction *action,
   biji_item_trash (BIJI_ITEM (note));
 }
 
+static void
+on_close (GSimpleAction *action,
+          GVariant      *parameter,
+          gpointer       user_data)
+{
+  GtkApplicationWindow *window;
+
+  window = GTK_APPLICATION_WINDOW (user_data);
+
+  gtk_window_close (GTK_WINDOW (window));
+}
+
 static void
 bjb_window_base_save_geometry (BjbWindowBase *self)
 {
@@ -335,6 +347,7 @@ static GActionEntry win_entries[] = {
   { "view-notebooks", on_view_notebooks_cb, NULL, NULL, NULL },
   { "email", on_email_cb, NULL, NULL, NULL },
   { "trash", on_trash_cb, NULL, NULL, NULL },
+  { "close", on_close },
 };
 
 /* Gobj */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]