1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
From 779e05a0e93c5432deaa714aaea7ae17a950f6fc Mon Sep 17 00:00:00 2001
From: Shaun McCance <shaunm@gnome.org>
Date: Tue, 18 May 2010 15:23:09 +0000
Subject: [src/yelp-window.c] Fix "Open Link in New Window", bug #615457 (Edward Sheldrake)
---
diff --git a/src/yelp-window.c b/src/yelp-window.c
index 67bfc09..1221ba3 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... */
--
cgit v0.8.3.1
|