aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/misc/ChangeLog7
-rw-r--r--widgets/misc/e-multi-config-dialog.c14
-rw-r--r--widgets/misc/e-multi-config-dialog.h2
3 files changed, 23 insertions, 0 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog
index 27c1b9e1e4..19488aafa3 100644
--- a/widgets/misc/ChangeLog
+++ b/widgets/misc/ChangeLog
@@ -1,3 +1,10 @@
+2002-04-06 JP Rosevear <jpr@ximian.com>
+
+ * e-multi-config-dialog.c (e_multi_config_dialog_show_page): show
+ a specific page number
+
+ * e-multi-config-dialog.h: new proto
+
2002-03-29 Ettore Perazzoli <ettore@ximian.com>
* e-multi-config-dialog.c: Change the ETable specs so it doesn't
diff --git a/widgets/misc/e-multi-config-dialog.c b/widgets/misc/e-multi-config-dialog.c
index 7eaa3fc9fb..b0b7dceab5 100644
--- a/widgets/misc/e-multi-config-dialog.c
+++ b/widgets/misc/e-multi-config-dialog.c
@@ -464,5 +464,19 @@ e_multi_config_dialog_add_page (EMultiConfigDialog *dialog,
update_buttons (dialog);
}
+void
+e_multi_config_dialog_show_page (EMultiConfigDialog *dialog, int page)
+{
+ EMultiConfigDialogPrivate *priv;
+
+ g_return_if_fail (dialog != NULL);
+ g_return_if_fail (E_IS_MULTI_CONFIG_DIALOG (dialog));
+
+ priv = dialog->priv;
+
+ e_table_set_cursor_row (e_table_scrolled_get_table (E_TABLE_SCROLLED (priv->list_e_table)), page);
+ gtk_notebook_set_page (GTK_NOTEBOOK (priv->notebook), page);
+}
+
E_MAKE_TYPE (e_multi_config_dialog, "EMultiConfigDialog", EMultiConfigDialog, class_init, init, PARENT_TYPE)
diff --git a/widgets/misc/e-multi-config-dialog.h b/widgets/misc/e-multi-config-dialog.h
index a6ef12aad5..c6b10a3a9c 100644
--- a/widgets/misc/e-multi-config-dialog.h
+++ b/widgets/misc/e-multi-config-dialog.h
@@ -68,6 +68,8 @@ void e_multi_config_dialog_add_page (EMultiConfigDialog *dialog,
const char *description,
GdkPixbuf *icon,
EConfigPage *page);
+void e_multi_config_dialog_show_page (EMultiConfigDialog *dialog,
+ int page);
#ifdef __cplusplus
}