summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2010-05-18 10:23:09 -0500
committerShaun McCance <shaunm@gnome.org>2010-05-18 10:23:09 -0500
commit779e05a0e93c5432deaa714aaea7ae17a950f6fc (patch)
tree53a6b43c6275a317d9d0545c465fbbb1e690b97d
parent72412557f05822c9f670849300f8f47d91fa5963 (diff)
downloadyelp-779e05a0e93c5432deaa714aaea7ae17a950f6fc.tar.gz
[src/yelp-window.c] Fix "Open Link in New Window", bug #615457 (Edward Sheldrake)
-rw-r--r--src/yelp-window.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/yelp-window.c b/src/yelp-window.c
index 67bfc09d..1221ba3b 100644
--- a/src/yelp-window.c
+++ b/src/yelp-window.c
@@ -2545,14 +2545,32 @@ static void window_copy_link_cb (GtkAction *action, YelpWindow *window)
static void
window_open_link_cb (GtkAction *action, YelpWindow *window)
{
- yelp_window_load (window, window->priv->uri);
+ gchar *uri;
+
+ if (g_str_has_prefix (window->priv->uri, "xref:"))
+ uri = g_strconcat (window->priv->base_uri, "#", window->priv->uri + 5, NULL);
+ else
+ uri = g_strdup (window->priv->uri);
+
+ yelp_window_load (window, uri);
+
+ g_free (uri);
}
static void
window_open_link_new_cb (GtkAction *action, YelpWindow *window)
{
+ gchar *uri;
+
+ if (g_str_has_prefix (window->priv->uri, "xref:"))
+ uri = g_strconcat (window->priv->base_uri, "#", window->priv->uri + 5, NULL);
+ else
+ uri = g_strdup (window->priv->uri);
+
g_signal_emit (window, signals[NEW_WINDOW_REQUESTED], 0,
- window->priv->uri);
+ uri);
+
+ g_free (uri);
}
/* TODO: This doesn't work... */