diff --git a/konaclient-gtk/glade/#previewWidget.glade# b/konaclient-gtk/glade/previewWidget (copy).glade similarity index 91% rename from konaclient-gtk/glade/#previewWidget.glade# rename to konaclient-gtk/glade/previewWidget (copy).glade index 471eca4..297b4cb 100644 --- a/konaclient-gtk/glade/#previewWidget.glade# +++ b/konaclient-gtk/glade/previewWidget (copy).glade @@ -1,5 +1,5 @@ - + @@ -10,9 +10,8 @@ 200 150 - True False - Screenshot from 2015-10-22 18-13-07.png + applications-graphics True diff --git a/konaclient-gtk/glade/previewWidget.glade b/konaclient-gtk/glade/previewWidget.glade index 297b4cb..1225897 100644 --- a/konaclient-gtk/glade/previewWidget.glade +++ b/konaclient-gtk/glade/previewWidget.glade @@ -1,5 +1,5 @@ - + @@ -48,5 +48,19 @@ 2 + + + button + True + True + True + + + + False + True + 3 + + diff --git a/konaclient-gtk/previewwidget.c b/konaclient-gtk/previewwidget.c index 766f49b..1066c25 100644 --- a/konaclient-gtk/previewwidget.c +++ b/konaclient-gtk/previewwidget.c @@ -6,19 +6,33 @@ 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! + PreviewWidget_set_image(data, "/home/kurisu/Pictures/Wallpapers/preview.jpg"); // DEBUG ONLY! } void PreviewWidget_set_image(PreviewWidget *widget, gchar *url) { GtkWidget *w; GList *widgets; + int height, width; + float iheight, iwidth; 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); + iheight = (float) gdk_pixbuf_get_height(p); + iwidth = (float) gdk_pixbuf_get_width(p); + if (gdk_pixbuf_get_width(p) < gdk_pixbuf_get_height(p)) { + height = 150; + width = iwidth / iheight * 150; + } + else { + width = 200; + height = iheight / iwidth * 200; + } + + + p = gdk_pixbuf_scale_simple(p, width, height, GDK_INTERP_BILINEAR); gtk_image_set_from_pixbuf(GTK_IMAGE(w), p); gtk_widget_set_visible(w, TRUE); @@ -61,3 +75,8 @@ GtkWidget *PreviewWidget_new(KonaImage* ki) // TODO: DESTROY etc. + +void debugfoo(GtkButton *widget, GtkImage *img) +{ + gtk_widget_destroy(img); +} diff --git a/konaclient-gtk/previewwidget.h b/konaclient-gtk/previewwidget.h index 556e0af..d9201f3 100644 --- a/konaclient-gtk/previewwidget.h +++ b/konaclient-gtk/previewwidget.h @@ -30,6 +30,8 @@ GtkWidget* PreviewWidget_new (KonaImage* ki); void PreviewWidget_set_image(PreviewWidget *widget, gchar *url); +void debugfoo(GtkButton *widget, GtkImage* img); + G_END_DECLS #endif // PREVIEWWIDGET_H