diff options
Diffstat (limited to 'gtk/gtkmenushell.c')
-rw-r--r-- | gtk/gtkmenushell.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index c3e107fa1c..def6aa2c93 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -37,6 +37,7 @@ #include "gtkmenubar.h" #include "gtkmenuitem.h" #include "gtkmenushell.h" +#include "gtkmenuproxy.h" #include "gtkmnemonichash.h" #include "gtktearoffmenuitem.h" #include "gtkwindow.h" @@ -135,6 +136,8 @@ struct _GtkMenuShellPrivate GtkMnemonicHash *mnemonic_hash; GtkKeyHash *key_hash; + GtkMenuProxy *proxy; + guint take_focus : 1; guint activated_submenu : 1; /* This flag is a crutch to keep mnemonics in the same menu @@ -408,6 +411,8 @@ gtk_menu_shell_init (GtkMenuShell *menu_shell) priv->key_hash = NULL; priv->take_focus = TRUE; priv->activated_submenu = FALSE; + priv->proxy = gtk_menu_proxy_get (); + //priv->proxy = gtk_menu_proxy_factory_get_proxy (); } static void @@ -483,12 +488,22 @@ gtk_menu_shell_insert (GtkMenuShell *menu_shell, gint position) { GtkMenuShellClass *class; + GtkMenuShellPrivate *priv; g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); g_return_if_fail (GTK_IS_MENU_ITEM (child)); class = GTK_MENU_SHELL_GET_CLASS (menu_shell); + priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + + // XXX + // insert to proxy + if (priv->proxy != NULL) + gtk_menu_proxy_insert (priv->proxy, + child, + position); + if (class->insert) class->insert (menu_shell, child, position); } |