226
225
if (!gtk_widget_get_visible (child))
229
//if (!is_in_menubar (child))
232
229
bridge = APP_MENU_BRIDGE (proxy);
234
if (GTK_IS_MENU_BAR (shell))
236
if (!g_hash_table_lookup (bridge->priv->items, shell))
238
g_print ("inserting shell %p %s\n", shell, G_OBJECT_TYPE_NAME (shell));
239
g_hash_table_insert (bridge->priv->items, shell, bridge->priv->root);
242
g_print (" ** child is a %s\n", G_OBJECT_TYPE_NAME (child));
231
if (GTK_IS_MENU_BAR (parent))
233
if (!g_hash_table_lookup (bridge->priv->items, parent))
235
g_hash_table_insert (bridge->priv->items, parent, bridge->priv->root);
238
parent_item = bridge->priv->root;
240
else if (GTK_IS_MENU (parent))
242
GtkWidget *attached_to;
244
g_object_get (parent,
245
"attach-widget", &attached_to,
250
parent_item = g_hash_table_lookup (bridge->priv->items, attached_to);
245
254
if (GTK_IS_MENU_ITEM (child))
249
256
item = dbusmenu_menuitem_new ();
250
257
g_hash_table_insert (bridge->priv->items, child, item); // move to end?
281
288
g_hash_table_insert (bridge->priv->items, submenu, item);
284
//g_print ("parent %p %s\n", parent, parent != NULL ? G_OBJECT_TYPE_NAME (parent) : "NULL");
286
g_print ("child %p %s\n", child, G_OBJECT_TYPE_NAME (child));
288
291
if (parent == NULL)
290
293
parent_item = bridge->priv->root;
293
297
if (GTK_IS_MENU_BAR (parent))
295
g_print ("%s, visibility %d\n",
296
get_menu_label_text (child),
297
gtk_widget_get_visible (child));
299
299
parent_item = bridge->priv->root;
301
301
else if (GTK_IS_MENU (parent))
311
311
parent_item = g_hash_table_lookup (bridge->priv->items, attached_to);
313
g_print ("%s -> %s (parent_item == %p\n",
314
get_menu_label_text (attached_to),
315
get_menu_label_text (child),
322
g_print ("child append\n");
323
if (GTK_IS_MENU_BAR (shell))
318
/* XXX - not sure about this. :) */
319
if (GTK_IS_MENU_BAR (parent))
324
320
dbusmenu_menuitem_child_append (parent_item, item);
326
322
dbusmenu_menuitem_child_prepend (parent_item, item);
332
dbusmenu_menuitem_child_append (parent_item, item);
336
if (GTK_IS_MENU (parent))
340
g_object_get (GTK_MENU (parent),
341
"attach-widget", &foo,
344
g_print ("Parent not found, belongs to %s (%s at %p)\n",
345
foo ? get_menu_label_text (foo) : "(null)",
346
foo ? G_OBJECT_TYPE_NAME (foo) : "(null)",
349
parent_item = g_hash_table_lookup (bridge->priv->items,
351
dbusmenu_menuitem_child_append (parent_item, item);
355
g_print ("Parent not found: %s at %p\n",
356
G_OBJECT_TYPE_NAME (parent),