diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | data/glade/epiphany.glade | 16 | ||||
-rwxr-xr-x | src/pdm-dialog.c | 45 | ||||
-rw-r--r-- | src/prefs-dialog.c | 2 |
4 files changed, 68 insertions, 6 deletions
@@ -1,5 +1,16 @@ 2003-06-17 Christian Persch <chpe@cvs.gnome.org> + * src/prefs-dialog.c: + + Fix wrong cast of GtkDialog to GtkWindow. + + * data/glade/epiphany.glade: + * src/pdm-dialog.c: (pdm_dialog_show_help), (pdm_dialog_response_cb): + + Implement help button for pdm dialogue. + +2003-06-17 Christian Persch <chpe@cvs.gnome.org> + * embed/find-dialog.c: (sync_page_change), (unset_old_embed), (sync_embed), (find_dialog_init), (find_dialog_finalize): diff --git a/data/glade/epiphany.glade b/data/glade/epiphany.glade index 135c6540d..4ec1fb0f7 100644 --- a/data/glade/epiphany.glade +++ b/data/glade/epiphany.glade @@ -726,6 +726,7 @@ <property name="resizable">True</property> <property name="destroy_with_parent">False</property> <property name="has_separator">False</property> + <signal name="response" handler="pdm_dialog_response_cb" last_modification_time="Tue, 17 Jun 2003 22:37:44 GMT"/> <child internal-child="vbox"> <widget class="GtkVBox" id="dialog-vbox27"> @@ -739,6 +740,18 @@ <property name="layout_style">GTK_BUTTONBOX_END</property> <child> + <widget class="GtkButton" id="help_button"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-help</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="response_id">-11</property> + </widget> + </child> + + <child> <widget class="GtkButton" id="closebutton1"> <property name="visible">True</property> <property name="can_default">True</property> @@ -747,7 +760,6 @@ <property name="use_stock">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> <property name="response_id">-7</property> - <signal name="clicked" handler="pdm_dialog_close_button_clicked_cb" last_modification_time="Mon, 17 Jun 2002 11:00:39 GMT"/> </widget> </child> </widget> @@ -760,7 +772,7 @@ </child> <child> - <widget class="GtkNotebook" id="notebook3"> + <widget class="GtkNotebook" id="pdm_notebook"> <property name="border_width">5</property> <property name="visible">True</property> <property name="can_focus">True</property> diff --git a/src/pdm-dialog.c b/src/pdm-dialog.c index c7119b065..f6370f419 100755 --- a/src/pdm-dialog.c +++ b/src/pdm-dialog.c @@ -79,6 +79,8 @@ struct PdmDialogPrivate enum { + PROP_WINDOW, + PROP_NOTEBOOK, PROP_COOKIES_TREEVIEW, PROP_COOKIES_REMOVE, PROP_PASSWORDS_TREEVIEW, @@ -104,6 +106,9 @@ enum static const EphyDialogProperty properties [] = { + { PROP_WINDOW, "pdm_dialog", NULL, PT_NORMAL, NULL }, + { PROP_NOTEBOOK, "pdm_notebook", NULL, PT_NORMAL, NULL }, + { PROP_COOKIES_TREEVIEW, "cookies_treeview", NULL, PT_NORMAL, NULL }, { PROP_COOKIES_REMOVE, "cookies_remove_button", NULL, PT_NORMAL, NULL }, { PROP_PASSWORDS_TREEVIEW, "passwords_treeview", NULL, PT_NORMAL, NULL }, @@ -154,6 +159,32 @@ pdm_dialog_class_init (PdmDialogClass *klass) } static void +pdm_dialog_show_help (PdmDialog *pd) +{ + GtkWidget *notebook, *window; + gint id; + + /* FIXME: Once we actually have documentation we + * should point these at the correct links. + */ + gchar *help_preferences[] = { + "pdm", + "pdm" + }; + + window = ephy_dialog_get_control (EPHY_DIALOG (pd), PROP_WINDOW); + g_return_if_fail (GTK_IS_WINDOW (window)); + + notebook = ephy_dialog_get_control (EPHY_DIALOG (pd), PROP_NOTEBOOK); + g_return_if_fail (notebook != NULL); + + id = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook)); + g_assert (id == 0 || id == 1); + + ephy_gui_help (GTK_WINDOW (window), "epiphany", help_preferences[id]); +} + +static void cookies_treeview_selection_changed_cb (GtkTreeSelection *selection, PdmDialog *dialog) { @@ -708,8 +739,16 @@ pdm_dialog_cookies_properties_button_clicked_cb (GtkWidget *button, } void -pdm_dialog_close_button_clicked_cb (GtkWidget *button, - PdmDialog *dialog) +pdm_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer data) { - g_object_unref (dialog); + if (response_id == GTK_RESPONSE_CLOSE) + { + gtk_widget_destroy (GTK_WIDGET(dialog)); + } + else if (response_id == GTK_RESPONSE_HELP) + { + g_return_if_fail (IS_PDM_DIALOG (data)); + + pdm_dialog_show_help (PDM_DIALOG (data)); + } } diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c index 48a5dc5cd..7b982e96f 100644 --- a/src/prefs-dialog.c +++ b/src/prefs-dialog.c @@ -414,7 +414,7 @@ prefs_dialog_show_help (PrefsDialog *pd) id = gtk_notebook_get_current_page (GTK_NOTEBOOK (pd->priv->notebook)); - ephy_gui_help (GTK_WINDOW (pd), "epiphany", help_preferences[id]); + ephy_gui_help (GTK_WINDOW (pd->priv->window), "epiphany", help_preferences[id]); } static const gchar * |