From 45915f89e2279d67b0bf29ce3126cd4dabd61f9f Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 30 Oct 2000 16:51:03 +0000 Subject: Redo this so that it works for all pages, not just the first page. (Now * mail-config-gui.c (config_do_query_authtypes): Redo this so that it works for all pages, not just the first page. (Now that this is finally working again, I expect Anna to finish her redesign in the next 15 minutes.) (service_page_item_new): Fix up the sizing of the Auth line to look more like everything else. svn path=/trunk/; revision=6270 --- mail/mail-config-gui.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'mail/mail-config-gui.c') diff --git a/mail/mail-config-gui.c b/mail/mail-config-gui.c index 65b3fd5791..669f328bee 100644 --- a/mail/mail-config-gui.c +++ b/mail/mail-config-gui.c @@ -176,7 +176,7 @@ typedef struct /* private prototypes - these are ugly, rename some of them? */ static void config_do_test_service (const char *url, CamelProviderType type); -static void config_do_query_authtypes (MailDialogServicePage *page, const char *url, CamelProviderType type); +static void config_do_query_authtypes (MailDialogServicePage *page, const char *url, MailDialogServicePageItem *item); static void html_size_req (GtkWidget *widget, GtkRequisition *requisition); static GtkWidget *html_new (gboolean white); @@ -842,7 +842,7 @@ service_page_detect (GtkWidget *button, MailDialogServicePage *page) spitem = page->spitem; url = service_page_get_url (page); - config_do_query_authtypes (page, url, spitem->type); + config_do_query_authtypes (page, url, spitem); } static void @@ -930,18 +930,17 @@ service_page_item_new (MailDialogServicePage *page, MailService *mcs) gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5); item->auth_optionmenu = gtk_option_menu_new (); - gtk_widget_set_sensitive (item->auth_optionmenu, FALSE); gtk_table_attach (GTK_TABLE (table), item->auth_optionmenu, 1, 2, row, row + 1, - GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, + GTK_EXPAND | GTK_FILL, 0, 0, 0); item->auth_detect = gtk_button_new_with_label (_("Detect supported types...")); gtk_table_attach (GTK_TABLE (table), item->auth_detect, 2, 3, row, row + 1, - GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, + GTK_FILL | GTK_EXPAND, 0, 0, 0); gtk_widget_set_sensitive (item->auth_detect, FALSE); gtk_signal_connect (GTK_OBJECT (item->auth_detect), @@ -957,7 +956,7 @@ service_page_item_new (MailDialogServicePage *page, MailService *mcs) /* this is done async */ url = camel_url_to_string (mcs->service->url, FALSE); - config_do_query_authtypes (page, url, mcs->type); + config_do_query_authtypes (page, url, item); g_free (url); row += 2; } @@ -2238,7 +2237,6 @@ static gchar *describe_test_service (gpointer in_data, gboolean gerund) static void setup_test_service (gpointer in_data, gpointer op_data, CamelException *ex) { - test_service_input_t *input = (test_service_input_t *) in_data; test_service_data_t *data = (test_service_data_t *) op_data; data->success = FALSE; @@ -2306,7 +2304,7 @@ config_do_test_service (const char *url, CamelProviderType type) typedef struct query_authtypes_input_s { MailDialogServicePage *page; gchar *url; - CamelProviderType type; + MailDialogServicePageItem *item; } query_authtypes_input_t; typedef struct query_authtypes_data_s { @@ -2332,7 +2330,6 @@ static gchar *describe_query_authtypes (gpointer in_data, gboolean gerund) static void setup_query_authtypes (gpointer in_data, gpointer op_data, CamelException *ex) { - query_authtypes_input_t *input = (query_authtypes_input_t *) in_data; query_authtypes_data_t *data = (query_authtypes_data_t *) op_data; data->items = NULL; @@ -2344,7 +2341,7 @@ static void do_query_authtypes (gpointer in_data, gpointer op_data, CamelExcepti query_authtypes_input_t *input = (query_authtypes_input_t *) in_data; query_authtypes_data_t *data = (query_authtypes_data_t *) op_data; - data->service = camel_session_get_service (session, input->url, input->type, ex); + data->service = camel_session_get_service (session, input->url, input->item->type, ex); if (!data->service) return; @@ -2356,9 +2353,8 @@ static void cleanup_query_authtypes (gpointer in_data, gpointer op_data, CamelEx query_authtypes_input_t *input = (query_authtypes_input_t *) in_data; query_authtypes_data_t *data = (query_authtypes_data_t *) op_data; - if (data->items && input->page->spitem->auth_optionmenu && - GTK_WIDGET_VISIBLE (input->page->spitem->auth_optionmenu)) - service_page_item_auth_fill (input->page, input->page->spitem, data->items); + if (data->items && input->item->auth_optionmenu) + service_page_item_auth_fill (input->page, input->item, data->items); if (data->service) { mail_tool_camel_lock_up(); @@ -2379,14 +2375,14 @@ static const mail_operation_spec op_query_authtypes = { }; static void -config_do_query_authtypes (MailDialogServicePage *page, const char *url, CamelProviderType type) +config_do_query_authtypes (MailDialogServicePage *page, const char *url, MailDialogServicePageItem *item) { query_authtypes_input_t *input; input = g_new (query_authtypes_input_t, 1); input->page = page; input->url = g_strdup (url); - input->type = type; + input->item = item; mail_operation_queue (&op_query_authtypes, input, TRUE); } -- cgit v1.2.3