static GtkWidget * panel_menu_items_create_action_item_full (PanelActionButtonType action_type, const char *label, const char *tooltip) { GtkWidget *item; if (panel_action_get_is_disabled (action_type)) return NULL; item = gtk_image_menu_item_new (); setup_menu_item_with_icon (item, panel_menu_icon_get_size (), panel_action_get_icon_name (action_type), NULL, NULL, label ? label : panel_action_get_text (action_type)); panel_util_set_tooltip_text (item, tooltip ? tooltip : panel_action_get_tooltip (action_type)); g_signal_connect (item, "activate", panel_action_get_invoke (action_type), NULL); g_signal_connect (G_OBJECT (item), "button_press_event", G_CALLBACK (menu_dummy_button_press_event), NULL); setup_internal_applet_drag (item, action_type); return item; }
static GSList * panel_addto_prepend_internal_applets (GSList *list) { static gboolean translated = FALSE; int i; for (i = 0; i < G_N_ELEMENTS (internal_addto_items); i++) { if (!translated) { internal_addto_items [i].name = _(internal_addto_items [i].name); internal_addto_items [i].description = _(internal_addto_items [i].description); } list = g_slist_prepend (list, &internal_addto_items [i]); } translated = TRUE; for (i = PANEL_ACTION_LOCK; i < PANEL_ACTION_LAST; i++) { PanelAddtoItemInfo *info; if (panel_action_get_is_disabled (i)) continue; info = g_new0 (PanelAddtoItemInfo, 1); info->type = PANEL_ADDTO_ACTION; info->action_type = i; info->name = g_strdup (panel_action_get_text (i)); info->description = g_strdup (panel_action_get_tooltip (i)); info->icon = g_strdup (panel_action_get_icon_name (i)); info->iid = g_strdup (panel_action_get_drag_id (i)); info->static_data = FALSE; list = g_slist_prepend (list, info); } return list; }