aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-web-view.c
diff options
context:
space:
mode:
authorXan Lopez <xan@gnome.org>2010-05-18 22:15:56 +0800
committerXan Lopez <xan@gnome.org>2010-05-19 00:08:47 +0800
commit1cda73c6a5be184e90cc998b1d51c30de4ec95bb (patch)
tree0144cd14804799894636a0e93b62a567213757e1 /embed/ephy-web-view.c
parent50c36fdf1c4224c4b2e2a97d635fd9184af7519d (diff)
downloadgsoc2013-epiphany-1cda73c6a5be184e90cc998b1d51c30de4ec95bb.tar
gsoc2013-epiphany-1cda73c6a5be184e90cc998b1d51c30de4ec95bb.tar.gz
gsoc2013-epiphany-1cda73c6a5be184e90cc998b1d51c30de4ec95bb.tar.bz2
gsoc2013-epiphany-1cda73c6a5be184e90cc998b1d51c30de4ec95bb.tar.lz
gsoc2013-epiphany-1cda73c6a5be184e90cc998b1d51c30de4ec95bb.tar.xz
gsoc2013-epiphany-1cda73c6a5be184e90cc998b1d51c30de4ec95bb.tar.zst
gsoc2013-epiphany-1cda73c6a5be184e90cc998b1d51c30de4ec95bb.zip
Update the status message from within the EphyWebView
There's no need anymore for the EphyWindow to do this, we can get rid of one extra roundtrip.
Diffstat (limited to 'embed/ephy-web-view.c')
-rw-r--r--embed/ephy-web-view.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index 65298ebf5..1072bdb80 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -104,6 +104,8 @@ struct _EphyWebViewPrivate {
guint seq_context_id;
guint seq_message_id;
+ guint tab_message_id;
+
char *text;
GdkRectangle text_rectangle;
@@ -2278,6 +2280,23 @@ set_scroll_adjustments_cb (EphyWebView *view, GtkAdjustment *hadj, GtkAdjustment
}
static void
+status_message_notify_cb (EphyWebView *view, GParamSpec *pspec, gpointer data)
+{
+ const char *message;
+ EphyWebViewPrivate *priv;
+
+ message = ephy_web_view_get_status_message (view);
+
+ priv = view->priv;
+
+ ephy_web_view_statusbar_pop (view, priv->tab_message_id);
+
+ if (message)
+ ephy_web_view_statusbar_push (view, priv->tab_message_id, message);
+
+}
+
+static void
ephy_web_view_init (EphyWebView *web_view)
{
EphyWebViewPrivate *priv;
@@ -2294,6 +2313,7 @@ ephy_web_view_init (EphyWebView *web_view)
priv->monitor_directory = FALSE;
priv->seq_context_id = 1;
priv->seq_message_id = 1;
+ priv->tab_message_id = ephy_web_view_statusbar_get_context_id (web_view, TAB_MESSAGE_CONTEXT_DESCRIPTION);
priv->non_search_regex = g_regex_new ("(^localhost(\\.[^[:space:]]+)?(:\\d+)?(/.*)?$|"
"^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]$|"
@@ -2338,6 +2358,10 @@ ephy_web_view_init (EphyWebView *web_view)
G_CALLBACK (set_scroll_adjustments_cb),
NULL);
+ g_signal_connect (web_view, "notify::status-message",
+ G_CALLBACK (status_message_notify_cb),
+ NULL);
+
cache = EPHY_FAVICON_CACHE
(ephy_embed_shell_get_favicon_cache (embed_shell));
g_signal_connect_object (G_OBJECT (cache), "changed",