static gboolean
mail_config_remote_backend_check_complete (EMailConfigServiceBackend *backend)
{
	EMailConfigRemoteBackend *remote_backend;
	CamelSettings *settings;
	CamelNetworkSettings *network_settings;
	CamelProvider *provider;
	EPortEntry *port_entry;
	const gchar *host;
	const gchar *user;
	gboolean correct, complete = TRUE;

	remote_backend = E_MAIL_CONFIG_REMOTE_BACKEND (backend);

	settings = e_mail_config_service_backend_get_settings (backend);
	provider = e_mail_config_service_backend_get_provider (backend);

	g_return_val_if_fail (provider != NULL, FALSE);

	network_settings = CAMEL_NETWORK_SETTINGS (settings);
	host = camel_network_settings_get_host (network_settings);
	user = camel_network_settings_get_user (network_settings);

	correct = TRUE;

	if (CAMEL_PROVIDER_NEEDS (provider, CAMEL_URL_PART_HOST) &&
	    (host == NULL || *host == '\0'))
		correct = FALSE;

	complete = complete && correct;
	e_util_set_entry_issue_hint (remote_backend->host_entry, correct ? NULL : _("Server address cannot be empty"));

	correct = TRUE;

	port_entry = E_PORT_ENTRY (remote_backend->port_entry);
	if (CAMEL_PROVIDER_NEEDS (provider, CAMEL_URL_PART_PORT) &&
	    !e_port_entry_is_valid (port_entry))
		correct = FALSE;

	complete = complete && correct;
	gtk_widget_set_visible (remote_backend->port_error_image, !correct);

	correct = TRUE;

	if (CAMEL_PROVIDER_NEEDS (provider, CAMEL_URL_PART_USER) &&
	    (user == NULL || *user == '\0'))
		correct = FALSE;

	complete = complete && correct;
	e_util_set_entry_issue_hint (remote_backend->user_entry, correct ? NULL : _("User name cannot be empty"));

	return complete;
}
static gboolean
mail_config_remote_backend_check_complete (EMailConfigServiceBackend *backend)
{
	EMailConfigRemoteBackend *remote_backend;
	CamelSettings *settings;
	CamelNetworkSettings *network_settings;
	CamelProvider *provider;
	EPortEntry *port_entry;
	const gchar *host;
	const gchar *user;

	remote_backend = E_MAIL_CONFIG_REMOTE_BACKEND (backend);

	settings = e_mail_config_service_backend_get_settings (backend);
	provider = e_mail_config_service_backend_get_provider (backend);

	g_return_val_if_fail (provider != NULL, FALSE);

	network_settings = CAMEL_NETWORK_SETTINGS (settings);
	host = camel_network_settings_get_host (network_settings);
	user = camel_network_settings_get_user (network_settings);

	if (CAMEL_PROVIDER_NEEDS (provider, CAMEL_URL_PART_HOST) &&
	    (host == NULL || *host == '\0'))
		return FALSE;

	port_entry = E_PORT_ENTRY (remote_backend->port_entry);
	if (CAMEL_PROVIDER_NEEDS (provider, CAMEL_URL_PART_PORT) &&
	    !e_port_entry_is_valid (port_entry))
		return FALSE;

	if (CAMEL_PROVIDER_NEEDS (provider, CAMEL_URL_PART_USER) &&
	    (user == NULL || *user == '\0'))
		return FALSE;

	return TRUE;
}