[evolution/wip/webkit2] Composer - THe WebKitWebView is scrollable, no need to put in inside GtkScrollable



commit 3e29fc1331d1c8c34cd3c2531e528cb23336c333
Author: Tomas Popela <tpopela redhat com>
Date:   Thu May 5 12:07:48 2016 +0200

    Composer - THe WebKitWebView is scrollable, no need to put in inside GtkScrollable

 composer/e-composer-private.c |   33 +--------------------------------
 e-util/e-html-editor.c        |   16 +---------------
 2 files changed, 2 insertions(+), 47 deletions(-)
---
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
index 35d0e69..a9c40e0 100644
--- a/composer/e-composer-private.c
+++ b/composer/e-composer-private.c
@@ -254,14 +254,7 @@ e_composer_private_constructed (EMsgComposer *composer)
        priv->gallery_scrolled_window = g_object_ref (widget);
        gtk_widget_show (widget);
 
-       /* Reparent the scrolled window containing the web view
-        * widget into the content area of the top attachment pane. */
-
        widget = GTK_WIDGET (view);
-       widget = gtk_widget_get_parent (widget);
-       if (GTK_IS_VIEWPORT (widget))
-               widget = gtk_widget_get_parent (widget);
-       g_warn_if_fail (GTK_IS_SCROLLED_WINDOW (widget));
        gtk_widget_reparent (widget, container);
 
        /* Construct the picture gallery. */
@@ -795,28 +788,6 @@ use_top_signature (EMsgComposer *composer)
 }
 
 static void
-composer_size_allocate_cb (GtkWidget *widget,
-                          gpointer user_data)
-{
-       GtkWidget *scrolled_window;
-       GtkAdjustment *adj;
-
-       /* FIXME WK2 this has to be arranged as in WK2 the webview is not in scrolled window */
-       scrolled_window = gtk_widget_get_parent (GTK_WIDGET (widget));
-       adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window));
-
-       /* Scroll only when there is some size allocated */
-       if (gtk_adjustment_get_upper (adj) != 0.0) {
-               /* Scroll web view down to caret */
-               gtk_adjustment_set_value (adj, gtk_adjustment_get_upper (adj) - gtk_adjustment_get_page_size 
(adj));
-               gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window), adj);
-               /* Disconnect because we don't want to scroll down the view on every window size change */
-               g_signal_handlers_disconnect_by_func (
-                       widget, G_CALLBACK (composer_size_allocate_cb), NULL);
-       }
-}
-
-static void
 composer_load_signature_cb (EMailSignatureComboBox *combo_box,
                             GAsyncResult *result,
                             EMsgComposer *composer)
@@ -975,9 +946,7 @@ insert:
        }
 
        if (start_bottom)
-               g_signal_connect (
-                       view, "size-allocate",
-                       G_CALLBACK (composer_size_allocate_cb), NULL);
+               e_html_editor_view_scroll_to_caret (view);
 exit:
        /* Make sure the flag will be unset and won't influence user's choice */
        composer->priv->set_signature_from_message = FALSE;
diff --git a/e-util/e-html-editor.c b/e-util/e-html-editor.c
index 208ef12..115cde5 100644
--- a/e-util/e-html-editor.c
+++ b/e-util/e-html-editor.c
@@ -655,21 +655,8 @@ html_editor_constructed (GObject *object)
        /* EAlertBar controls its own visibility. */
 
        /* Construct the main editing area. */
-
-       widget = gtk_scrolled_window_new (NULL, NULL);
-       gtk_scrolled_window_set_policy (
-               GTK_SCROLLED_WINDOW (widget),
-               GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-       gtk_scrolled_window_set_shadow_type (
-               GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_IN);
-       gtk_widget_set_hexpand (widget, TRUE);
-       gtk_widget_set_vexpand (widget, TRUE);
-       gtk_grid_attach (GTK_GRID (editor), widget, 0, 4, 1, 1);
-       priv->scrolled_window = g_object_ref (widget);
-       gtk_widget_show (widget);
-
        widget = GTK_WIDGET (e_html_editor_get_view (editor));
-       gtk_container_add (GTK_CONTAINER (priv->scrolled_window), widget);
+       gtk_grid_attach (GTK_GRID (editor), widget, 0, 4, 1, 1);
        gtk_widget_show (widget);
        g_signal_connect (
                widget, "context-menu",
@@ -764,7 +751,6 @@ html_editor_dispose (GObject *object)
        g_clear_object (&priv->mode_combo_box);
        g_clear_object (&priv->size_combo_box);
        g_clear_object (&priv->style_combo_box);
-       g_clear_object (&priv->scrolled_window);
 
        g_clear_object (&priv->html_editor_view);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]