? proxy
Index: embed/ephy-embed-prefs.h
===================================================================
RCS file: /cvs/gnome/epiphany/embed/ephy-embed-prefs.h,v
retrieving revision 1.8
diff -u -r1.8 ephy-embed-prefs.h
--- embed/ephy-embed-prefs.h	2 Jul 2003 09:17:47 -0000	1.8
+++ embed/ephy-embed-prefs.h	7 Aug 2003 11:20:47 -0000
@@ -25,4 +25,4 @@
 #define CONF_NETWORK_FTP_PROXY_PORT "/system/proxy/ftp_port"
 #define CONF_NETWORK_SOCKS_PROXY_PORT "/system/proxy/socks_port"
 #define CONF_NETWORK_PROXY_AUTO_URL "/system/proxy/autoconfig_url"
-
+#define CONF_NETWORK_PROXY_IGNORE_HOSTS "/system/http_proxy/ignore_hosts"
Index: embed/mozilla/mozilla-notifiers.cpp
===================================================================
RCS file: /cvs/gnome/epiphany/embed/mozilla/mozilla-notifiers.cpp,v
retrieving revision 1.25
diff -u -r1.25 mozilla-notifiers.cpp
--- embed/mozilla/mozilla-notifiers.cpp	7 Aug 2003 10:58:54 -0000	1.25
+++ embed/mozilla/mozilla-notifiers.cpp	7 Aug 2003 11:20:51 -0000
@@ -39,6 +39,8 @@
 #include "nsIPrefService.h"
 #include "nsIServiceManager.h"
 
+#define MOZILLA_PREF_NO_PROXIES "network.proxy.no_proxies_on"
+
 static void
 mozilla_cache_size_notifier (GConfClient *client,
 		             guint cnxn_id,
@@ -102,6 +104,11 @@
 		                 guint cnxn_id,
 		                 GConfEntry *entry,
 		                 char *pref);
+static void
+mozilla_proxy_ignore_notifier (GConfClient *client,
+		               guint cnxn_id,
+		               GConfEntry *entry,
+		               EphyEmbedSingle *single);
 
 /* Keeps the list of the notifiers we installed for mozilla prefs */
 /* to be able to remove them when exiting */
@@ -162,6 +169,8 @@
           (GConfClientNotifyFunc) mozilla_cache_size_notifier },
 	{ CONF_SECURITY_COOKIES_ACCEPT,
 	  (GConfClientNotifyFunc) mozilla_cookies_accept_notifier },
+ 	{ CONF_NETWORK_PROXY_IGNORE_HOSTS,
+ 	  (GConfClientNotifyFunc) mozilla_proxy_ignore_notifier },
 
 	{ NULL, NULL }
 };
@@ -657,3 +666,39 @@
 	g_slist_foreach (languages, (GFunc) g_free, NULL);
 	g_slist_free (languages);
 }
+
+static void
+mozilla_proxy_ignore_notifier (GConfClient *client,
+		               guint cnxn_id,
+		               GConfEntry *entry,
+		               EphyEmbedSingle *single)
+{
+	GSList *hosts, *l;
+	char **strings, *mozilla_ignore_list;
+	int i = 0;
+
+	hosts = eel_gconf_get_string_list (entry->key);
+
+	strings = g_new (gchar*, g_slist_length (hosts) + 1);
+	for (l = hosts; l != NULL; l = l->next)
+	{
+		char *item = (char *) l->data;
+
+		if (item && item[0] != '\0')
+		{
+			strings[i] = item;
+			i++;
+		}
+	}
+	strings[i] = NULL;
+
+	mozilla_ignore_list = g_strjoinv (", ", strings);
+	mozilla_prefs_set_string (MOZILLA_PREF_NO_PROXIES,
+				  mozilla_ignore_list);
+
+	g_free (mozilla_ignore_list);
+	g_free (strings);
+	g_slist_foreach (hosts, (GFunc) g_free, NULL);
+	g_slist_free (hosts);
+}
+
