[evolution] e-config: Remove unused functions.



commit 79f9fe7f770b95600d4997267e3ed2416523387e
Author: Matthew Barnes <mbarnes redhat com>
Date:   Sun Dec 16 17:22:42 2012 -0500

    e-config: Remove unused functions.
    
    e_config_add_skip_check()
    e_config_class_remove_factory()
    e_config_create_window()
    e_config_page_get()
    e_config_page_next()
    e_config_page_prev()
    e_config_set_page_is_finish()
    
    Also remove E_CONFIG_ASSISTANT and all the assistant support therein.

 addressbook/gui/widgets/eab-config.c         |    5 +-
 addressbook/gui/widgets/eab-config.h         |    2 +-
 calendar/gui/e-cal-config.c                  |    5 +-
 calendar/gui/e-cal-config.h                  |    3 +-
 doc/reference/libeutil/libeutil-sections.txt |    7 -
 e-util/e-config.c                            |  741 +-------------------------
 e-util/e-config.h                            |   37 --
 mail/em-config.c                             |    5 +-
 mail/em-config.h                             |    3 +-
 mail/em-folder-properties.c                  |    3 +-
 modules/calendar/e-calendar-preferences.c    |    3 +-
 modules/mail/em-composer-prefs.c             |    3 +-
 modules/mail/em-mailer-prefs.c               |    3 +-
 modules/mail/em-network-prefs.c              |    3 +-
 14 files changed, 40 insertions(+), 783 deletions(-)
---
diff --git a/addressbook/gui/widgets/eab-config.c b/addressbook/gui/widgets/eab-config.c
index 0a1e7ab..ad15f1c 100644
--- a/addressbook/gui/widgets/eab-config.c
+++ b/addressbook/gui/widgets/eab-config.c
@@ -124,11 +124,10 @@ eab_config_class_init (EABConfigClass *class)
 }
 
 EABConfig *
-eab_config_new (gint type,
-                const gchar *menuid)
+eab_config_new (const gchar *menuid)
 {
 	EABConfig *ecp = g_object_new (eab_config_get_type (), NULL);
-	e_config_construct (&ecp->config, type, menuid);
+	e_config_construct (&ecp->config, menuid);
 	return ecp;
 }
 
diff --git a/addressbook/gui/widgets/eab-config.h b/addressbook/gui/widgets/eab-config.h
index 83c08b4..55612ec 100644
--- a/addressbook/gui/widgets/eab-config.h
+++ b/addressbook/gui/widgets/eab-config.h
@@ -72,7 +72,7 @@ struct _EABConfigTargetPrefs {
 typedef struct _EConfigItem EABConfigItem;
 
 GType eab_config_get_type (void);
-EABConfig *eab_config_new (gint type, const gchar *menuid);
+EABConfig *eab_config_new (const gchar *menuid);
 
 EABConfigTargetSource *eab_config_target_new_source (EABConfig *ecp, ESource *source);
 EABConfigTargetPrefs *eab_config_target_new_prefs (EABConfig *ecp, GSettings *settings);
diff --git a/calendar/gui/e-cal-config.c b/calendar/gui/e-cal-config.c
index 0f65bd6..74f6db6 100644
--- a/calendar/gui/e-cal-config.c
+++ b/calendar/gui/e-cal-config.c
@@ -126,11 +126,10 @@ e_cal_config_init (ECalConfig *cfg)
 }
 
 ECalConfig *
-e_cal_config_new (gint type,
-                  const gchar *menuid)
+e_cal_config_new (const gchar *menuid)
 {
 	ECalConfig *ecp = g_object_new (e_cal_config_get_type (), NULL);
-	e_config_construct (&ecp->config, type, menuid);
+	e_config_construct (&ecp->config, menuid);
 	return ecp;
 }
 
diff --git a/calendar/gui/e-cal-config.h b/calendar/gui/e-cal-config.h
index e6db09a..62ccf7b 100644
--- a/calendar/gui/e-cal-config.h
+++ b/calendar/gui/e-cal-config.h
@@ -86,8 +86,7 @@ struct _ECalConfigTargetPrefs {
 typedef struct _EConfigItem ECalConfigItem;
 
 GType		e_cal_config_get_type (void);
-ECalConfig *	e_cal_config_new		(gint type,
-						 const gchar *menuid);
+ECalConfig *	e_cal_config_new		(const gchar *menuid);
 ECalConfigTargetSource *
 		e_cal_config_target_new_source	(ECalConfig *ecp,
 						 ESource *source);
diff --git a/doc/reference/libeutil/libeutil-sections.txt b/doc/reference/libeutil/libeutil-sections.txt
index 05194a8..61504a2 100644
--- a/doc/reference/libeutil/libeutil-sections.txt
+++ b/doc/reference/libeutil/libeutil-sections.txt
@@ -1271,20 +1271,13 @@ EConfigCheckFunc
 EConfigItemsFunc
 EConfigItemFactoryFunc
 e_config_class_add_factory
-e_config_class_remove_factory
 e_config_construct
 e_config_add_items
 e_config_add_page_check
-e_config_set_page_is_finish
-e_config_add_skip_check
 e_config_set_target
 e_config_create_widget
-e_config_create_window
 e_config_target_changed
 e_config_page_check
-e_config_page_get
-e_config_page_next
-e_config_page_prev
 e_config_abort
 e_config_commit
 e_config_target_new
diff --git a/e-util/e-config.c b/e-util/e-config.c
index fc30eea..88ec69a 100644
--- a/e-util/e-config.c
+++ b/e-util/e-config.c
@@ -90,8 +90,6 @@ struct _EConfigPrivate {
 	GList *menus;
 	GList *widgets;
 	GList *checks;
-	GList *finish_pages;
-	GHashTable *skip_checks;
 };
 
 static GtkWidget *
@@ -165,18 +163,6 @@ config_finalize (GObject *object)
 
 	g_list_free_full (priv->checks, (GDestroyNotify) check_node_free);
 
-	link = priv->finish_pages;
-	while (link != NULL) {
-		struct _finish_page_node *node = link->data;
-
-		g_free (node->pageid);
-		g_free (node);
-
-		link = g_list_delete_link (link, link);
-	}
-
-	g_hash_table_destroy (priv->skip_checks);
-
 	/* Chain up to parent's finalize() method. */
 	G_OBJECT_CLASS (e_config_parent_class)->finalize (object);
 }
