Replace gnome function to display XML help
authorHugo Villeneuve <hugo@hugovil.com>
Wed, 26 Mar 2014 01:43:39 +0000 (21:43 -0400)
committerHugo Villeneuve <hugo@hugovil.com>
Wed, 26 Mar 2014 22:53:54 +0000 (18:53 -0400)
Now using external browser using pre-generated HTML documentation.

Note: sections links in HTML document don't work yet.

src/Makefile.am
src/grip.c

index f61b266..3f12495 100644 (file)
@@ -9,6 +9,7 @@ AM_CPPFLAGS = \
     -DPREFIX=\""$(prefix)"\" \
     -DSYSCONFDIR=\""$(sysconfdir)"\" \
     -DDATADIR=\""$(datadir)"\" \
+    -DDOCDIR=\""$(docdir)"\" \
     -DLIBDIR=\""$(libdir)"\"
 
 bin_PROGRAMS = grip
index fb680b2..1183d87 100644 (file)
@@ -53,6 +53,7 @@ static void DoLoadConfig(GripInfo *ginfo);
 void DoSaveConfig(GripInfo *ginfo);
 
 #define GRIP_URL "http://www.hugovil.com/hvgrip"
+#define GRIP_HTML_DOC_URL "file://"DOCDIR"/grip.html"
 
 #define BASE_CFG_ENTRIES \
 {"grip_version",CFG_ENTRY_STRING,256,ginfo->version},\
@@ -479,12 +480,23 @@ void LogStatus(GripInfo *ginfo,char *fmt,...)
 static void DoHelp(GtkWidget *widget,gpointer data)
 {
   char *section;
+  char *uri;
 
   section=(char *)data;
 
-#ifdef CONVERSION_GNOME_TO_GTK
-  gnome_help_display("grip.xml",section,NULL);
-#endif
+  if (section) {
+    /*
+     * This doesn't work for the moment: the "#section" seems to be
+     * ignored by g_app_info_launch_default_for_uri().
+     */
+    uri = g_strdup_printf("%s#%s", GRIP_HTML_DOC_URL, section);
+  }
+  else {
+    uri = g_strdup_printf("%s", GRIP_HTML_DOC_URL);
+  }
+
+  g_app_info_launch_default_for_uri(uri, NULL, NULL);
+  g_free (uri);
 }
 
 static void MakeHelpPage(GripInfo *ginfo)