From 7a46e7a66e098dd72af68ea279d2eb1036b6f29a Mon Sep 17 00:00:00 2001
From: Jeffrey Stedfast <fejj@helixcode.com>
Date: Fri, 12 Jan 2001 04:11:51 +0000
Subject: If the service_check fails, pop-up a warning dialog letting the user
 know

2001-01-11  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-config-druid.c (transport_next): If the service_check
	fails, pop-up a warning dialog letting the user know he or she may
	have problems and then let them continue on with their lives.
	(incoming_next): Same (+ jump them over the auth page to the
	transport page).

svn path=/trunk/; revision=7428
---
 mail/mail-config-druid.c | 39 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 34 insertions(+), 5 deletions(-)

(limited to 'mail/mail-config-druid.c')

diff --git a/mail/mail-config-druid.c b/mail/mail-config-druid.c
index 6982965105..cc0413fe03 100644
--- a/mail/mail-config-druid.c
+++ b/mail/mail-config-druid.c
@@ -346,9 +346,28 @@ incoming_next (GnomeDruidPage *page, GnomeDruid *druid, gpointer data)
 	url = camel_url_new (source_url, NULL);
 	g_free (source_url);
 	
-	/* If we can't connect, don't let them continue. */
+	/* If we can't connect, warn them and continue on to the Transport page. */
 	if (!mail_config_check_service (url, CAMEL_PROVIDER_STORE, &authtypes)) {
+		GtkWidget *dialog;
+		char *source, *warning;
+		
+		source = camel_url_to_string (url, FALSE);
 		camel_url_free (url);
+		
+		warning = g_strdup_printf (_("Failed to verify the incoming mail configuration.\n"
+					     "You may experience problems retrieving your mail from %s"),
+					   source);
+		g_free (source);
+		dialog = gnome_warning_dialog_parented (warning, GTK_WINDOW (config));
+		g_free (warning);
+		
+		gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
+		
+		/* Skip to transport page. */
+		config->have_auth_page = FALSE;
+		transport_page = glade_xml_get_widget (config->gui, "druidTransportPage");
+		gnome_druid_set_page (config->druid, GNOME_DRUID_PAGE (transport_page));
+		
 		return TRUE;
 	}
 	camel_url_free (url);
@@ -588,12 +607,22 @@ transport_next (GnomeDruidPage *page, GnomeDruid *druid, gpointer data)
 	
 	/* If we can't connect, don't let them continue. */
 	if (!mail_config_check_service (url, CAMEL_PROVIDER_TRANSPORT, NULL)) {
-		camel_url_free (url);
-		return TRUE;
+		GtkWidget *dialog;
+		char *transport, *warning;
+		
+		transport = camel_url_to_string (url, FALSE);
+		
+		warning = g_strdup_printf (_("Failed to verify the outgoing mail configuration.\n"
+					     "You may experience problems sending your mail using %s"),
+					   transport);
+		g_free (transport);
+		dialog = gnome_warning_dialog_parented (warning, GTK_WINDOW (config));
+		g_free (warning);
+		
+		gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
 	}
-	camel_url_free (url);
 	
-	/* FIXME: check if we need auth; */
+	camel_url_free (url);
 	
 	return FALSE;
 }
-- 
cgit