@@ -235,19 +221,11 @@ static void
 e_config_init (EConfig *config)
 {
 	config->priv = E_CONFIG_GET_PRIVATE (config);
-
-	config->priv->skip_checks = g_hash_table_new_full (
-		(GHashFunc) g_str_hash,
-		(GEqualFunc) g_str_equal,
-		(GDestroyNotify) NULL,
-		(GDestroyNotify) check_node_free);
 }
 
 /**
  * e_config_construct:
  * @ep: The instance to initialise.
- * @type: The type of configuration manager, @E_CONFIG_BOOK or
- * @E_CONFIG_ASSISTANT.
  * @id: The name of the configuration window this manager drives.
  *
  * Used by implementing classes to initialise base parameters.
@@ -256,12 +234,8 @@ e_config_init (EConfig *config)
  **/
 EConfig *
 e_config_construct (EConfig *ep,
-                    gint type,
                     const gchar *id)
 {
-	g_return_val_if_fail (type == E_CONFIG_BOOK || type == E_CONFIG_ASSISTANT, NULL);
-
-	ep->type = type;
 	ep->id = g_strdup (id);
 
 	return ep;
@@ -331,91 +305,6 @@ e_config_add_page_check (EConfig *ec,
 	ec->priv->checks = g_list_append (ec->priv->checks, cn);
 }
 
-/**
- * e_config_add_skip_check:
- * @config: an #EConfig
- * @pageid: the page ID for the skip page callback
- * @func: the skip page callback function
- * @data: data to pass to the callback function
- *
- * Adds a callback function to decide whether to skip the page in a
- * GtkAssistant, useful if the page is blank in certain conditions.
- *
- * The callback function should return %TRUE if the page should be
- * skipped, or %FALSE if the page should be visited.
- **/
-void
-e_config_add_skip_check (EConfig *config,
-                         const gchar *pageid,
-                         EConfigCheckFunc func,
-                         gpointer data)
-{
-	struct _check_node *cn;
-
-	g_return_if_fail (E_IS_CONFIG (config));
-	g_return_if_fail (pageid != NULL);
-	g_return_if_fail (func != NULL);
-
-	cn = g_slice_new0 (struct _check_node);
-	cn->pageid = g_strdup (pageid);
-	cn->func = func;
-	cn->data = data;
-
-	g_hash_table_insert (config->priv->skip_checks, cn->pageid, cn);
-}
-
-static struct _finish_page_node *
-find_page_finish (EConfig *config,
-                  const gchar *pageid)
-{
-	GList *link;
-
-	link = config->priv->finish_pages;
-
-	while (link != NULL) {
-		struct _finish_page_node *node = link->data;
-
-		if (g_str_equal (node->pageid, pageid))
-			return node;
-
-		link = g_list_next (link);
-	}
-
-	return NULL;
-}
-
-/**
- * e_config_set_page_is_finish:
- * @ec: Initialised implementing instance of EConfig.
- * @pageid: pageid to change the value on.
- * @can_finish: whether the pageid can finish immediately or not.
- *
- * With is_finish set on the pageid the page is treated as the last page in an assistant.
- **/
-void
-e_config_set_page_is_finish (EConfig *ec,
-                             const gchar *pageid,
-                             gboolean is_finish)
-{
-	struct _finish_page_node *fp;
-
-	fp = find_page_finish (ec, pageid);
-
-	if (is_finish) {
-		if (!fp) {
-			fp = g_malloc0 (sizeof (*fp));
-			fp->pageid = g_strdup (pageid);
-			ec->priv->finish_pages = g_list_append (
-				ec->priv->finish_pages, fp);
-		}
-
-		fp->is_finish = TRUE;
-	} else {
-		if (fp)
-			fp->is_finish = FALSE;
-	}
-}
-
 static void
 ec_add_static_items (EConfig *config)
 {
@@ -441,193 +330,6 @@ ep_cmp (gconstpointer ap,
 	return strcmp (a->item->path, b->item->path);
 }
 
-static GList *
-ec_assistant_find_page (EConfig *ec,
-                        GtkWidget *page,
-                        gint *page_index)
-{
-	struct _widget_node *node = NULL;
-	GList *link;
-
-	g_return_val_if_fail (ec != NULL, NULL);
-	g_return_val_if_fail (GTK_IS_ASSISTANT (ec->widget), NULL);
-	g_return_val_if_fail (page != NULL, NULL);
-
-	/* Assume failure, then if we do fail we can just return. */
-	if (page_index != NULL)
-		*page_index = -1;
-
-	/* Find the page widget in our sorted widget node list. */
-	for (link = ec->priv->widgets; link != NULL; link = link->next) {
-		node = link->data;
-
-		if (node->frame != page)
-			continue;
-
-		if (node->item->type == E_CONFIG_PAGE)
-			break;
-
-		if (node->item->type == E_CONFIG_PAGE_START)
-			break;
-
-		if (node->item->type == E_CONFIG_PAGE_FINISH)
-			break;
-
-		if (node->item->type == E_CONFIG_PAGE_PROGRESS)
-			break;
-	}
-
-	/* FAIL: The widget is not in our list. */
-	if (link == NULL)
-		return NULL;
-
-	/* Find the corresponding GtkAssistant page index. */
-	if (page_index) {
-		GtkAssistant *assistant;
-		GtkWidget *nth_page;
-		gint ii, n_pages;
-
-		assistant = GTK_ASSISTANT (ec->widget);
-		n_pages = gtk_assistant_get_n_pages (assistant);
-
-		for (ii = 0; ii < n_pages; ii++) {
-			nth_page = gtk_assistant_get_nth_page (assistant, ii);
-			if (page == nth_page) {
-				*page_index = ii;
-				break;
-			}
-		}
-
-		g_warn_if_fail (ii < n_pages);
-	}
-
-	return link;
-}
-
-static void
-ec_assistant_check_current (EConfig *ec)
-{
-	struct _widget_node *wn;
-	struct _finish_page_node *fp;
-	GtkAssistant *assistant;
-	GtkWidget *page;
-	GList *link;
-	gint page_no;
-
-	g_return_if_fail (GTK_IS_ASSISTANT (ec->widget));
-
-	assistant = GTK_ASSISTANT (ec->widget);
-	page_no = gtk_assistant_get_current_page (assistant);
-
-	/* no page selected yet */
-	if (page_no == -1)
-		return;
-
-	page = gtk_assistant_get_nth_page (assistant, page_no);
-	g_return_if_fail (page != NULL);
-
-	link = ec_assistant_find_page (ec, page, NULL);
-	g_return_if_fail (link != NULL);
-	wn = link->data;
-
-	/* this should come first, as the check function can change the finish state of the page */
-	gtk_assistant_set_page_complete (assistant, page, e_config_page_check (ec, wn->item->path));
-
-	fp = find_page_finish (ec, wn->item->path);
-	if (fp) {
-		GtkAssistantPageType pt = gtk_assistant_get_page_type (assistant, page);
-
-		if (fp->is_finish && pt != GTK_ASSISTANT_PAGE_CONFIRM) {
-			if (fp->orig_type == GTK_ASSISTANT_PAGE_CONTENT)
-				fp->orig_type = pt;
-			gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONFIRM);
-		} else if (!fp->is_finish && pt != fp->orig_type) {
-			gtk_assistant_set_page_type (assistant, page, fp->orig_type);
-		}
-	}
-
-	gtk_assistant_update_buttons_state (assistant);
-}
-
-static gboolean
-ec_assistant_skip_page (EConfig *config,
-                        struct _widget_node *wn)
-{
-	struct _check_node *cn;
-	gboolean skip_page = FALSE;
-
-	g_return_val_if_fail (wn->item->path != NULL, FALSE);
-	cn = g_hash_table_lookup (config->priv->skip_checks, wn->item->path);
-
-	if (cn != NULL) {
-		g_return_val_if_fail (cn->func != NULL, FALSE);
-		skip_page = cn->func (config, wn->item->path, cn->data);
-	}
-
-	return skip_page;
-}
-
-static gint
-ec_assistant_forward (gint current_page,
-                      gpointer user_data)
-{
-	GtkAssistant *assistant;
-	EConfig *ec = user_data;
-	struct _widget_node *node;
-	GtkWidget *page_widget;
-	GList *link = NULL;
-	gint next_page;
-
-	/* As far as we're concerned, the GtkAssistant is just an unordered
-	 * collection of pages.  Our sorted list of widget nodes determines
-	 * the next page. */
-
-	assistant = GTK_ASSISTANT (ec->widget);
-	page_widget = gtk_assistant_get_nth_page (assistant, current_page);
-	link = ec_assistant_find_page (ec, page_widget, NULL);
-
-	g_return_val_if_fail (link != NULL, -1);
-	node = (struct _widget_node *) link->data;
-
-	/* If we're already on a FINISH page then we're done. */
-	if (node->item->type == E_CONFIG_PAGE_FINISH)
-		return -1;
-
-	/* Find the next E_CONFIG_PAGE* type node. */
-	for (link = link->next; link != NULL; link = link->next) {
-		gboolean node_is_page;
-
-		node = (struct _widget_node *) link->data;
-
-		if (node->empty || node->frame == NULL)
-			continue;
-
-		switch (node->item->type) {
-			case E_CONFIG_PAGE:
-			case E_CONFIG_PAGE_START:
-			case E_CONFIG_PAGE_FINISH:
-			case E_CONFIG_PAGE_PROGRESS:
-				node_is_page = TRUE;
-				break;
-			default:
-				node_is_page = FALSE;
-				break;
-		}
-
-		if (node_is_page && !ec_assistant_skip_page (ec, node))
-			break;
-	}
-
-	/* Find the corresponding GtkAssistant page number. */
-	if (link != NULL) {
-		node = (struct _widget_node *) link->data;
-		ec_assistant_find_page (ec, node->frame, &next_page);
-	} else
-		next_page = -1;
-
-	return next_page;
-}
-
 static void
 ec_widget_destroyed (GtkWidget *widget,
                      struct _widget_node *node)
@@ -643,11 +345,9 @@ ec_rebuild (EConfig *emp)
 {
 	EConfigPrivate *p = emp->priv;
 	struct _widget_node *sectionnode = NULL, *pagenode = NULL;
-	GtkWidget *book = NULL, *page = NULL, *section = NULL, *root = NULL, *assistant = NULL;
+	GtkWidget *book = NULL, *page = NULL, *section = NULL, *root = NULL;
 	gint pageno = 0, sectionno = 0, itemno = 0;
 	gint n_visible_widgets = 0;
-	GList *last_active_link = NULL;
-	gboolean is_assistant;
 	GList *link;
 
 	d (printf ("target changed, rebuilding:\n"));
@@ -658,25 +358,6 @@ ec_rebuild (EConfig *emp)
 	 * duplication */
 
 	/* because rebuild destroys pages, and destroying active page causes crashes */
-	is_assistant = GTK_IS_ASSISTANT (emp->widget);
-	if (is_assistant) {
-		GtkAssistant *assistant;
-		gint page_index;
-
-		assistant = GTK_ASSISTANT (emp->widget);
-		page_index = gtk_assistant_get_current_page (assistant);
-
-		if (page_index != -1) {
-			GtkWidget *nth_page;
-
-			nth_page = gtk_assistant_get_nth_page (
-				GTK_ASSISTANT (emp->widget), page_index);
-			last_active_link = ec_assistant_find_page (
-				emp, nth_page, NULL);
-		}
-		gtk_assistant_set_current_page (GTK_ASSISTANT (emp->widget), 0);
-	}
-
 	for (link = p->widgets; link != NULL; link = g_list_next (link)) {
 		struct _widget_node *wn = link->data;
 		struct _EConfigItem *item = wn->item;
@@ -692,9 +373,6 @@ ec_rebuild (EConfig *emp)
 		if (sectionnode != NULL
 		    && sectionnode->frame != NULL
 		    && (item->type == E_CONFIG_PAGE
-			|| item->type == E_CONFIG_PAGE_START
-			|| item->type == E_CONFIG_PAGE_FINISH
-			|| item->type == E_CONFIG_PAGE_PROGRESS
 			|| item->type == E_CONFIG_SECTION
 			|| item->type == E_CONFIG_SECTION_TABLE)) {
 			if ((sectionnode->empty = (itemno == 0 || n_visible_widgets == 0))) {
@@ -719,10 +397,7 @@ ec_rebuild (EConfig *emp)
 		/* If the last page doesn't contain anything, hide it */
 		if (pagenode != NULL
 		    && pagenode->frame != NULL
-		    && (item->type == E_CONFIG_PAGE
-			|| item->type == E_CONFIG_PAGE_START
-			|| item->type == E_CONFIG_PAGE_FINISH
-			|| item->type == E_CONFIG_PAGE_PROGRESS)) {
+		    && item->type == E_CONFIG_PAGE) {
 			if ((pagenode->empty = sectionno == 0)) {
 				gtk_widget_hide (pagenode->frame);
 				pageno--;
@@ -734,53 +409,22 @@ ec_rebuild (EConfig *emp)
 		/* Now process the item */
 		switch (item->type) {
 		case E_CONFIG_BOOK:
-		case E_CONFIG_ASSISTANT:
-			/* Only one of BOOK or ASSISTANT may be define, it
-			 * is used by the defining code to mark the
-			 * type of the config window.  It is
-			 * cross-checked with the code's defined
-			 * type. */
+			/* This is used by the defining code to mark the
+			 * type of the config window.  It is cross-checked
+			 * with the code's defined type. */
 			if (root != NULL) {
-				g_warning ("EConfig book/assistant redefined at: %s", item->path);
+				g_warning ("EConfig book redefined at: %s", item->path);
 				break;
 			}
 
 			if (wn->widget == NULL) {
-				if (item->type != emp->type) {
-					g_warning ("EConfig book/assistant type mismatch");
-					break;
-				}
 				if (item->factory) {
 					root = item->factory (
 						emp, item, NULL, wn->widget,
 						0, wn->context->data);
-				} else if (item->type == E_CONFIG_BOOK) {
+				} else {
 					root = gtk_notebook_new ();
 					gtk_widget_show (root);
-				} else if (item->type == E_CONFIG_ASSISTANT) {
-					root = gtk_assistant_new ();
-				} else
-					abort ();
-
-				if (item->type == E_CONFIG_ASSISTANT) {
-					g_signal_connect_swapped (
-						root, "apply",
-						G_CALLBACK (e_config_commit), emp);
-					g_signal_connect_swapped (
-						root, "cancel",
-						G_CALLBACK (e_config_abort), emp);
-					g_signal_connect (
-						root, "cancel",
-						G_CALLBACK (gtk_widget_destroy), emp);
-					g_signal_connect (
-						root, "close",
-						G_CALLBACK (gtk_widget_destroy), NULL);
-					g_signal_connect_swapped (
-						root, "prepare",
-						G_CALLBACK (ec_assistant_check_current), emp);
-					gtk_assistant_set_forward_page_func (
-						GTK_ASSISTANT (root),
-						ec_assistant_forward, emp, NULL);
 				}
 
 				emp->widget = root;
@@ -789,10 +433,7 @@ ec_rebuild (EConfig *emp)
 				root = wn->widget;
 			}
 
-			if (item->type == E_CONFIG_BOOK)
-				book = root;
-			else
-				assistant = root;
+			book = root;
 
 			page = NULL;
 			pagenode = NULL;
@@ -801,129 +442,32 @@ ec_rebuild (EConfig *emp)
 			pageno = 0;
 			sectionno = 0;
 			break;
-		case E_CONFIG_PAGE_START:
-		case E_CONFIG_PAGE_FINISH:
-			if (root == NULL) {
-				g_warning ("EConfig page defined before container widget: %s", item->path);
-				break;
-			}
-			if (emp->type != E_CONFIG_ASSISTANT) {
-				g_warning ("EConfig assistant start/finish pages can't be used on E_CONFIG_BOOKs");
-				break;
-			}
-
-			if (wn->widget == NULL) {
-				if (item->factory) {
-					page = item->factory (
-						emp, item, root, wn->frame,
-						pageno, wn->context->data);
-				} else {
-					page = gtk_vbox_new (FALSE, 0);
-					gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-					if (pagenode) {
-						/* put after */
-						gint index = -1;
-						ec_assistant_find_page (emp, pagenode->frame, &index);
-						gtk_assistant_insert_page (GTK_ASSISTANT (assistant), page, index + 1);
-					} else {
-						gtk_assistant_prepend_page (GTK_ASSISTANT (assistant), page);
-					}
-
-					gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, item->type == E_CONFIG_PAGE_START ? GTK_ASSISTANT_PAGE_INTRO : GTK_ASSISTANT_PAGE_CONFIRM);
-					gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, translated_label);
-					gtk_widget_show_all (page);
-				}
-
-				if (wn->widget != NULL && wn->widget != page) {
-					gtk_widget_destroy (wn->widget);
-				}
-
-				wn->frame = page;
-				wn->widget = page;
-
-				if (page) {
-					const gchar *empty_xpm_img[] = {
-						"75 1 2 1",
-						"	c None",
-						".	c #FFFFFF",
-						"                                                                           "};
-
-					/* left side place with a blue background on a start and finish page */
-					GdkPixbuf *spacer = gdk_pixbuf_new_from_xpm_data (empty_xpm_img);
-
-					gtk_assistant_set_page_side_image (GTK_ASSISTANT (assistant), page, spacer);
-
-					g_object_unref (spacer);
-				}
-			}
-
-			pageno++;
-			page = NULL;
-			pagenode = wn; /* need this for previous page linking */
-			section = NULL;
-			sectionnode = NULL;
-			sectionno = 1; /* never want to hide these */
-			break;
 		case E_CONFIG_PAGE:
-		case E_CONFIG_PAGE_PROGRESS:
-			/* CONFIG_PAGEs depend on the config type.
-			 * E_CONFIG_BOOK:
-				The page is a VBox, stored in the notebook.
-			 * E_CONFIG_ASSISTANT
-				The page is a VBox, stored in the GtkAssistant,
-				any sections automatically added inside it. */
+			/* The page is a VBox, stored in the notebook. */
 			sectionno = 0;
 			if (root == NULL) {
 				g_warning ("EConfig page defined before container widget: %s", item->path);
 				break;
 			}
-			if (item->type == E_CONFIG_PAGE_PROGRESS &&
-			    emp->type != E_CONFIG_ASSISTANT) {
-				g_warning ("EConfig assistant progress pages can't be used on E_CONFIG_BOOKs");
-				break;
-			}
 
 			if (item->factory) {
 				page = item->factory (
 					emp, item, root, wn->frame,
 					pageno, wn->context->data);
-				if (emp->type == E_CONFIG_ASSISTANT) {
 					wn->frame = page;
-				} else {
-					wn->frame = page;
-					if (page)
-						gtk_notebook_reorder_child ((GtkNotebook *) book, page, pageno);
-				}
+				if (page)
+					gtk_notebook_reorder_child ((GtkNotebook *) book, page, pageno);
 				if (page)
 					sectionno = 1;
 			} else if (wn->widget == NULL) {
-				if (emp->type == E_CONFIG_ASSISTANT) {
-					page = gtk_vbox_new (FALSE, 0);
-					gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-					if (pagenode) {
-						/* put after */
-						gint index = -1;
-						ec_assistant_find_page (emp, pagenode->frame, &index);
-						gtk_assistant_insert_page (GTK_ASSISTANT (assistant), page, index + 1);
-					} else {
-						gtk_assistant_prepend_page (GTK_ASSISTANT (assistant), page);
-					}
-
-					gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, item->type == E_CONFIG_PAGE ? GTK_ASSISTANT_PAGE_CONTENT : GTK_ASSISTANT_PAGE_PROGRESS);
-					gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, translated_label);
-					gtk_widget_show_all (page);
-
-					wn->frame = page;
-				} else {
-					w = gtk_label_new_with_mnemonic (translated_label);
-					gtk_widget_show (w);
-					page = gtk_vbox_new (FALSE, 12);
-					gtk_container_set_border_width ((GtkContainer *) page, 12);
-					gtk_widget_show (page);
-					gtk_notebook_insert_page ((GtkNotebook *) book, page, w, pageno);
-					gtk_container_child_set (GTK_CONTAINER (book), page, "tab-fill", FALSE, "tab-expand", FALSE, NULL);
-					wn->frame = page;
-				}
+				w = gtk_label_new_with_mnemonic (translated_label);
+				gtk_widget_show (w);
+				page = gtk_vbox_new (FALSE, 12);
+				gtk_container_set_border_width ((GtkContainer *) page, 12);
+				gtk_widget_show (page);
+				gtk_notebook_insert_page ((GtkNotebook *) book, page, w, pageno);
+				gtk_container_child_set (GTK_CONTAINER (book), page, "tab-fill", FALSE, "tab-expand", FALSE, NULL);
+				wn->frame = page;
 			} else
 				page = wn->widget;
 
@@ -1130,17 +674,6 @@ ec_rebuild (EConfig *emp)
 			gtk_notebook_set_show_border ((GtkNotebook *) book, FALSE);
 		}
 	}
-
-	if (is_assistant && last_active_link != NULL) {
-		GtkAssistant *assistant;
-		struct _widget_node *wn;
-		gint page_index = -1;
-
-		wn = last_active_link->data;
-		assistant = GTK_ASSISTANT (emp->widget);
-		ec_assistant_find_page (emp, wn->frame, &page_index);
-		gtk_assistant_set_current_page (assistant, page_index);
-	}
 }
 
 /**
@@ -1178,10 +711,7 @@ ec_widget_destroy (GtkWidget *w,
  * e_config_create_widget:
  * @emp: An initialised EConfig object.
  *
- * Create the widget described by @emp.  Only the core widget
- * appropriate for the given type is created, i.e. a GtkNotebook for
- * the E_CONFIG_BOOK type and a GtkAssistant for the E_CONFIG_ASSISTANT
- * type.
+ * Create the #GtkNotebook described by @emp.
  *
  * This object will be self-driving, but will not close itself once
  * complete.
@@ -1236,98 +766,19 @@ e_config_create_widget (EConfig *emp)
 		G_CALLBACK (ec_widget_destroy), emp);
 
 	/* FIXME: for some reason ec_rebuild puts the widget on page 1, this is just to override that */
-	if (emp->type == E_CONFIG_BOOK)
-		gtk_notebook_set_current_page ((GtkNotebook *) emp->widget, 0);
-	else {
-		gtk_window_set_position (GTK_WINDOW (emp->widget), GTK_WIN_POS_CENTER);
-	}
+	gtk_notebook_set_current_page ((GtkNotebook *) emp->widget, 0);
 
 	return emp->widget;
 }
 
 static void
