static void set_icon(void *opaque, const char *str) { if(str == NULL) return; gint width = 64; gtk_icon_size_lookup(GTK_ICON_SIZE_DIALOG, &width, NULL); gu_pixbuf_async_set(str, width, -1, GTK_OBJECT(opaque)); }
static void home_set_icon(void *opaque, const char *str) { if(str == NULL) return; gtk_misc_set_padding(GTK_MISC(opaque), 0, 0); gu_pixbuf_async_set(str, 72, -1, GTK_OBJECT(opaque)); }
static void pd_set_albumart(void *opaque, const char *str) { if(str == NULL) { gtk_widget_hide(GTK_WIDGET(opaque)); return; } gu_pixbuf_async_set(str, -1, 84, GTK_OBJECT(opaque)); gtk_widget_show(GTK_WIDGET(opaque)); }
static void album_set_art(void *opaque, const char *str) { GdkPixbuf *pb; char path[PATH_MAX]; if(str != NULL) { gu_pixbuf_async_set(str, 256, -1, GTK_OBJECT(opaque)); return; } snprintf(path, sizeof(path), "%s/guresources/cd.png", showtime_dataroot()); pb = gu_pixbuf_get_sync(path, 256, -1); g_object_set(G_OBJECT(opaque), "pixbuf", pb, NULL); if(pb != NULL) g_object_unref(G_OBJECT(pb)); }