static void add_to_menu (GtkWidget * menu, struct Item * item) { GtkWidget * widget = audgui_menu_item_new (item->name, item->icon); g_object_set_data ((GObject *) widget, "func", (void *) item->func); g_signal_connect (widget, "activate", item->func, NULL); gtk_widget_show (widget); gtk_menu_shell_append ((GtkMenuShell *) menu, widget); }
static void list_right_click (void * user, GdkEventButton * event) { GtkWidget * menu = gtk_menu_new (); GtkWidget * item = audgui_menu_item_new (_("_Play"), "media-playback-start"); g_signal_connect (item, "activate", (GCallback) action_play, NULL); gtk_widget_show (item); gtk_menu_shell_append ((GtkMenuShell *) menu, item); item = audgui_menu_item_new (_("_Create Playlist"), "document-new"); g_signal_connect (item, "activate", (GCallback) action_create_playlist, NULL); gtk_widget_show (item); gtk_menu_shell_append ((GtkMenuShell *) menu, item); item = audgui_menu_item_new (_("_Add to Playlist"), "list-add"); g_signal_connect (item, "activate", (GCallback) action_add_to_playlist, NULL); gtk_widget_show (item); gtk_menu_shell_append ((GtkMenuShell *) menu, item); gtk_menu_popup ((GtkMenu *) menu, NULL, NULL, NULL, NULL, event->button, event->time); }