diff options
author | Gustavo Noronha Silva <gns@gnome.org> | 2009-12-16 20:35:55 +0800 |
---|---|---|
committer | Gustavo Noronha Silva <gns@gnome.org> | 2009-12-17 20:21:25 +0800 |
commit | de05c84965bc829f14fb9165bd05d5612967a36d (patch) | |
tree | 943d0bda5b6e028ec4fb578eb65cbc6920a3b793 /embed | |
parent | 092c7136695555fbd44c51e37c36202c7a2cb832 (diff) | |
download | gsoc2013-epiphany-de05c84965bc829f14fb9165bd05d5612967a36d.tar.gz gsoc2013-epiphany-de05c84965bc829f14fb9165bd05d5612967a36d.tar.zst gsoc2013-epiphany-de05c84965bc829f14fb9165bd05d5612967a36d.zip |
Make EphyEmbed inherit from GtkVBox instead of GtkScrolledWindow
Diffstat (limited to 'embed')
-rw-r--r-- | embed/ephy-embed-utils.h | 5 | ||||
-rw-r--r-- | embed/ephy-embed.c | 19 | ||||
-rw-r--r-- | embed/ephy-embed.h | 4 | ||||
-rw-r--r-- | embed/ephy-web-view.c | 2 |
4 files changed, 19 insertions, 11 deletions
diff --git a/embed/ephy-embed-utils.h b/embed/ephy-embed-utils.h index 5d82171e9..3b6d1b609 100644 --- a/embed/ephy-embed-utils.h +++ b/embed/ephy-embed-utils.h @@ -35,9 +35,8 @@ G_BEGIN_DECLS -#define EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED(embed) (WEBKIT_WEB_VIEW (gtk_bin_get_child (GTK_BIN (embed)))) -#define EPHY_GET_EPHY_WEB_VIEW_FROM_EMBED(embed) (EPHY_WEB_VIEW (gtk_bin_get_child (GTK_BIN (embed)))) -#define EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW(view) (EPHY_EMBED (gtk_widget_get_parent (GTK_WIDGET (view)))) +#define EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED(embed) (WEBKIT_WEB_VIEW (ephy_embed_get_web_view (embed))) +#define EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW(view) (EPHY_EMBED (gtk_widget_get_parent (gtk_widget_get_parent (GTK_WIDGET (view))))) #define EPHY_WEBKIT_BACK_FORWARD_LIMIT 100 diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c index 53ae59ce4..48df876a3 100644 --- a/embed/ephy-embed.c +++ b/embed/ephy-embed.c @@ -57,6 +57,7 @@ static void ephy_embed_constructed (GObject *object); struct EphyEmbedPrivate { + GtkScrolledWindow *scrolled_window; WebKitWebView *web_view; EphyHistory *history; GtkWidget *inspector_window; @@ -64,7 +65,7 @@ struct EphyEmbedPrivate guint is_setting_zoom : 1; }; -G_DEFINE_TYPE (EphyEmbed, ephy_embed, GTK_TYPE_SCROLLED_WINDOW) +G_DEFINE_TYPE (EphyEmbed, ephy_embed, GTK_TYPE_VBOX) static void uri_changed_cb (WebKitWebView *web_view, @@ -296,7 +297,7 @@ ephy_embed_grab_focus (GtkWidget *widget) { GtkWidget *child; - child = gtk_bin_get_child (GTK_BIN (widget)); + child = GTK_WIDGET (ephy_embed_get_web_view (EPHY_EMBED (widget))); if (child) gtk_widget_grab_focus (child); @@ -776,14 +777,18 @@ static void ephy_embed_constructed (GObject *object) { EphyEmbed *embed = (EphyEmbed*)object; + GtkWidget *scrolled_window; WebKitWebView *web_view; WebKitWebInspector *inspector; GtkWidget *inspector_sw; - embed->priv = EPHY_EMBED_GET_PRIVATE (embed); + scrolled_window = GTK_WIDGET (embed->priv->scrolled_window); + gtk_container_add (GTK_CONTAINER (embed), scrolled_window); + gtk_widget_show (scrolled_window); + web_view = WEBKIT_WEB_VIEW (ephy_web_view_new ()); embed->priv->web_view = web_view; - gtk_container_add (GTK_CONTAINER (embed), GTK_WIDGET (web_view)); + gtk_container_add (GTK_CONTAINER (embed->priv->scrolled_window), GTK_WIDGET (web_view)); gtk_widget_show (GTK_WIDGET (web_view)); g_object_connect (web_view, @@ -832,7 +837,11 @@ ephy_embed_constructed (GObject *object) static void ephy_embed_init (EphyEmbed *embed) { - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (embed), + embed->priv = EPHY_EMBED_GET_PRIVATE (embed); + + embed->priv->scrolled_window = GTK_SCROLLED_WINDOW (gtk_scrolled_window_new (NULL, NULL)); + + gtk_scrolled_window_set_policy (embed->priv->scrolled_window, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); } diff --git a/embed/ephy-embed.h b/embed/ephy-embed.h index 18fb6ed0a..bb32af04a 100644 --- a/embed/ephy-embed.h +++ b/embed/ephy-embed.h @@ -41,14 +41,14 @@ typedef struct EphyEmbed EphyEmbed; typedef struct EphyEmbedPrivate EphyEmbedPrivate; struct EphyEmbed { - GtkScrolledWindow parent_instance; + GtkVBox parent_instance; /*< private >*/ EphyEmbedPrivate *priv; }; struct EphyEmbedClass { - GtkScrolledWindowClass parent_class; + GtkVBoxClass parent_class; }; GType ephy_embed_get_type (void); diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c index a4dceb8f5..df7639c9b 100644 --- a/embed/ephy-web-view.c +++ b/embed/ephy-web-view.c @@ -236,7 +236,7 @@ popups_manager_hide (EphyEmbedContainer *container, embed = ephy_embed_container_get_active_child (container); g_return_if_fail (EPHY_IS_EMBED (embed)); - location = ephy_web_view_get_location (EPHY_GET_EPHY_WEB_VIEW_FROM_EMBED (embed), TRUE); + location = ephy_web_view_get_location (ephy_embed_get_web_view (embed), TRUE); if (location == NULL) return; features = popups_manager_new_window_info (container); |