]> Pileus Git - ~andy/gtk/commitdiff
don't install/change accelerators from locked accel groups.
authorTim Janik <timj@gtk.org>
Tue, 16 Apr 2002 05:57:45 +0000 (05:57 +0000)
committerTim Janik <timj@src.gnome.org>
Tue, 16 Apr 2002 05:57:45 +0000 (05:57 +0000)
Tue Apr 16 07:53:49 2002  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
        from locked accel groups.

        * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the
        accel path is from a locked accel group.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmenu.c
gtk/gtkmenuitem.c
gtk/gtkwidget.c
gtk/gtkwidget.h

index f9bac8ce9207314a7ecdbc4d6f432a44d780cf64..6ff8656d5e3177116959c74557abddbefc50e1bf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Apr 16 07:53:49 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
+       from locked accel groups.
+
+       * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the
+       accel path is from a locked accel group.
+
 Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkcontainer.c (gtk_container_focus): include internal
index f9bac8ce9207314a7ecdbc4d6f432a44d780cf64..6ff8656d5e3177116959c74557abddbefc50e1bf 100644 (file)
@@ -1,3 +1,11 @@
+Tue Apr 16 07:53:49 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
+       from locked accel groups.
+
+       * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the
+       accel path is from a locked accel group.
+
 Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkcontainer.c (gtk_container_focus): include internal
index f9bac8ce9207314a7ecdbc4d6f432a44d780cf64..6ff8656d5e3177116959c74557abddbefc50e1bf 100644 (file)
@@ -1,3 +1,11 @@
+Tue Apr 16 07:53:49 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
+       from locked accel groups.
+
+       * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the
+       accel path is from a locked accel group.
+
 Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkcontainer.c (gtk_container_focus): include internal
index f9bac8ce9207314a7ecdbc4d6f432a44d780cf64..6ff8656d5e3177116959c74557abddbefc50e1bf 100644 (file)
@@ -1,3 +1,11 @@
+Tue Apr 16 07:53:49 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
+       from locked accel groups.
+
+       * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the
+       accel path is from a locked accel group.
+
 Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkcontainer.c (gtk_container_focus): include internal
index f9bac8ce9207314a7ecdbc4d6f432a44d780cf64..6ff8656d5e3177116959c74557abddbefc50e1bf 100644 (file)
@@ -1,3 +1,11 @@
+Tue Apr 16 07:53:49 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
+       from locked accel groups.
+
+       * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the
+       accel path is from a locked accel group.
+
 Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkcontainer.c (gtk_container_focus): include internal
index f9bac8ce9207314a7ecdbc4d6f432a44d780cf64..6ff8656d5e3177116959c74557abddbefc50e1bf 100644 (file)
@@ -1,3 +1,11 @@
+Tue Apr 16 07:53:49 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
+       from locked accel groups.
+
+       * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the
+       accel path is from a locked accel group.
+
 Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkcontainer.c (gtk_container_focus): include internal
index fd9caca9b21434989227fb1901930ce9178d4f14..493381c7bee12a0d116bf52269e798d72a15f116 100644 (file)
@@ -1817,16 +1817,16 @@ gtk_menu_key_press (GtkWidget   *widget,
       (delete || gtk_accelerator_valid (event->keyval, event->state)))
     {
       GtkWidget *menu_item = menu_shell->active_menu_item;
-      gboolean replace_accels = TRUE;
+      gboolean locked, replace_accels = TRUE;
       const gchar *path;
 
-      path = _gtk_widget_get_accel_path (menu_item);
-      if (!path)
+      path = _gtk_widget_get_accel_path (menu_item, &locked);
+      if (!path || locked)
        {
          /* can't change accelerators on menu_items without paths
           * (basically, those items are accelerator-locked).
           */
-         /* g_print("item has no path, menu prefix: %s\n", menu->accel_path); */
+         /* g_print("item has no path or is locked, menu prefix: %s\n", menu->accel_path); */
          gdk_beep ();
        }
       else
index 93bd035b05c6a08500afb626cff18d2509b1307a..194c92f24b19e59bd561608276be25d0c3c85b73 100644 (file)
@@ -1082,7 +1082,7 @@ _gtk_menu_item_refresh_accel_path (GtkMenuItem   *menu_item,
       return;
     }
 
-  path = _gtk_widget_get_accel_path (widget);
+  path = _gtk_widget_get_accel_path (widget, NULL);
   if (!path)                                   /* no active accel_path yet */
     {
       path = menu_item->accel_path;
index 16587033dddfcef154a7261de0a119c5a0c4230d..b416c11c93e367ece2ce4207e647bf6ec451976f 100644 (file)
@@ -2828,13 +2828,16 @@ gtk_widget_set_accel_path (GtkWidget     *widget,
 }
 
 const gchar*
-_gtk_widget_get_accel_path (GtkWidget *widget)
+_gtk_widget_get_accel_path (GtkWidget *widget,
+                           gboolean  *locked)
 {
   AccelPath *apath;
 
   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
 
   apath = g_object_get_qdata (G_OBJECT (widget), quark_accel_path);
+  if (locked)
+    *locked = apath ? apath->accel_group->lock_count > 0 : TRUE;
   return apath ? g_quark_to_string (apath->path_quark) : NULL;
 }
 
index 2176e71f060f7d0c35b8ef910dbebbc11e395889..00c026167027b85eaa462096e2e044327a1fd413 100644 (file)
@@ -496,7 +496,8 @@ gboolean   gtk_widget_remove_accelerator  (GtkWidget           *widget,
 void       gtk_widget_set_accel_path      (GtkWidget           *widget,
                                           const gchar         *accel_path,
                                           GtkAccelGroup       *accel_group);
-const gchar* _gtk_widget_get_accel_path   (GtkWidget           *widget);
+const gchar* _gtk_widget_get_accel_path   (GtkWidget           *widget,
+                                          gboolean            *locked);
 GList*     gtk_widget_list_accel_closures (GtkWidget          *widget);
 gboolean   gtk_widget_mnemonic_activate   (GtkWidget           *widget,
                                           gboolean             group_cycling);