From: Jose Dapena Paz Date: Fri, 20 Mar 2009 08:40:45 +0000 (+0000) Subject: On loading images for inserting in editor "scale on load" (fixes NB#106740) X-Git-Tag: git_migration_finished~252 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=4f9624ccaac11b9f05c9f9a93ad8cadd2e78e736 On loading images for inserting in editor "scale on load" (fixes NB#106740) pmo-trunk-r8226 --- diff --git a/src/hildon2/modest-msg-edit-window.c b/src/hildon2/modest-msg-edit-window.c index 3782803..0f6b306 100644 --- a/src/hildon2/modest-msg-edit-window.c +++ b/src/hildon2/modest-msg-edit-window.c @@ -972,6 +972,27 @@ modest_msg_edit_window_finalize (GObject *obj) G_OBJECT_CLASS(parent_class)->finalize (obj); } +static void +pixbuf_size_prepared (GdkPixbufLoader *loader, + gint width, + gint height, + ModestMsgEditWindow *self) +{ + gint new_height, new_width; + gboolean set_size; + + new_height = height; + new_width = width; + set_size = FALSE; + + if (width > IMAGE_MAX_WIDTH) { + new_height = height * IMAGE_MAX_WIDTH / width; + new_width = IMAGE_MAX_WIDTH; + } + + gdk_pixbuf_loader_set_size (loader, new_width, new_height); +} + static GdkPixbuf * pixbuf_from_stream (TnyStream *stream, const gchar *mime_type, @@ -992,6 +1013,7 @@ pixbuf_from_stream (TnyStream *stream, *stream_size = 0; return NULL; } + g_signal_connect (G_OBJECT (loader), "size-prepared", G_CALLBACK (pixbuf_size_prepared), self); hildon_gtk_window_set_progress_indicator (GTK_WINDOW (self), TRUE);