aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--help/C/epiphany.xml36
-rw-r--r--src/prefs-dialog.c50
-rw-r--r--src/window-commands.c1
4 files changed, 93 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 236b78321..6d7e2eaa6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2003-04-01 Patanjali Somayaji <patanjali@codito.com>
+
+ * help/C/epiphany.xml:
+ Added place holders for help text for preferences dialog
+ * src/prefs-dialog.c: added code to invoke appropriate help
+ * src/window_commands.c: added documenter credit
+
2003-03-31 Marco Pesenti Gritti <marco@it.gnome.org>
* lib/egg/eggtoolbar.c: (egg_toolbar_class_init),
diff --git a/help/C/epiphany.xml b/help/C/epiphany.xml
index 9b318b8ae..f6f5a79bd 100644
--- a/help/C/epiphany.xml
+++ b/help/C/epiphany.xml
@@ -191,6 +191,42 @@ long as they are non-obtrusive.
</para>
</sect1>
+<!-- ============= Settings =============================== -->
+
+ <sect1 id="ephy-preferences">
+ <title>Preferences Dialog</title>
+ <para>
+ Document the preferences dialog here
+ </para>
+
+ <sect2 id="ephy-preferences-appearance">
+ <title>Preferences - Appearance</title>
+ <para>
+ Document the preferences dialog - Appearance
+ </para>
+ </sect2>
+ <sect2 id="ephy-preferences-general">
+ <title>Preferences - General</title>
+ <para>
+ Document the preferences dialog - General
+ </para>
+ </sect2>
+ <sect2 id="ephy-preferences-ui">
+ <title>Preferences - UI</title>
+ <para>
+ Document the preferences dialog - UI
+ </para>
+ </sect2>
+ <sect2 id="ephy-preferences-advanced">
+ <title>Preferences - Advanced</title>
+ <para>
+ Document the preferences dialog - Advanced
+ </para>
+ </sect2>
+
+
+ </sect1>
+
<!-- ============= About ================================== -->
<sect1 id="fr-about">
<title>About &fr;</title>
diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c
index 94ff74c8c..70097f76c 100644
--- a/src/prefs-dialog.c
+++ b/src/prefs-dialog.c
@@ -38,6 +38,8 @@
#include <gtk/gtkimage.h>
#include <gtk/gtklabel.h>
#include <gtk/gtkstock.h>
+#include <gtk/gtkmessagedialog.h>
+#include <libgnome/gnome-help.h>
static void
prefs_dialog_class_init (PrefsDialogClass *klass);
@@ -236,13 +238,58 @@ prefs_dialog_show_page (PrefsDialog *pd,
gtk_notebook_set_current_page (GTK_NOTEBOOK (pd->priv->notebook), id);
}
+static void
+prefs_dialog_show_help (PrefsDialog *pd)
+{
+ GError *err;
+ gint id;
+ err = NULL;
+ gchar *help_preferences[] = {
+ "ephy-preferences-appearance",
+ "ephy-preferences-general",
+ "ephy-preferences-ui",
+ "ephy-preferences-advanced"
+ };
+
+ id = gtk_notebook_get_current_page (GTK_NOTEBOOK (pd->priv->notebook));
+
+ gnome_help_display ("epiphany", help_preferences [id], &err);
+ if (err != NULL)
+ {
+ GtkWidget *err_dialog;
+ err_dialog = gtk_message_dialog_new (
+ GTK_WINDOW (pd),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ _("Could not display help: %s"),
+ err->message);
+
+ g_signal_connect (G_OBJECT (err_dialog), "response",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
+ gtk_window_set_resizable (GTK_WINDOW (err_dialog),
+ FALSE);
+ gtk_widget_show (err_dialog);
+ g_error_free (err);
+ }
+}
+
static void
prefs_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer data)
{
+ GError *err;
+
if (response_id == GTK_RESPONSE_CLOSE)
{
gtk_widget_destroy (GTK_WIDGET(dialog));
+ }
+ else if (response_id == GTK_RESPONSE_HELP)
+ {
+ PrefsDialog *pd = (PrefsDialog *)data;
+ prefs_dialog_show_help (pd);
}
+
}
static void
@@ -268,9 +315,10 @@ prefs_build_notebook (PrefsDialog *pd)
gtk_dialog_add_button (GTK_DIALOG (pd), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
+ gtk_dialog_add_button (GTK_DIALOG (pd), GTK_STOCK_HELP, GTK_RESPONSE_HELP);
g_signal_connect (pd, "response",
G_CALLBACK (prefs_dialog_response_cb),
- NULL);
+ pd);
gtk_container_set_border_width (GTK_CONTAINER (pd), 5);
diff --git a/src/window-commands.c b/src/window-commands.c
index fbb42dfa0..6d65a04c6 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -708,6 +708,7 @@ window_cmd_help_about (EggAction *action,
};
gchar *documenters[] = {
+ "Patanjali Somayaji <patanjali@codito.com>",
NULL
};