devhelp r1265 - in trunk: . src
- From: rhult svn gnome org
- To: svn-commits-list gnome org
- Subject: devhelp r1265 - in trunk: . src
- Date: Thu, 19 Feb 2009 10:02:43 +0000 (UTC)
Author: rhult
Date: Thu Feb 19 10:02:43 2009
New Revision: 1265
URL: http://svn.gnome.org/viewvc/devhelp?rev=1265&view=rev
Log:
2009-02-19 Enrico TrÃge <enrico troeger uvena de>
* src/dh-assistant-view.c: (assistant_view_set_link):
* src/dh-book-tree.c: (book_tree_find_uri_foreach):
* src/dh-link.c: (link_free), (dh_link_new):
* src/dh-link.h: Use file: URIs instead of local paths, fixes use
with more recent webkit versions.
Modified:
trunk/ChangeLog
trunk/src/dh-assistant-view.c
trunk/src/dh-book-tree.c
trunk/src/dh-link.c
trunk/src/dh-link.h
Modified: trunk/src/dh-assistant-view.c
==============================================================================
--- trunk/src/dh-assistant-view.c (original)
+++ trunk/src/dh-assistant-view.c Thu Feb 19 10:02:43 2009
@@ -169,6 +169,7 @@
gsize length;
gchar *key;
gsize key_length;
+ gsize offset = 0;
const gchar *start;
const gchar *end;
@@ -203,7 +204,10 @@
return;
}
- file = g_mapped_file_new (filename, FALSE, NULL);
+ if (g_str_has_prefix (filename, "file://"))
+ offset = 7;
+
+ file = g_mapped_file_new (filename + offset, FALSE, NULL);
if (!file) {
g_free (filename);
return;
@@ -326,7 +330,7 @@
* anchor links are handled internally in webkit.
*/
tmp = g_path_get_dirname (filename);
- base = g_strconcat ("file://", tmp, "/fake", NULL);
+ base = g_strconcat (tmp, "/fake", NULL);
g_free (tmp);
webkit_web_view_load_html_string (
Modified: trunk/src/dh-book-tree.c
==============================================================================
--- trunk/src/dh-book-tree.c (original)
+++ trunk/src/dh-book-tree.c Thu Feb 19 10:02:43 2009
@@ -245,22 +245,14 @@
FindURIData *data)
{
DhLink *link;
- const gchar *uri;
gchar *link_uri;
gtk_tree_model_get (model, iter,
COL_LINK, &link,
-1);
- /* A bit hackish, could be made more generic. */
- if (g_str_has_prefix (data->uri, "file://")) {
- uri = data->uri + 7;
- } else {
- uri = data->uri;
- }
-
link_uri = dh_link_get_uri (link);
- if (g_str_has_prefix (uri, link_uri)) {
+ if (g_str_has_prefix (data->uri, link_uri)) {
data->found = TRUE;
data->iter = *iter;
data->path = gtk_tree_path_copy (path);
Modified: trunk/src/dh-link.c
==============================================================================
--- trunk/src/dh-link.c (original)
+++ trunk/src/dh-link.c Thu Feb 19 10:02:43 2009
@@ -33,7 +33,7 @@
gchar *base;
gchar *name;
- gchar *uri;
+ gchar *filename;
DhLink *book;
DhLink *page;
@@ -64,7 +64,7 @@
g_free (link->base);
g_free (link->id);
g_free (link->name);
- g_free (link->uri);
+ g_free (link->filename);
if (link->book) {
dh_link_unref (link->book);
@@ -83,12 +83,12 @@
const gchar *name,
DhLink *book,
DhLink *page,
- const gchar *uri)
+ const gchar *filename)
{
DhLink *link;
g_return_val_if_fail (name != NULL, NULL);
- g_return_val_if_fail (uri != NULL, NULL);
+ g_return_val_if_fail (filename != NULL, NULL);
if (type == DH_LINK_TYPE_BOOK) {
g_return_val_if_fail (base != NULL, NULL);
@@ -110,7 +110,7 @@
}
link->name = g_strdup (name);
- link->uri = g_strdup (uri);
+ link->filename = g_strdup (filename);
if (book) {
link->book = dh_link_ref (book);
@@ -205,11 +205,16 @@
gchar *
dh_link_get_uri (DhLink *link)
{
- if (link->type == DH_LINK_TYPE_BOOK) {
- return g_strconcat (link->base, "/", link->uri, NULL);
- }
+ gchar *base, *uri;
+
+ if (link->type == DH_LINK_TYPE_BOOK)
+ base = link->base;
+ else
+ base = link->book->base;
+
+ uri = g_strconcat ("file://", base, "/", link->filename, NULL, NULL);
- return g_strconcat (link->book->base, "/", link->uri, NULL);
+ return uri;
}
DhLinkType
Modified: trunk/src/dh-link.h
==============================================================================
--- trunk/src/dh-link.h (original)
+++ trunk/src/dh-link.h Thu Feb 19 10:02:43 2009
@@ -51,7 +51,7 @@
const gchar *name,
DhLink *book,
DhLink *page,
- const gchar *uri);
+ const gchar *filename);
void dh_link_free (DhLink *link);
gint dh_link_compare (gconstpointer a,
gconstpointer b);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]