diff options
author | Peter Hofmann <scm@uninformativ.de> | 2014-06-14 15:27:17 +0200 |
---|---|---|
committer | Peter Hofmann <scm@uninformativ.de> | 2014-06-14 15:27:17 +0200 |
commit | 8eb72e4255f3488c4f14ea28f7e1f3773d40b14a (patch) | |
tree | c0406e52815dab405cce7430c8cbb2eefcd9e3f9 /zea.c | |
parent | 5c38b7edf6bc4b4e84ec08d98e53f72ef2746956 (diff) | |
download | lariza-8eb72e4255f3488c4f14ea28f7e1f3773d40b14a.tar.gz |
Have the location bar follow the current URI
Diffstat (limited to 'zea.c')
-rw-r--r-- | zea.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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) { |