aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog9
-rw-r--r--mail/mail-config-gui.c26
2 files changed, 20 insertions, 15 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 91f1a4ecab..d92c9a4bb7 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,12 @@
+2000-10-30 Dan Winship <danw@helixcode.com>
+
+ * 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.
+
2000-10-29 Dan Winship <danw@helixcode.com>
* mail-tools.c (mail_tool_uri_to_folder): Simplify this a lot by
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);
}