From: Sergio Villar Senin Date: Tue, 11 Aug 2009 09:44:40 +0000 (+0200) Subject: Fixes NB#131187, no kinetic scrolling in message viewer X-Git-Tag: 3.0.17-rc31~3 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=edb7a3e1bb00d47c450b44d9ad455364ec1df2ab Fixes NB#131187, no kinetic scrolling in message viewer --- diff --git a/src/hildon2/modest-msg-view-window.c b/src/hildon2/modest-msg-view-window.c index ee85710..dd1003b 100644 --- a/src/hildon2/modest-msg-view-window.c +++ b/src/hildon2/modest-msg-view-window.c @@ -505,6 +505,7 @@ init_window (ModestMsgViewWindow *obj) modest_msg_view_set_shadow_type (MODEST_MSG_VIEW (priv->msg_view), GTK_SHADOW_NONE); main_vbox = gtk_vbox_new (FALSE, 6); priv->main_scroll = hildon_pannable_area_new (); + g_object_set (G_OBJECT (priv->main_scroll), "mov-mode", HILDON_MOVEMENT_MODE_BOTH, NULL); gtk_container_add (GTK_CONTAINER (priv->main_scroll), priv->msg_view); gtk_box_pack_start (GTK_BOX(main_vbox), priv->main_scroll, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER(obj), main_vbox); diff --git a/src/widgets/modest-gtkhtml-mime-part-view.c b/src/widgets/modest-gtkhtml-mime-part-view.c index a160174..5a11459 100644 --- a/src/widgets/modest-gtkhtml-mime-part-view.c +++ b/src/widgets/modest-gtkhtml-mime-part-view.c @@ -287,6 +287,11 @@ modest_gtkhtml_mime_part_view_init (ModestGtkhtmlMimePartView *self) gtk_html_set_caret_mode (GTK_HTML(self), FALSE); gtk_html_set_blocking (GTK_HTML(self), TRUE); gtk_html_set_images_blocking (GTK_HTML(self), TRUE); + /* We don't need this for Hildon2 as this widget will be most + likely inside pannable area */ +#ifndef MODEST_TOOLKIT_HILDON2 + gtk_html_set_auto_panning (GTK_HTML (self), TRUE); +#endif #ifdef MODEST_TOOLKIT_HILDON2 #ifdef HAVE_GTK_HTML_SET_MAX_IMAGE_SIZE diff --git a/src/widgets/modest-gtkhtml-msg-view.c b/src/widgets/modest-gtkhtml-msg-view.c index 514322d..72f0f66 100644 --- a/src/widgets/modest-gtkhtml-msg-view.c +++ b/src/widgets/modest-gtkhtml-msg-view.c @@ -597,6 +597,8 @@ set_hadjustment_values (ModestGtkhtmlMsgView *self, { GtkAllocation view_allocation; GtkAdjustment *hadj = get_hadjustment (self); + gint full_width = 0; + ModestGtkhtmlMsgViewPrivate *priv = MODEST_GTKHTML_MSG_VIEW_GET_PRIVATE (self); get_view_allocation (self, &view_allocation); hadj->page_size = view_allocation.width; @@ -606,11 +608,20 @@ set_hadjustment_values (ModestGtkhtmlMsgView *self, hadj->lower = 0; hadj->upper = view_allocation.width; + /* Get the real width of the embedded html */ + if (priv->html_scroll && GTK_WIDGET_VISIBLE(priv->html_scroll)) { + GtkAdjustment *html_hadj; + html_hadj = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (priv->html_scroll)); + full_width += html_hadj->upper; + } + + hadj->upper = MAX (view_allocation.width, full_width); + reclamp_adjustment (hadj, value_changed); } -static void +static void set_vadjustment_values (ModestGtkhtmlMsgView *self, gboolean *value_changed) {