diff options
-rw-r--r-- | mail/ChangeLog | 10 | ||||
-rw-r--r-- | mail/mail-account-gui.c | 21 | ||||
-rw-r--r-- | mail/mail-tools.c | 3 |
3 files changed, 25 insertions, 9 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 26e9b7e043..83f5042dae 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,15 @@ 2001-07-25 Jeffrey Stedfast <fejj@ximian.com> + * mail-account-gui.c (build_auth_menu): Now takes a + check_supported gboolean argument saying whether or not to disable + non-supported authtypes. + (source_type_changed): Update for build_auth_menu. + (transport_type_changed): Same. + (service_check_supported): Pass in TRUE for the disable + non-supported authtypes to build_auth_menu and also disable + check-supported button and the authtype menu if we get a NULL + supported auth list. + * mail-callbacks.c (mail_generate_reply): Initialize `me' to NULL. (forward_attached): If we are only forwarding a single message, pass the message along as the callback data, else pass NULL. diff --git a/mail/mail-account-gui.c b/mail/mail-account-gui.c index d3e25a1cd3..34ed21c5f8 100644 --- a/mail/mail-account-gui.c +++ b/mail/mail-account-gui.c @@ -218,8 +218,8 @@ service_authtype_changed (GtkWidget *widget, gpointer user_data) } static void -build_auth_menu (MailAccountGuiService *service, - GList *all_authtypes, GList *supported_authtypes) +build_auth_menu (MailAccountGuiService *service, GList *all_authtypes, + GList *supported_authtypes, gboolean check_supported) { GtkWidget *menu, *item, *first = NULL; CamelServiceAuthType *authtype, *sauthtype; @@ -236,7 +236,7 @@ build_auth_menu (MailAccountGuiService *service, if (!strcmp (authtype->name, sauthtype->name)) break; } - if (supported_authtypes && !s) + if (check_supported && !s) gtk_widget_set_sensitive (item, FALSE); else if (!first) first = item; @@ -345,7 +345,7 @@ source_type_changed (GtkWidget *widget, gpointer user_data) /* auth */ frame = glade_xml_get_widget (gui->xml, "source_auth_frame"); if (provider && CAMEL_PROVIDER_ALLOWS (provider, CAMEL_URL_PART_AUTH)) { - build_auth_menu (&gui->source, provider->authtypes, NULL); + build_auth_menu (&gui->source, provider->authtypes, NULL, FALSE); gtk_widget_show (frame); } else gtk_widget_hide (frame); @@ -437,7 +437,7 @@ transport_type_changed (GtkWidget *widget, gpointer user_data) gtk_widget_hide (label); } - build_auth_menu (&gui->transport, provider->authtypes, NULL); + build_auth_menu (&gui->transport, provider->authtypes, NULL, FALSE); transport_needs_auth_toggled (gui->transport_needs_auth, gui); } else gtk_widget_hide (frame); @@ -465,7 +465,12 @@ service_check_supported (GtkButton *button, gpointer user_data) save_service (gsvc, NULL, service); if (mail_config_check_service (service->url, gsvc->provider_type, &authtypes)) { - build_auth_menu (gsvc, gsvc->provider->authtypes, authtypes); + build_auth_menu (gsvc, gsvc->provider->authtypes, authtypes, TRUE); + if (!authtypes) { + /* the provider doesn't support any authtypes so we can disable these */ + gtk_widget_set_sensitive (GTK_WIDGET (gsvc->check_supported), FALSE); + gtk_widget_set_sensitive (GTK_WIDGET (gsvc->authtype), FALSE); + } g_list_free (authtypes); } @@ -1485,7 +1490,7 @@ save_service (MailAccountGuiService *gsvc, GHashTable *extra_config, CamelServiceAuthType *authtype; authtype = gtk_object_get_data (GTK_OBJECT (gsvc->authitem), "authtype"); - if (authtype->authproto && *authtype->authproto) + if (authtype && authtype->authproto && *authtype->authproto) url->authmech = g_strdup (authtype->authproto); service->save_passwd = gtk_toggle_button_get_active (gsvc->remember); @@ -1515,7 +1520,7 @@ save_service (MailAccountGuiService *gsvc, GHashTable *extra_config, if (gtk_toggle_button_get_active (gsvc->use_ssl)) camel_url_set_param (url, "use_ssl", ""); } - + if (extra_config) extract_values (gsvc, extra_config, url); diff --git a/mail/mail-tools.c b/mail/mail-tools.c index 47f949ac10..c1da8fea98 100644 --- a/mail/mail-tools.c +++ b/mail/mail-tools.c @@ -273,6 +273,7 @@ mail_tool_uri_to_folder (const char *uri, CamelException *ex) return folder; } + /* This hack is still needed for file:/ since it's its own EvolutionStorage type */ if (!strncmp (uri, "vtrash:", 7)) offset = 7; @@ -286,7 +287,7 @@ mail_tool_uri_to_folder (const char *uri, CamelException *ex) } else { store = camel_session_get_store (session, uri + offset, ex); if (store) { - char *name; + const char *name; /* if we have a fragment, then the path is actually used by the store, so the fragment is the path to the folder instead */ |