static void panel_menu_bar_parent_set(GtkWidget* widget, GtkWidget* previous_parent) { PanelMenuBar* menubar = PANEL_MENU_BAR(widget); GtkWidget* parent; parent = gtk_widget_get_parent(widget); g_assert(!parent || PANEL_IS_WIDGET(parent)); menubar->priv->panel = (PanelWidget*) parent; if (menubar->priv->applications_menu) { mate_panel_applet_menu_set_recurse(GTK_MENU(menubar->priv->applications_menu), "menu_panel", menubar->priv->panel); } if (menubar->priv->places_item) { panel_place_menu_item_set_panel(menubar->priv->places_item, menubar->priv->panel); } if (menubar->priv->desktop_item) { panel_desktop_menu_item_set_panel(menubar->priv->desktop_item, menubar->priv->panel); } }
static void main_menu_append (GtkWidget *main_menu, gpointer data) { PanelWidget *panel; GtkWidget *item; gboolean add_separator; GList *children; GList *last; panel = PANEL_WIDGET (data); add_separator = FALSE; children = gtk_container_get_children (GTK_CONTAINER (main_menu)); last = g_list_last (children); if (last != NULL) { add_separator = !GTK_IS_SEPARATOR (GTK_WIDGET (last->data)); } g_list_free (children); if (add_separator) add_menu_separator (main_menu); item = panel_place_menu_item_new (TRUE); panel_place_menu_item_set_panel (item, panel); gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item); gtk_widget_show (item); item = panel_desktop_menu_item_new (TRUE, FALSE); panel_desktop_menu_item_set_panel (item, panel); gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item); gtk_widget_show (item); panel_menu_items_append_lock_logout (main_menu); }