-ec_dialog_response (GtkWidget *d,
-                    gint id,
-                    EConfig *ec)
-{
-	if (id == GTK_RESPONSE_OK)
-		e_config_commit (ec);
-	else
-		e_config_abort (ec);
-
-	gtk_widget_destroy (d);
-}
-
-/**
- * e_config_create_window:
- * @emp: Initialised and configured EMConfig derived instance.
- * @parent: Parent window or NULL.
- * @title: Title of window or dialog.
- *
- * Create a managed GtkWindow object from @emp.  This window will be
- * fully driven by the EConfig @emp.  If @emp.type is
- * @E_CONFIG_ASSISTANT, then this will be a toplevel GtkWindow containing
- * a GtkAssistant.  If it is @E_CONFIG_BOOK then it will be a GtkDialog
- * containing a Notebook.
- *
- * Unless reffed otherwise, the management object @emp will be
- * finalized when the widget is.
- *
- * Return value: The window widget.  This is also stored in @emp.window.
- **/
-GtkWidget *
-e_config_create_window (EConfig *emp,
-                        GtkWindow *parent,
-                        const gchar *title)
-{
-	GtkWidget *window;
-
-	e_config_create_widget (emp);
-
-	if (emp->type == E_CONFIG_BOOK) {
-		GtkWidget *content_area;
-
-		window = gtk_dialog_new_with_buttons (
-			title, parent,
-			GTK_DIALOG_DESTROY_WITH_PARENT,
-			GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-			GTK_STOCK_APPLY, GTK_RESPONSE_OK,
-			NULL);
-		g_signal_connect (
-			window, "response",
-			G_CALLBACK (ec_dialog_response), emp);
-
-		gtk_container_set_border_width (GTK_CONTAINER (window), 5);
-		gtk_container_set_border_width (GTK_CONTAINER (emp->widget), 5);
-
-		content_area =
-			gtk_dialog_get_content_area (GTK_DIALOG (window));
-		gtk_box_pack_start (
-			GTK_BOX (content_area), emp->widget, TRUE, TRUE, 0);
-	} else {
-		/* response is handled directly by the assistant stuff */
-		window = emp->widget;
-		gtk_window_set_title (GTK_WINDOW (window), title);
-	}
-
-	emp->window = window;
-	gtk_widget_show (window);
-
-	return window;
-}
-
-static void
 ec_call_page_check (EConfig *emp)
 {
-	if (emp->type == E_CONFIG_ASSISTANT) {
-		ec_assistant_check_current (emp);
-	} else {
-		if (emp->window) {
-			if (e_config_page_check (emp, NULL)) {
-				gtk_dialog_set_response_sensitive ((GtkDialog *) emp->window, GTK_RESPONSE_OK, TRUE);
-			} else {
-				gtk_dialog_set_response_sensitive ((GtkDialog *) emp->window, GTK_RESPONSE_OK, FALSE);
-			}
+	if (emp->window) {
+		if (e_config_page_check (emp, NULL)) {
+			gtk_dialog_set_response_sensitive ((GtkDialog *) emp->window, GTK_RESPONSE_OK, TRUE);
+		} else {
+			gtk_dialog_set_response_sensitive ((GtkDialog *) emp->window, GTK_RESPONSE_OK, FALSE);
 		}
 	}
 }
@@ -1435,123 +886,6 @@ e_config_page_check (EConfig *config,
 	return TRUE;
 }
 
-/**
- * e_config_page_get:
- * @ec:
- * @pageid: The path of the page item.
- *
- * Retrieve the page widget corresponding to @pageid.
- *
- * Return value: The page widget.  It will be the root GtkNotebook
- * container or the GtkBox object inside the assistant.
- **/
-GtkWidget *
-e_config_page_get (EConfig *ec,
-                   const gchar *pageid)
-{
-	GList *link;
-
-	link = ec->priv->widgets;
-
-	while (link != NULL) {
-		struct _widget_node *wn = link->data;
-
-		if (!wn->empty
-		    && (wn->item->type == E_CONFIG_PAGE
-			|| wn->item->type == E_CONFIG_PAGE_START
-			|| wn->item->type == E_CONFIG_PAGE_FINISH
-			|| wn->item->type == E_CONFIG_PAGE_PROGRESS)
-		    && !strcmp (wn->item->path, pageid))
-			return wn->frame;
-
-		link = g_list_next (link);
-	}
-
-	return NULL;
-}
-
-/**
- * e_config_page_next:
- * @ec:
- * @pageid: The path of the page item.
- *
- * Find the path of the next visible page after @pageid.  If @pageid
- * is NULL then find the first visible page.
- *
- * Return value: The path of the next page, or @NULL if @pageid was the
- * last configured and visible page.
- **/
-const gchar *
-e_config_page_next (EConfig *ec,
-                    const gchar *pageid)
-{
-	GList *link;
-	gint found;
-
-	link = g_list_first (ec->priv->widgets);
-	found = pageid == NULL ? 1 : 0;
-
-	while (link != NULL) {
-		struct _widget_node *wn = link->data;
-
-		if (!wn->empty
-		    && (wn->item->type == E_CONFIG_PAGE
-			|| wn->item->type == E_CONFIG_PAGE_START
-			|| wn->item->type == E_CONFIG_PAGE_FINISH
-			|| wn->item->type == E_CONFIG_PAGE_PROGRESS)) {
-			if (found)
-				return wn->item->path;
-			else if (strcmp (wn->item->path, pageid) == 0)
-				found = 1;
-		}
-
-		link = g_list_next (link);
-	}
-
-	return NULL;
-}
-
-/**
- * e_config_page_prev:
- * @ec: an #EConfig
- * @pageid: The path of the page item.
- *
- * Find the path of the previous visible page before @pageid.  If @pageid
- * is NULL then find the last visible page.
- *
- * Return value: The path of the previous page, or @NULL if @pageid was the
- * first configured and visible page.
- **/
-const gchar *
-e_config_page_prev (EConfig *ec,
-                    const gchar *pageid)
-{
-	GList *link;
-	gint found;
-
-	link = g_list_last (ec->priv->widgets);
-	found = pageid == NULL ? 1 : 0;
-
-	while (link != NULL) {
-		struct _widget_node *wn = link->data;
-
-		if (!wn->empty
-		    && (wn->item->type == E_CONFIG_PAGE
-			|| wn->item->type == E_CONFIG_PAGE_START
-			|| wn->item->type == E_CONFIG_PAGE_FINISH
-			|| wn->item->type == E_CONFIG_PAGE_PROGRESS)) {
-			if (found)
-				return wn->item->path;
-			else if (strcmp (wn->item->path, pageid) == 0)
-				found = 1;
-		}
-
-		link = g_list_previous (link);
-	}
-
-	return NULL;
-}
-
 /* ********************************************************************** */
 
 /**
@@ -1592,26 +926,6 @@ e_config_class_add_factory (EConfigClass *class,
 }
 
 /**
- * e_config_class_remove_factory:
- * @factory: an #EConfigFactory
- *
- * Removes a config factory.
- **/
-void
-e_config_class_remove_factory (EConfigClass *class,
-                               EConfigFactory *factory)
-{
-	g_return_if_fail (E_IS_CONFIG_CLASS (class));
-	g_return_if_fail (factory != NULL);
-
-	class->factories = g_list_remove (class->factories, factory);
-
-	g_free (factory->id);
-
-	g_slice_free (EConfigFactory, factory);
-}
-
-/**
  * e_config_target_new:
  * @ep: Parent EConfig object.
  * @type: type, up to implementor
@@ -1684,11 +998,8 @@ e_config_target_free (EConfig *ep,
 
 static const EPluginHookTargetKey ech_item_types[] = {
 	{ "book", E_CONFIG_BOOK },
-	{ "assistant", E_CONFIG_ASSISTANT },
 
 	{ "page", E_CONFIG_PAGE },
-	{ "page_start", E_CONFIG_PAGE_START },
-	{ "page_finish", E_CONFIG_PAGE_FINISH },
 	{ "section", E_CONFIG_SECTION },
 	{ "section_table", E_CONFIG_SECTION_TABLE },
 	{ "item", E_CONFIG_ITEM },
diff --git a/e-util/e-config.h b/e-util/e-config.h
index a6c52bd..16e3106 100644
--- a/e-util/e-config.h
+++ b/e-util/e-config.h
@@ -111,18 +111,9 @@ enum _e_config_target_change_t {
  * enum _e_config_t - configuration item type.
  *
  * @E_CONFIG_BOOK: A notebook item.  Only one of this or
- * @E_CONFIG_ASSISTANT may be included in the item list for the entire
- * configuration description.
- * @E_CONFIG_ASSISTANT: An assistant item.  Only one of this or @E_CONFIG_BOOK
- * may be included in the item list for the entire configutation
- * description.
  * @E_CONFIG_PAGE: A configuration page.  The item @label will be
  * either the notebook tab label or the assistant page title if no factory
  * is supplied.
- * @E_CONFIG_PAGE_START: An assistant start page.  Only one of these may be
- * supplied for a assistant and it should be the first page in the assistant.
- * @E_CONFIG_PAGE_FINISH: An assistant finish page.  Only one of these may
- * be supplied for an assistant and it should be the last page of the assistant.
  * @E_CONFIG_SECTION: A section in the configuration page.  A page for
  * this section must have already been defined.  The item @label if
  * supplied will be setup as a borderless hig-compliant frame title.
@@ -144,12 +135,8 @@ enum _e_config_target_change_t {
 enum _e_config_t {
 	/* use one and only one of these for any given config-window id */
 	E_CONFIG_BOOK,
-	E_CONFIG_ASSISTANT,
 
 	E_CONFIG_PAGE,
-	E_CONFIG_PAGE_START,	/* only allowed in assistant types */
-	E_CONFIG_PAGE_FINISH,	/* only allowed in assistant types */
-	E_CONFIG_PAGE_PROGRESS,	/* only allowed in assistant types */
 	E_CONFIG_SECTION,
 	E_CONFIG_SECTION_TABLE,
 	E_CONFIG_ITEM,
@@ -207,8 +194,6 @@ struct _EConfigTarget {
  *
  * @object: Superclass.
  * @priv: Private data.
- * @type: Either @E_CONFIG_BOOK or @E_CONFIG_DRIUD, describing the
- * root window type.
  * @id: The globally unique identifider for this configuration window,
  * used for hooking into it.
  * @target: The current target.
@@ -224,8 +209,6 @@ struct _EConfig {
 	GObject object;
 	EConfigPrivate *priv;
 
-	gint type;		/* E_CONFIG_BOOK or E_CONFIG_ASSISTANT */
-
 	gchar *id;
 
 	EConfigTarget *target;
@@ -269,11 +252,8 @@ EConfigFactory *e_config_class_add_factory	(EConfigClass *klass,
 						 const gchar *id,
 						 EConfigFactoryFunc func,
 						 gpointer user_data);
-void		e_config_class_remove_factory	(EConfigClass *klass,
-						 EConfigFactory *f);
 
 EConfig *	e_config_construct		(EConfig *config,
-						 gint type,
 						 const gchar *id);
 
 void		e_config_add_items		(EConfig *config,
@@ -284,20 +264,10 @@ void		e_config_add_page_check		(EConfig *config,
 						 const gchar *pageid,
 						 EConfigCheckFunc func,
 						 gpointer data);
-void		e_config_set_page_is_finish	(EConfig *config,
-						 const gchar *pageid,
-						 gboolean is_finish);
-void		e_config_add_skip_check		(EConfig *config,
-						 const gchar *pageid,
-						 EConfigCheckFunc func,
-						 gpointer data);
 
 void		e_config_set_target		(EConfig *config,
 						 EConfigTarget *target);
 GtkWidget *	e_config_create_widget		(EConfig *config);
-GtkWidget *	e_config_create_window		(EConfig *config,
-						 GtkWindow *parent,
-						 const gchar *title);
 
 void		e_config_target_changed		(EConfig *config,
 						 e_config_target_change_t how);
@@ -305,13 +275,6 @@ void		e_config_target_changed		(EConfig *config,
 gboolean	e_config_page_check		(EConfig *config,
 						 const gchar *pageid);
 
-GtkWidget *	e_config_page_get		(EConfig *config,
-						 const gchar *pageid);
-const gchar *	e_config_page_next		(EConfig *config,
-						 const gchar *pageid);
-const gchar *	e_config_page_prev		(EConfig *config,
-						 const gchar *pageid);
-
 void		e_config_abort			(EConfig *config);
 void		e_config_commit			(EConfig *config);
 
diff --git a/mail/em-config.c b/mail/em-config.c
index fbf27fa..93b6c4e 100644
--- a/mail/em-config.c
+++ b/mail/em-config.c
@@ -126,13 +126,12 @@ em_config_init (EMConfig *emp)
 }
 
 EMConfig *
-em_config_new (gint type,
-               const gchar *menuid)
+em_config_new (const gchar *menuid)
 {
 	EMConfig *emp;
 
 	emp = g_object_new (EM_TYPE_CONFIG, NULL);
-	e_config_construct (&emp->config, type, menuid);
+	e_config_construct (&emp->config, menuid);
 
 	return emp;
 }
diff --git a/mail/em-config.h b/mail/em-config.h
index 5de022b..ac82adb 100644
--- a/mail/em-config.h
+++ b/mail/em-config.h
@@ -97,8 +97,7 @@ struct _EMConfigClass {
 };
 
 GType		em_config_get_type		(void);
-EMConfig *	em_config_new			(gint type,
-						 const gchar *menuid);
+EMConfig *	em_config_new			(const gchar *menuid);
 EMConfigTargetFolder *
 		em_config_target_new_folder	(EMConfig *emp,
 						 CamelFolder *folder);
diff --git a/mail/em-folder-properties.c b/mail/em-folder-properties.c
index d17fd69..bfbf17f 100644
--- a/mail/em-folder-properties.c
+++ b/mail/em-folder-properties.c
@@ -354,8 +354,7 @@ emfp_dialog_run (AsyncContext *context)
 	 *
 	 * The folder properties window.
 	 */
-	ec = em_config_new (
-		E_CONFIG_BOOK, "org.gnome.evolution.mail.folderConfig");
+	ec = em_config_new ("org.gnome.evolution.mail.folderConfig");
 	l = NULL;
 	for (i = 0; i < G_N_ELEMENTS (emfp_items); i++)
 		l = g_slist_prepend (l, &emfp_items[i]);
diff --git a/modules/calendar/e-calendar-preferences.c b/modules/calendar/e-calendar-preferences.c
index 93669b2..5c71fd8 100644
--- a/modules/calendar/e-calendar-preferences.c
+++ b/modules/calendar/e-calendar-preferences.c
@@ -496,13 +496,12 @@ calendar_preferences_construct (ECalendarPreferences *prefs,
 
 	/** @HookPoint-ECalConfig: Calendar Preferences Page
 	 * @Id: org.gnome.evolution.calendar.prefs
-	 * @Type: E_CONFIG_BOOK
 	 * @Class: org.gnome.evolution.calendar.config:1.0
 	 * @Target: ECalConfigTargetPrefs
 	 *
 	 * The mail calendar preferences page
 	 */
-	ec = e_cal_config_new (E_CONFIG_BOOK, "org.gnome.evolution.calendar.prefs");
+	ec = e_cal_config_new ("org.gnome.evolution.calendar.prefs");
 	l = NULL;
 	for (i = 0; i < G_N_ELEMENTS (eccp_items); i++)
 		l = g_slist_prepend (l, &eccp_items[i]);
diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c
index f962009..58066e0 100644
--- a/modules/mail/em-composer-prefs.c
+++ b/modules/mail/em-composer-prefs.c
@@ -326,13 +326,12 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 
 	/** @HookPoint-EMConfig: Mail Composer Preferences
 	 * @Id: org.gnome.evolution.mail.composerPrefs
-	 * @Type: E_CONFIG_BOOK
 	 * @Class: org.gnome.evolution.mail.config:1.0
 	 * @Target: EMConfigTargetPrefs
 	 *
 	 * The mail composer preferences settings page.
 	 */
-	ec = em_config_new (E_CONFIG_BOOK, "org.gnome.evolution.mail.composerPrefs");
+	ec = em_config_new ("org.gnome.evolution.mail.composerPrefs");
 	l = NULL;
 	for (i = 0; i < G_N_ELEMENTS (emcp_items); i++)
 		l = g_slist_prepend (l, &emcp_items[i]);
diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c
index 3e5e588..83a23ef 100644
--- a/modules/mail/em-mailer-prefs.c
+++ b/modules/mail/em-mailer-prefs.c
@@ -777,13 +777,12 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 
 	/** @HookPoint-EMConfig: Mail Preferences Page
 	 * @Id: org.gnome.evolution.mail.prefs
-	 * @Type: E_CONFIG_BOOK
 	 * @Class: org.gnome.evolution.mail.config:1.0
 	 * @Target: EMConfigTargetPrefs
 	 *
 	 * The main mail preferences page.
 	 */
-	ec = em_config_new (E_CONFIG_BOOK, "org.gnome.evolution.mail.prefs");
+	ec = em_config_new ("org.gnome.evolution.mail.prefs");
 	l = NULL;
 	for (i = 0; i < G_N_ELEMENTS (emmp_items); i++)
 		l = g_slist_prepend (l, &emmp_items[i]);
diff --git a/modules/mail/em-network-prefs.c b/modules/mail/em-network-prefs.c
index fe21b27..9da5708 100644
--- a/modules/mail/em-network-prefs.c
+++ b/modules/mail/em-network-prefs.c
@@ -324,13 +324,12 @@ em_network_prefs_construct (EMNetworkPrefs *prefs)
 
 	/** @HookPoint-EMConfig: Network Preferences
 	 * @Id: org.gnome.evolution.mail.networkPrefs
-	 * @Type: E_CONFIG_BOOK
 	 * @Class: org.gnome.evolution.mail.config:1.0
 	 * @Target: EMConfigTargetPrefs
 	 *
 	 * The network preferences settings page.
 	 */
-	ec = em_config_new (E_CONFIG_BOOK, "org.gnome.evolution.mail.networkPrefs");
+	ec = em_config_new ("org.gnome.evolution.mail.networkPrefs");
 	l = NULL;
 	for (i = 0; i < G_N_ELEMENTS (emnp_items); i++)
 		l = g_slist_prepend (l, &emnp_items[i]);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]