static void _refresh_mime(Preview * preview, Mime * mime, char const * type) { if(mime_get_handler(mime, type, "open") != NULL) { gtk_widget_show(GTK_WIDGET(preview->open)); gtk_widget_show(preview->toolbar); } if(mime_get_handler(mime, type, "edit") != NULL) { gtk_widget_show(GTK_WIDGET(preview->edit)); gtk_widget_show(preview->toolbar); } }
static void _popup_mime(Mime * mime, char const * mimetype, char const * action, char const * label, GCallback callback, DesktopIcon * desktopicon, GtkWidget * menu) { GtkWidget * menuitem; if(mime_get_handler(mime, mimetype, action) == NULL) return; if(strncmp(label, "gtk-", 4) == 0) menuitem = gtk_image_menu_item_new_from_stock(label, NULL); else menuitem = gtk_menu_item_new_with_mnemonic(label); g_signal_connect_swapped(G_OBJECT(menuitem), "activate", callback, desktopicon); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); }