diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | help/C/epiphany.xml | 36 | ||||
-rw-r--r-- | src/prefs-dialog.c | 50 | ||||
-rw-r--r-- | src/window-commands.c | 1 |
4 files changed, 93 insertions, 1 deletions
@@ -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 }; |