konaclient-gtk/konaclient-gtk/previewwidget.c

64 lines
1.6 KiB
C

#include "previewwidget.h"
G_DEFINE_TYPE(PreviewWidget, PreviewWidget, GTK_TYPE_BIN)
void kona_download_image( GtkWidget *widget, gpointer data )
{
PreviewWidget_set_image(data, "/home/kurisu/Pictures/a.xpm"); // DEBUG ONLY!
}
void PreviewWidget_set_image(PreviewWidget *widget, gchar *url) {
GtkWidget *w;
GList *widgets;
widgets = gtk_container_get_children(GTK_CONTAINER(widget));
w = widgets->data; // Grab GtkImage
GdkPixbuf *p;
p = gdk_pixbuf_new_from_file(url, NULL);
p = gdk_pixbuf_scale_simple(p, 200, 150, GDK_INTERP_BILINEAR);
gtk_image_set_from_pixbuf(GTK_IMAGE(w), p);
gtk_widget_set_visible(w, TRUE);
w = g_list_next(widgets)->data; // Grab Spinner
gtk_widget_set_visible(w, FALSE);
}
void PreviewWidget_class_init(PreviewWidgetClass *klass)
{
}
void PreviewWidget_init(PreviewWidget *klass)
{
GtkWidget *widget;
GtkBuilder *builder;
builder = gtk_builder_new();
gtk_builder_add_from_file(builder, "glade/previewWidget.glade", NULL);
widget = GTK_WIDGET(gtk_builder_get_object(GTK_BUILDER(builder), "previewWidget"));
gtk_builder_connect_signals(builder, NULL);
gtk_container_add(GTK_CONTAINER(klass), widget);
GTK_WIDGET(gtk_builder_get_object(builder, "image"));
/*klass->image= GTK_WIDGET(gtk_builder_get_object(builder, "image"));
klass->button = GTK_WIDGET(gtk_builder_get_object(builder, "button"));
klass->spinner = GTK_WIDGET(gtk_builder_get_object(builder, "spinner"));*/
g_object_unref(G_OBJECT(builder));
}
GtkWidget *PreviewWidget_new(KonaImage* ki)
{
return g_object_new (TYPE_PREVIEWWIDGET, NULL);
}
// TODO: DESTROY etc.