64 lines
1.6 KiB
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.
|