]> spindle.queued.net Git - midori/commitdiff
Propagate URI changes and update Back, Forward actions
authorChristian Dywan <christian@twotoasts.de>
Sun, 27 Feb 2011 00:48:06 +0000 (01:48 +0100)
committerChristian Dywan <christian@twotoasts.de>
Sun, 27 Feb 2011 00:48:06 +0000 (01:48 +0100)
Fixes: https://bugs.launchpad.net/midori/+bug/725826
midori/midori-browser.c
midori/midori-view.c

index 5a77b3f77ed661a27c2d72d72133340020e6356a..e7e6f861711463f752cea87ac1703afeae54bcea 100644 (file)
@@ -557,15 +557,18 @@ midori_view_context_ready_cb (GtkWidget*     view,
 }
 
 static void
-midori_view_notify_uri_cb (GtkWidget*     view,
+midori_view_notify_uri_cb (GtkWidget*     widget,
                            GParamSpec*    pspec,
                            MidoriBrowser* browser)
 {
-    if (view == midori_browser_get_current_tab (browser))
+    if (widget == midori_browser_get_current_tab (browser))
     {
-        const gchar* uri = midori_view_get_display_uri (MIDORI_VIEW (view));
+        MidoriView* view = MIDORI_VIEW (widget);
+        const gchar* uri = midori_view_get_display_uri (view);
         GtkAction* action = _action_by_name (browser, "Location");
         midori_location_action_set_text (MIDORI_LOCATION_ACTION (action), uri);
+        _action_set_sensitive (browser, "Back", midori_view_can_go_back (view));
+        _action_set_sensitive (browser, "Forward", midori_view_can_go_forward (view));
     }
 }
 
index 5b5c1781ba0bd4651b73a2828f76a8ff523ad642..fc1948b2ee2df4203315b4d90a210a931856dcf4 100644 (file)
@@ -1556,6 +1556,15 @@ midori_web_view_notify_icon_uri_cb (WebKitWebView* web_view,
 #endif
 
 #if WEBKIT_CHECK_VERSION (1, 1, 4)
+static void
+webkit_web_view_notify_uri_cb (WebKitWebView* web_view,
+                               GParamSpec*    pspec,
+                               MidoriView*    view)
+{
+    katze_assign (view->uri, g_strdup (webkit_web_view_get_uri (web_view)));
+    g_object_notify (G_OBJECT (view), "uri");
+}
+
 static void
 webkit_web_view_notify_title_cb (WebKitWebView* web_view,
                                  GParamSpec*    pspec,
@@ -3613,6 +3622,8 @@ midori_view_construct_web_view (MidoriView* view)
                       midori_web_view_notify_icon_uri_cb, view,
                       #endif
                       #if WEBKIT_CHECK_VERSION (1, 1, 4)
+                      "signal::notify::uri",
+                      webkit_web_view_notify_uri_cb, view,
                       "signal::notify::title",
                       webkit_web_view_notify_title_cb, view,
                       #else