This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository e16-keyedit.

View the commit online.

commit 57b877a82772393146619e67d837d4f7142d9672
Author: Kim Woelders <k...@woelders.dk>
AuthorDate: Fri Dec 8 09:30:37 2023 +0100

    Make accelerators work (Ctrl-Q/S/X)
---
 e16keyedit.h |  4 ++--
 menus.c      |  7 ++++---
 viewer.c     | 15 ++++++++-------
 3 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/e16keyedit.h b/e16keyedit.h
index b916d8e..b3402d1 100644
--- a/e16keyedit.h
+++ b/e16keyedit.h
@@ -30,12 +30,12 @@ extern void     CommsSend(const char *s);
 extern GtkWidget *CreateBarSubMenu(GtkWidget * menu, const char *szName);
 extern GtkWidget *CreateRightAlignBarSubMenu(GtkWidget * menu,
                                              const char *szName);
-extern GtkWidget *CreateMenuItem(GtkWidget * menu, const char *szName,
+extern GtkWidget *CreateMenuItem(GtkWidget * menu, GtkAccelGroup * agrp,
+                                 const char *szName,
                                  const char *szAccel, const char *szTip,
                                  GCallback func, const void *data);
 
 /* viewer.c */
-extern GtkAccelGroup *accel_group;
 void            on_exit_application(void);
 
 #endif                          /* E16KEYEDIT_H */
diff --git a/menus.c b/menus.c
index 1253823..65d98ab 100644
--- a/menus.c
+++ b/menus.c
@@ -41,8 +41,9 @@ CreateRightAlignBarSubMenu(GtkWidget *menu, const char *szName)
 }
 
 GtkWidget      *
-CreateMenuItem(GtkWidget *menu, const char *szName, const char *szAccel,
-               const char *szTip, GCallback func, const void *data)
+CreateMenuItem(GtkWidget *menu, GtkAccelGroup *agrp,
+               const char *szName, const char *szAccel, const char *szTip,
+               GCallback func, const void *data)
 {
     GtkWidget      *menuitem;
 
@@ -63,7 +64,7 @@ CreateMenuItem(GtkWidget *menu, const char *szName, const char *szAccel,
 
     if (szAccel && szAccel[0] == '^')
     {
-        gtk_widget_add_accelerator(menuitem, "activate", accel_group,
+        gtk_widget_add_accelerator(menuitem, "activate", agrp,
                                    szAccel[1], GDK_CONTROL_MASK,
                                    GTK_ACCEL_VISIBLE);
     }
diff --git a/viewer.c b/viewer.c
index 05b343a..b68fe90 100644
--- a/viewer.c
+++ b/viewer.c
@@ -21,8 +21,6 @@
 
 #define VER(maj, min, mic) (10000 * (maj) + 100 * (min) + (mic))
 
-GtkAccelGroup  *accel_group;
-
 static GtkWidget *clist;
 static GtkWidget *act_key;
 static GtkWidget *act_params;
@@ -703,6 +701,7 @@ create_list_window(void)
     GtkWidget      *hbox;
     GtkWidget      *om;
     GtkWidget      *menu;
+    GtkAccelGroup  *agrp;
 
 #if USE_GTK_TREEVIEW
     GtkCellRenderer *renderer;
@@ -720,6 +719,9 @@ create_list_window(void)
     gtk_widget_set_can_default(list_window, TRUE);
     gtk_window_set_title(GTK_WINDOW(list_window), "E Keys Editor");
 
+    agrp = gtk_accel_group_new();
+    gtk_window_add_accel_group(GTK_WINDOW(list_window), agrp);
+
     bigvbox = gtk_vbox_new(FALSE, 0);
     gtk_container_add(GTK_CONTAINER(list_window), bigvbox);
 
@@ -727,11 +729,12 @@ create_list_window(void)
     gtk_box_pack_start(GTK_BOX(bigvbox), menubar, FALSE, FALSE, 0);
 
     menu = CreateBarSubMenu(menubar, "File");
-    CreateMenuItem(menu, "Save", "", "Save Current Data", on_save_data, NULL);
-    CreateMenuItem(menu, "Save & Quit", "",
+    CreateMenuItem(menu, agrp, "Save", "^s", "Save Current Data",
+                   on_save_data, NULL);
+    CreateMenuItem(menu, agrp, "Save & Quit", "^x",
                    "Save Current Data & Quit Application",
                    on_save_and_exit_application, NULL);
-    CreateMenuItem(menu, "Quit", "", "Quit Without Saving",
+    CreateMenuItem(menu, agrp, "Quit", "^q", "Quit Without Saving",
                    on_exit_application, NULL);
 
 #if 0                           /* Not implemented */
@@ -1183,8 +1186,6 @@ main(int argc, char *argv[])
 
     gtk_init(&argc, &argv);
 
-    accel_group = gtk_accel_group_new();
-
     if (CommsInit(receive_ipc_msg))
     {
         GtkWidget      *win, *frame, *vbox, *label, *button;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to