X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fhelp-menu.c;h=9d1ccf8246297243ef4a58c210dadbf1e086f22f;hb=fc01177a9fccd839df87c5784abec33b69b4019c;hp=aaadefc2b36b0c60c21545ed88565f962b69adea;hpb=333ac49429e7cbdd331907918725a2a386a9bcb3;p=pspp diff --git a/src/ui/gui/help-menu.c b/src/ui/gui/help-menu.c index aaadefc2b3..9d1ccf8246 100644 --- a/src/ui/gui/help-menu.c +++ b/src/ui/gui/help-menu.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2006, 2007, 2010 Free Software Foundation + Copyright (C) 2006, 2007, 2010, 2011, 2012 Free Software Foundation This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -46,10 +46,9 @@ about_new (GtkMenuItem *m, GtkWindow *parent) gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (about), pb); - gtk_window_set_icon_name (GTK_WINDOW (about), "psppicon"); + gtk_window_set_icon_name (GTK_WINDOW (about), "pspp"); - gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (about), - "http://www.gnu.org/software/pspp"); + gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (about), PACKAGE_URL); gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (about), bare_version); @@ -86,25 +85,42 @@ about_new (GtkMenuItem *m, GtkWindow *parent) gtk_widget_hide (about); } - -static void -reference_manual (GtkMenuItem *menu, gpointer data) +/* Open the manual at PAGE */ +void +online_help (const char *page) { GError *err = NULL; - gchar *cmd = g_strdup_printf ("yelp file://%s", relocate (DOCDIR "/pspp.xml")); + gchar *cmd = NULL; - if ( ! g_spawn_command_line_async (cmd, &err) ) + gchar *argv[3] = { "yelp", 0, 0}; + + if (page == NULL) + argv[1] = g_strdup_printf ("file://%s", relocate (DOCDIR "/pspp.xml")); + else + argv[1] = g_strdup_printf ("file://%s#%s", relocate (DOCDIR "/pspp.xml"), page); + + if (! g_spawn_async (NULL, argv, + NULL, G_SPAWN_SEARCH_PATH, + NULL, NULL, NULL, &err)) { msg (ME, _("Cannot open reference manual: %s. The PSPP user manual is " "also available at %s"), err->message, - "http://www.gnu.org/software/pspp/documentation.html"); + PACKAGE_URL "documentation.html"); } g_free (cmd); g_clear_error (&err); } +static void +reference_manual (GtkMenuItem *menu, gpointer data) +{ + online_help (NULL); +} + + + void merge_help_menu (GtkUIManager *uim) {