]> Pileus Git - ~andy/gtk/commitdiff
update the accel path upon parent changes.
authorTim Janik <timj@gtk.org>
Wed, 9 Jan 2002 14:22:34 +0000 (14:22 +0000)
committerTim Janik <timj@src.gnome.org>
Wed, 9 Jan 2002 14:22:34 +0000 (14:22 +0000)
Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
        path upon parent changes.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmenuitem.c

index cb6543bb85ea24c84e8852fd824a2b5da624b9d3..79c7e6f19d5e4d5ef22edb404a0379b2703dfb0d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
+       path upon parent changes.
+
 Wed Jan  9 13:20:14 2002  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
index cb6543bb85ea24c84e8852fd824a2b5da624b9d3..79c7e6f19d5e4d5ef22edb404a0379b2703dfb0d 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
+       path upon parent changes.
+
 Wed Jan  9 13:20:14 2002  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
index cb6543bb85ea24c84e8852fd824a2b5da624b9d3..79c7e6f19d5e4d5ef22edb404a0379b2703dfb0d 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
+       path upon parent changes.
+
 Wed Jan  9 13:20:14 2002  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
index cb6543bb85ea24c84e8852fd824a2b5da624b9d3..79c7e6f19d5e4d5ef22edb404a0379b2703dfb0d 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
+       path upon parent changes.
+
 Wed Jan  9 13:20:14 2002  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
index cb6543bb85ea24c84e8852fd824a2b5da624b9d3..79c7e6f19d5e4d5ef22edb404a0379b2703dfb0d 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
+       path upon parent changes.
+
 Wed Jan  9 13:20:14 2002  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
index cb6543bb85ea24c84e8852fd824a2b5da624b9d3..79c7e6f19d5e4d5ef22edb404a0379b2703dfb0d 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
+       path upon parent changes.
+
 Wed Jan  9 13:20:14 2002  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
index cb6543bb85ea24c84e8852fd824a2b5da624b9d3..79c7e6f19d5e4d5ef22edb404a0379b2703dfb0d 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jan  9 15:20:40 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
+       path upon parent changes.
+
 Wed Jan  9 13:20:14 2002  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
index e26fb1b485b7b12f5b0e9d9413e8093958fed891..c1636a16101497ade248d244ce9716caec8e25e7 100644 (file)
@@ -67,6 +67,8 @@ static void gtk_menu_item_paint          (GtkWidget        *widget,
                                          GdkRectangle     *area);
 static gint gtk_menu_item_expose         (GtkWidget        *widget,
                                          GdkEventExpose   *event);
+static void gtk_menu_item_parent_set     (GtkWidget        *widget,
+                                         GtkWidget        *previous_parent);
 
 
 static void gtk_real_menu_item_select               (GtkItem     *item);
@@ -151,6 +153,7 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
   widget_class->show_all = gtk_menu_item_show_all;
   widget_class->hide_all = gtk_menu_item_hide_all;
   widget_class->mnemonic_activate = gtk_menu_item_mnemonic_activate;
+  widget_class->parent_set = gtk_menu_item_parent_set;
   
   container_class->forall = gtk_menu_item_forall;
 
@@ -1013,6 +1016,23 @@ gtk_menu_item_accel_name_foreach (GtkWidget *widget,
     }
 }
 
+static void
+gtk_menu_item_parent_set (GtkWidget *widget,
+                         GtkWidget *previous_parent)
+{
+  GtkMenuItem *menu_item = GTK_MENU_ITEM (widget);
+  GtkMenu *menu = GTK_IS_MENU (widget->parent) ? GTK_MENU (widget->parent) : NULL;
+
+  if (menu)
+    _gtk_menu_item_refresh_accel_path (menu_item,
+                                      menu->accel_path,
+                                      menu->accel_group,
+                                      TRUE);
+
+  if (GTK_WIDGET_CLASS (parent_class)->parent_set)
+    GTK_WIDGET_CLASS (parent_class)->parent_set (widget, previous_parent);
+}
+
 void
 _gtk_menu_item_refresh_accel_path (GtkMenuItem   *menu_item,
                                   const gchar   *prefix,