From 8eb72e4255f3488c4f14ea28f7e1f3773d40b14a Mon Sep 17 00:00:00 2001 From: Peter Hofmann Date: Sat, 14 Jun 2014 15:27:17 +0200 Subject: Have the location bar follow the current URI --- zea.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/zea.c b/zea.c index be03c20..b590da7 100644 --- a/zea.c +++ b/zea.c @@ -22,6 +22,7 @@ static gboolean zea_new_client_request(WebKitWebView *, WebKitWebFrame *, WebKitWebNavigationAction *, WebKitWebPolicyDecision *, gpointer); static void zea_title_changed(GObject *, GParamSpec *, gpointer); +static void zea_uri_changed(GObject *, GParamSpec *, gpointer); static gboolean zea_web_view_key(GtkWidget *, GdkEvent *, gpointer); @@ -168,6 +169,8 @@ zea_new_client(const gchar *uri) webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(c->web_view), global_zoom); g_signal_connect(G_OBJECT(c->web_view), "notify::title", G_CALLBACK(zea_title_changed), c); + g_signal_connect(G_OBJECT(c->web_view), "notify::uri", + G_CALLBACK(zea_uri_changed), c); g_signal_connect(G_OBJECT(c->web_view), "new-window-policy-decision-requested", G_CALLBACK(zea_new_client_request), NULL); @@ -232,6 +235,19 @@ zea_title_changed(GObject *obj, GParamSpec *pspec, gpointer data) gtk_window_set_title(GTK_WINDOW(c->win), (t == NULL ? "zea" : t)); } +void +zea_uri_changed(GObject *obj, GParamSpec *pspec, gpointer data) +{ + const gchar *t; + struct Client *c = (struct Client *)data; + + (void)obj; + (void)pspec; + + t = webkit_web_view_get_uri(WEBKIT_WEB_VIEW(c->web_view)); + gtk_entry_set_text(GTK_ENTRY(c->location), (t == NULL ? "zea" : t)); +} + gboolean zea_web_view_key(GtkWidget *widget, GdkEvent *event, gpointer data) { -- cgit v1.2.3