aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ephy-gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ephy-gui.c')
-rw-r--r--lib/ephy-gui.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/ephy-gui.c b/lib/ephy-gui.c
index ead789762..431b1cea2 100644
--- a/lib/ephy-gui.c
+++ b/lib/ephy-gui.c
@@ -22,7 +22,9 @@
#include <ctype.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
+#include <libgnome/gnome-help.h>
#include <gtk/gtktreemodel.h>
+#include <gtk/gtkmessagedialog.h>
/* Styles for tab labels */
GtkStyle *loading_text_style = NULL;
@@ -146,3 +148,29 @@ ephy_gui_confirm_overwrite_file (GtkWidget *parent, const char *filename)
return res;
}
+
+void
+ephy_gui_help (GtkWindow *parent,
+ const char *file_name,
+ const char *link_id)
+{
+ GError *err = NULL;
+
+ gnome_help_display (file_name, link_id, &err);
+
+ if (err != NULL)
+ {
+ GtkWidget *dialog;
+ dialog = gtk_message_dialog_new (parent,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("Could not display help: %s"), err->message);
+ g_signal_connect (G_OBJECT (dialog), "response",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
+ gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
+ gtk_widget_show (dialog);
+ g_error_free (err);
+ }
+}