aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2012-12-17 06:22:42 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-12-17 07:07:54 +0800
commit79f9fe7f770b95600d4997267e3ed2416523387e (patch)
treebd16197074d5da716bee73e7f2de9ee9c0ad2220 /e-util
parent6faf671382518db3a81af23bd67a5f5b41ab3b2e (diff)
downloadgsoc2013-evolution-79f9fe7f770b95600d4997267e3ed2416523387e.tar.gz
gsoc2013-evolution-79f9fe7f770b95600d4997267e3ed2416523387e.tar.zst
gsoc2013-evolution-79f9fe7f770b95600d4997267e3ed2416523387e.zip
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.
Diffstat (limited to 'e-util')
-rw-r--r--e-util/e-config.c741
-rw-r--r--e-util/e-config.h37
2 files changed, 26 insertions, 752 deletions
diff --git a/e-util/e-config.c b/e-util/e-config.c
index fc30eea90e..88ec69a68d 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 a6c52bddd6..16e3106ddc 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);