[evolution-data-server] Use GSettings for EProxy
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Use GSettings for EProxy
- Date: Fri, 17 Feb 2012 15:27:22 +0000 (UTC)
commit 73c56a66208781b2bec3f05add39163ee7498f80
Author: Milan Crha <mcrha redhat com>
Date: Fri Feb 17 16:26:45 2012 +0100
Use GSettings for EProxy
libedataserver/Makefile.am | 19 ++-
libedataserver/e-proxy.c | 204 ++++++--------------
libedataserver/libedataserver.convert | 14 ++
...e.evolution.shell.network-config.gschema.xml.in | 69 +++++++
po/POTFILES.in | 1 +
5 files changed, 163 insertions(+), 144 deletions(-)
---
diff --git a/libedataserver/Makefile.am b/libedataserver/Makefile.am
index 0233115..e77a72e 100644
--- a/libedataserver/Makefile.am
+++ b/libedataserver/Makefile.am
@@ -93,13 +93,28 @@ libedataserverinclude_HEADERS = \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libedataserver-$(API_VERSION).pc
+gsettings_SCHEMAS = \
+ org.gnome.evolution.shell.network-config.gschema.xml
+
+ INTLTOOL_XML_NOMERGE_RULE@
+
+ GSETTINGS_RULES@
+
+convertdir = $(datadir)/GConf/gsettings
+convert_DATA = libedataserver.convert
+
EXTRA_DIST = \
$(pkgconfig_DATA:-$(API_VERSION).pc=.pc.in) \
- eds-version.h.in
+ eds-version.h.in \
+ $(convert_DATA) \
+ $(gsettings_SCHEMAS:.xml=.xml.in)
BUILT_SOURCES = $(MARSHAL_GENERATED)
CLEANFILES = $(BUILT_SOURCES)
-DISTCLEANFILES = eds-version.h $(pkgconfig_DATA)
+
+DISTCLEANFILES = eds-version.h \
+ $(pkgconfig_DATA) \
+ $(gsettings_SCHEMAS)
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
diff --git a/libedataserver/e-proxy.c b/libedataserver/e-proxy.c
index 45454df..ef2450f 100644
--- a/libedataserver/e-proxy.c
+++ b/libedataserver/e-proxy.c
@@ -39,9 +39,6 @@
#include <sys/socket.h>
#endif
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-
#include <libsoup/soup-address.h>
#include <libsoup/soup-uri.h>
#include "e-proxy.h"
@@ -58,23 +55,6 @@ enum ProxyType {
PROXY_TYPE_AUTO_URL /* no auto-proxy at the moment */
};
-/* GConf paths and keys */
-#define PATH_GCONF_EVO_NETWORK_CONFIG "/apps/evolution/shell/network_config"
-#define KEY_GCONF_EVO_PROXY_TYPE PATH_GCONF_EVO_NETWORK_CONFIG "/proxy_type"
-
-#define KEY_GCONF_EVO_USE_HTTP_PROXY PATH_GCONF_EVO_NETWORK_CONFIG "/use_http_proxy"
-#define KEY_GCONF_EVO_HTTP_HOST PATH_GCONF_EVO_NETWORK_CONFIG "/http_host"
-#define KEY_GCONF_EVO_HTTP_PORT PATH_GCONF_EVO_NETWORK_CONFIG "/http_port"
-#define KEY_GCONF_EVO_HTTP_USE_AUTH PATH_GCONF_EVO_NETWORK_CONFIG "/use_authentication"
-#define KEY_GCONF_EVO_HTTP_AUTH_USER PATH_GCONF_EVO_NETWORK_CONFIG "/authentication_user"
-#define KEY_GCONF_EVO_HTTP_AUTH_PWD PATH_GCONF_EVO_NETWORK_CONFIG "/authentication_password"
-#define KEY_GCONF_EVO_HTTP_IGNORE_HOSTS PATH_GCONF_EVO_NETWORK_CONFIG "/ignore_hosts"
-#define KEY_GCONF_EVO_HTTPS_HOST PATH_GCONF_EVO_NETWORK_CONFIG "/secure_host"
-#define KEY_GCONF_EVO_HTTPS_PORT PATH_GCONF_EVO_NETWORK_CONFIG "/secure_port"
-#define KEY_GCONF_EVO_SOCKS_HOST PATH_GCONF_EVO_NETWORK_CONFIG "/socks_host"
-#define KEY_GCONF_EVO_SOCKS_PORT PATH_GCONF_EVO_NETWORK_CONFIG "/socks_port"
-#define KEY_GCONF_EVO_AUTOCONFIG_URL PATH_GCONF_EVO_NETWORK_CONFIG "/autoconfig_url"
-
typedef enum {
E_PROXY_KEY_MODE,
E_PROXY_KEY_USE_HTTP_PROXY,
@@ -93,11 +73,11 @@ typedef enum {
struct _EProxyPrivate {
SoupURI *uri_http, *uri_https, *uri_socks;
- guint notify_id_evo; /* conxn id of gconf_client_notify_add */
GSList * ign_hosts; /* List of hostnames. (Strings) */
GSList * ign_addrs; /* List of hostaddrs. (ProxyHostAddrs) */
gboolean use_proxy; /* Is our-proxy enabled? */
enum ProxyType type;
+ GSettings *evolution_proxy_settings;
GSettings *proxy_settings;
GSettings *proxy_http_settings;
GSettings *proxy_https_settings;
@@ -126,9 +106,6 @@ static guint signals[LAST_SIGNAL] = { 0 };
/* Forward declarations. */
-static void ep_setting_changed (GConfClient *client, guint32 cnxn_id,
- GConfEntry *entry, gpointer user_data);
-
static void ipv6_network_addr (const struct in6_addr *addr,
const struct in6_addr *mask,
struct in6_addr *res);
@@ -151,8 +128,7 @@ ep_free_proxy_host_addr (ProxyHostAddr *host)
static gboolean
ep_read_key_boolean (EProxy *proxy,
- EProxyKey key,
- GConfClient *client)
+ EProxyKey key)
{
gboolean res = FALSE;
@@ -166,13 +142,13 @@ ep_read_key_boolean (EProxy *proxy,
/* it's not used in the UI, thus behave like always set to TRUE */
res = TRUE; /* g_settings_get_boolean (proxy->priv->proxy_http_settings, "enabled"); */
else
- res = gconf_client_get_bool (client, KEY_GCONF_EVO_USE_HTTP_PROXY, NULL);
+ res = g_settings_get_boolean (proxy->priv->evolution_proxy_settings, "use-http-proxy");
break;
case E_PROXY_KEY_HTTP_USE_AUTH:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_boolean (proxy->priv->proxy_http_settings, "use-authentication");
else
- res = gconf_client_get_bool (client, KEY_GCONF_EVO_HTTP_USE_AUTH, NULL);
+ res = g_settings_get_boolean (proxy->priv->evolution_proxy_settings, "use-authentication");
break;
default:
g_warn_if_reached ();
@@ -184,8 +160,7 @@ ep_read_key_boolean (EProxy *proxy,
static gint
ep_read_key_int (EProxy *proxy,
- EProxyKey key,
- GConfClient *client)
+ EProxyKey key)
{
gint res = 0;
@@ -198,19 +173,19 @@ ep_read_key_int (EProxy *proxy,
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_int (proxy->priv->proxy_http_settings, "port");
else
- res = gconf_client_get_int (client, KEY_GCONF_EVO_HTTP_PORT, NULL);
+ res = g_settings_get_int (proxy->priv->evolution_proxy_settings, "http-port");
break;
case E_PROXY_KEY_HTTPS_PORT:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_int (proxy->priv->proxy_https_settings, "port");
else
- res = gconf_client_get_int (client, KEY_GCONF_EVO_HTTPS_PORT, NULL);
+ res = g_settings_get_int (proxy->priv->evolution_proxy_settings, "secure-port");
break;
case E_PROXY_KEY_SOCKS_PORT:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_int (proxy->priv->proxy_socks_settings, "port");
else
- res = gconf_client_get_int (client, KEY_GCONF_EVO_SOCKS_PORT, NULL);
+ res = g_settings_get_int (proxy->priv->evolution_proxy_settings, "socks-port");
break;
default:
g_warn_if_reached ();
@@ -223,8 +198,7 @@ ep_read_key_int (EProxy *proxy,
/* free returned pointer with g_free() */
static gchar *
ep_read_key_string (EProxy *proxy,
- EProxyKey key,
- GConfClient *client)
+ EProxyKey key)
{
gchar *res = NULL;
@@ -243,37 +217,37 @@ ep_read_key_string (EProxy *proxy,
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_string (proxy->priv->proxy_http_settings, "host");
else
- res = gconf_client_get_string (client, KEY_GCONF_EVO_HTTP_HOST, NULL);
+ res = g_settings_get_string (proxy->priv->evolution_proxy_settings, "http-host");
break;
case E_PROXY_KEY_HTTPS_HOST:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_string (proxy->priv->proxy_https_settings, "host");
else
- res = gconf_client_get_string (client, KEY_GCONF_EVO_HTTPS_HOST, NULL);
+ res = g_settings_get_string (proxy->priv->evolution_proxy_settings, "secure-host");
break;
case E_PROXY_KEY_SOCKS_HOST:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_string (proxy->priv->proxy_socks_settings, "host");
else
- res = gconf_client_get_string (client, KEY_GCONF_EVO_SOCKS_HOST, NULL);
+ res = g_settings_get_string (proxy->priv->evolution_proxy_settings, "socks-host");
break;
case E_PROXY_KEY_HTTP_AUTH_USER:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_string (proxy->priv->proxy_http_settings, "authentication-user");
else
- res = gconf_client_get_string (client, KEY_GCONF_EVO_HTTP_AUTH_USER, NULL);
+ res = g_settings_get_string (proxy->priv->evolution_proxy_settings, "authentication-user");
break;
case E_PROXY_KEY_HTTP_AUTH_PWD:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_string (proxy->priv->proxy_http_settings, "authentication-password");
else
- res = gconf_client_get_string (client, KEY_GCONF_EVO_HTTP_AUTH_PWD, NULL);
+ res = g_settings_get_string (proxy->priv->evolution_proxy_settings, "authentication-password");
break;
case E_PROXY_KEY_AUTOCONFIG_URL:
if (proxy->priv->type == PROXY_TYPE_SYSTEM)
res = g_settings_get_string (proxy->priv->proxy_settings, "autoconfig-url");
else
- res = gconf_client_get_string (client, KEY_GCONF_EVO_AUTOCONFIG_URL, NULL);
+ res = g_settings_get_string (proxy->priv->evolution_proxy_settings, "autoconfig-url");
break;
default:
g_warn_if_reached ();
@@ -286,10 +260,10 @@ ep_read_key_string (EProxy *proxy,
/* list of newly allocated strings, use g_free() for each member and free list itself too */
static GSList *
ep_read_key_list (EProxy *proxy,
- EProxyKey key,
- GConfClient *client)
+ EProxyKey key)
{
GSList *res = NULL;
+ gchar **strv = NULL;
g_return_val_if_fail (proxy != NULL, NULL);
g_return_val_if_fail (E_IS_PROXY (proxy), NULL);
@@ -297,26 +271,28 @@ ep_read_key_list (EProxy *proxy,
switch (key) {
case E_PROXY_KEY_HTTP_IGNORE_HOSTS:
- if (proxy->priv->type == PROXY_TYPE_SYSTEM) {
- gchar **strv;
- gint ii;
-
+ if (proxy->priv->type == PROXY_TYPE_SYSTEM)
strv = g_settings_get_strv (proxy->priv->proxy_settings, "ignore-hosts");
- for (ii = 0; strv && strv[ii]; ii++) {
- res = g_slist_prepend (res, g_strdup (strv[ii]));
- }
-
- g_strfreev (strv);
-
- res = g_slist_reverse (res);
- } else
- res = gconf_client_get_list (client, KEY_GCONF_EVO_HTTP_IGNORE_HOSTS, GCONF_VALUE_STRING, NULL);
+ else
+ strv = g_settings_get_strv (proxy->priv->evolution_proxy_settings, "ignore-hosts");
break;
default:
g_warn_if_reached ();
break;
}
+ if (strv) {
+ gint ii;
+
+ for (ii = 0; strv && strv[ii]; ii++) {
+ res = g_slist_prepend (res, g_strdup (strv[ii]));
+ }
+
+ g_strfreev (strv);
+
+ res = g_slist_reverse (res);
+ }
+
return res;
}
@@ -702,17 +678,16 @@ ep_set_proxy (EProxy *proxy,
gint proxy_port, old_type;
EProxyPrivate * priv = proxy->priv;
GSList *ignore;
- GConfClient *client = gconf_client_get_default ();
gboolean changed = FALSE, sys_manual = TRUE;
old_type = priv->type;
- priv->type = gconf_client_get_int (client, KEY_GCONF_EVO_PROXY_TYPE, NULL);
+ priv->type = g_settings_get_int (priv->evolution_proxy_settings, "proxy-type");
if (priv->type > PROXY_TYPE_AUTO_URL)
priv->type = PROXY_TYPE_SYSTEM;
changed = priv->type != old_type;
if (priv->type == PROXY_TYPE_SYSTEM) {
- gchar *mode = ep_read_key_string (proxy, E_PROXY_KEY_MODE, client);
+ gchar *mode = ep_read_key_string (proxy, E_PROXY_KEY_MODE);
/* supporting only manual system proxy setting */
sys_manual = mode && g_str_equal (mode, "manual");
@@ -720,7 +695,7 @@ ep_set_proxy (EProxy *proxy,
g_free (mode);
}
- priv->use_proxy = ep_read_key_boolean (proxy, E_PROXY_KEY_USE_HTTP_PROXY, client);
+ priv->use_proxy = ep_read_key_boolean (proxy, E_PROXY_KEY_USE_HTTP_PROXY);
if (!priv->use_proxy || priv->type == PROXY_TYPE_NO_PROXY || !sys_manual) {
changed = ep_change_uri (&priv->uri_http, NULL) || changed;
changed = ep_change_uri (&priv->uri_https, NULL) || changed;
@@ -728,8 +703,8 @@ ep_set_proxy (EProxy *proxy,
goto emit_signal;
}
- proxy_server = ep_read_key_string (proxy, E_PROXY_KEY_HTTP_HOST, client);
- proxy_port = ep_read_key_int (proxy, E_PROXY_KEY_HTTP_PORT, client);
+ proxy_server = ep_read_key_string (proxy, E_PROXY_KEY_HTTP_HOST);
+ proxy_port = ep_read_key_int (proxy, E_PROXY_KEY_HTTP_PORT);
if (proxy_server != NULL && *proxy_server && !g_ascii_isspace (*proxy_server)) {
if (proxy_port > 0)
uri_http = g_strdup_printf ("http://%s:%d", proxy_server, proxy_port);
@@ -740,8 +715,8 @@ ep_set_proxy (EProxy *proxy,
g_free (proxy_server);
d(g_print ("ep_set_proxy: uri_http: %s\n", uri_http));
- proxy_server = ep_read_key_string (proxy, E_PROXY_KEY_HTTPS_HOST, client);
- proxy_port = ep_read_key_int (proxy, E_PROXY_KEY_HTTPS_PORT, client);
+ proxy_server = ep_read_key_string (proxy, E_PROXY_KEY_HTTPS_HOST);
+ proxy_port = ep_read_key_int (proxy, E_PROXY_KEY_HTTPS_PORT);
if (proxy_server != NULL && *proxy_server && !g_ascii_isspace (*proxy_server)) {
if (proxy_port > 0)
uri_https = g_strdup_printf ("https://%s:%d", proxy_server, proxy_port);
@@ -752,8 +727,8 @@ ep_set_proxy (EProxy *proxy,
g_free (proxy_server);
d(g_print ("ep_set_proxy: uri_https: %s\n", uri_https));
- proxy_server = ep_read_key_string (proxy, E_PROXY_KEY_SOCKS_HOST, client);
- proxy_port = ep_read_key_int (proxy, E_PROXY_KEY_SOCKS_PORT, client);
+ proxy_server = ep_read_key_string (proxy, E_PROXY_KEY_SOCKS_HOST);
+ proxy_port = ep_read_key_int (proxy, E_PROXY_KEY_SOCKS_PORT);
if (proxy_server != NULL && *proxy_server && !g_ascii_isspace (*proxy_server)) {
if (proxy_port > 0)
uri_socks = g_strdup_printf ("socks://%s:%d", proxy_server, proxy_port);
@@ -777,7 +752,7 @@ ep_set_proxy (EProxy *proxy,
priv->ign_addrs = NULL;
}
- ignore = ep_read_key_list (proxy, E_PROXY_KEY_HTTP_IGNORE_HOSTS, client);
+ ignore = ep_read_key_list (proxy, E_PROXY_KEY_HTTP_IGNORE_HOSTS);
if (ignore) {
g_slist_foreach (ignore, (GFunc) ep_parse_ignore_host, proxy);
g_slist_foreach (ignore, (GFunc) g_free, NULL);
@@ -785,11 +760,11 @@ ep_set_proxy (EProxy *proxy,
}
}
- if (ep_read_key_boolean (proxy, E_PROXY_KEY_HTTP_USE_AUTH, client)) {
+ if (ep_read_key_boolean (proxy, E_PROXY_KEY_HTTP_USE_AUTH)) {
gchar *proxy_user, *proxy_pw, *tmp = NULL, *tmps = NULL;
- proxy_user = ep_read_key_string (proxy, E_PROXY_KEY_HTTP_AUTH_USER, client);
- proxy_pw = ep_read_key_string (proxy, E_PROXY_KEY_HTTP_AUTH_PWD, client);
+ proxy_user = ep_read_key_string (proxy, E_PROXY_KEY_HTTP_AUTH_USER);
+ proxy_pw = ep_read_key_string (proxy, E_PROXY_KEY_HTTP_AUTH_PWD);
if (uri_http && proxy_user && *proxy_user) {
tmp = uri_http;
@@ -819,64 +794,28 @@ ep_set_proxy (EProxy *proxy,
g_free (uri_http);
g_free (uri_https);
g_free (uri_socks);
- g_object_unref (client);
}
static void
-ep_setting_changed (GConfClient *client,
- guint32 cnxn_id,
- GConfEntry *entry,
- gpointer user_data)
+ep_evo_proxy_changed_cb (GSettings *settings,
+ const gchar *key,
+ EProxy *proxy)
{
- const gchar *key;
- EProxy * proxy = (EProxy *) user_data;
EProxyPrivate *priv;
- if (!proxy || !proxy->priv)
- return;
+ g_return_if_fail (proxy != NULL);
+ g_return_if_fail (proxy->priv != NULL);
priv = proxy->priv;
- key = gconf_entry_get_key (entry);
- if (g_str_equal (key, KEY_GCONF_EVO_PROXY_TYPE)) {
- ep_set_proxy (user_data, TRUE);
- d(g_print ("e-proxy.c:ep_settings_changed: proxy type changed\n"));
+ d(g_print ("%s: proxy settings changed, key '%s'\n", G_STRFUNC, key ? key : "NULL"));
+ if (g_strcmp0 (key, "proxy-type") == 0) {
+ ep_set_proxy (proxy, TRUE);
} else if (priv->type == PROXY_TYPE_SYSTEM) {
return;
}
- if (g_str_equal (key, KEY_GCONF_EVO_USE_HTTP_PROXY) ||
- g_str_equal (key, KEY_GCONF_EVO_HTTP_IGNORE_HOSTS) ||
- g_str_equal (key, KEY_GCONF_EVO_HTTP_HOST) ||
- g_str_equal (key, KEY_GCONF_EVO_HTTP_PORT)) {
- gboolean regen_ign_host_list = FALSE;
-
- if (g_str_equal (key, KEY_GCONF_EVO_HTTP_IGNORE_HOSTS))
- regen_ign_host_list = TRUE;
-
- ep_set_proxy (proxy, regen_ign_host_list);
- d(g_print ("e-proxy.c:ep_settings_changed: proxy settings changed\n"));
- } else if (g_str_equal (key, KEY_GCONF_EVO_HTTP_AUTH_USER) ||
- g_str_equal (key, KEY_GCONF_EVO_HTTP_AUTH_PWD) ||
- g_str_equal (key, KEY_GCONF_EVO_HTTP_USE_AUTH)) {
-
- ep_set_proxy (proxy, FALSE);
- d(g_print ("e-proxy.c:ep_settings_changed: auth settings changed\n"));
- } else if (g_str_equal (key, KEY_GCONF_EVO_HTTPS_HOST) ||
- g_str_equal (key, KEY_GCONF_EVO_HTTPS_PORT)) {
-
- ep_set_proxy (proxy, FALSE);
- d(g_print ("e-proxy.c:ep_settings_changed: https\n"));
- } else if (g_str_equal (key, KEY_GCONF_EVO_SOCKS_HOST) ||
- g_str_equal (key, KEY_GCONF_EVO_SOCKS_PORT)) {
-
- ep_set_proxy (proxy, FALSE);
- d(g_print ("e-proxy.c:ep_settings_changed: socks\n"));
- } else if (g_str_equal (key, KEY_GCONF_EVO_AUTOCONFIG_URL)) {
-
- /* ep_set_proxy (proxy, FALSE); */
- d(g_print ("e-proxy.c:ep_settings_changed: socks/autoconf-url changed\n"));
- }
+ ep_set_proxy (proxy, g_strcmp0 (key, "ignore-hosts") == 0);
}
static void
@@ -936,20 +875,16 @@ e_proxy_dispose (GObject *object)
{
EProxy *proxy;
EProxyPrivate *priv;
- GConfClient * client;
proxy = E_PROXY (object);
priv = proxy->priv;
- client = gconf_client_get_default ();
-
- if (priv->notify_id_evo > 0) {
- gconf_client_notify_remove (client, priv->notify_id_evo);
- priv->notify_id_evo = 0;
+ if (priv->evolution_proxy_settings) {
+ g_signal_handlers_disconnect_by_func (priv->evolution_proxy_settings, ep_evo_proxy_changed_cb, proxy);
+ g_object_unref (priv->evolution_proxy_settings);
+ priv->evolution_proxy_settings = NULL;
}
- g_object_unref (client);
-
if (priv->proxy_settings) {
g_signal_handlers_disconnect_by_func (priv->proxy_settings, ep_sys_proxy_changed_cb, proxy);
g_object_unref (priv->proxy_settings);
@@ -1007,7 +942,7 @@ e_proxy_class_init (EProxyClass *class)
* EProxy::changed:
* @proxy: the #EProxy which emitted the signal
*
- * Emitted when proxy settings in gconf changes.
+ * Emitted when proxy settings changes.
**/
signals[CHANGED] = g_signal_new (
"changed",
@@ -1028,11 +963,13 @@ e_proxy_init (EProxy *proxy)
proxy->priv->type = PROXY_TYPE_SYSTEM;
+ proxy->priv->evolution_proxy_settings = g_settings_new ("org.gnome.evolution.shell.network-config");
proxy->priv->proxy_settings = g_settings_new ("org.gnome.system.proxy");
proxy->priv->proxy_http_settings = g_settings_get_child (proxy->priv->proxy_settings, "http");
proxy->priv->proxy_https_settings = g_settings_get_child (proxy->priv->proxy_settings, "https");
proxy->priv->proxy_socks_settings = g_settings_get_child (proxy->priv->proxy_settings, "socks");
+ g_signal_connect (proxy->priv->evolution_proxy_settings, "changed", G_CALLBACK (ep_evo_proxy_changed_cb), proxy);
g_signal_connect (proxy->priv->proxy_settings, "changed", G_CALLBACK (ep_sys_proxy_changed_cb), proxy);
g_signal_connect (proxy->priv->proxy_http_settings, "changed", G_CALLBACK (ep_sys_proxy_http_changed_cb), proxy);
g_signal_connect (proxy->priv->proxy_https_settings, "changed", G_CALLBACK (ep_sys_proxy_https_changed_cb), proxy);
@@ -1058,7 +995,7 @@ e_proxy_new (void)
void
e_proxy_setup_proxy (EProxy *proxy)
{
- GConfClient *client;
+ g_return_if_fail (E_IS_PROXY (proxy));
/* We get the evolution-shell proxy keys here
* set soup up to use the proxy,
@@ -1066,24 +1003,7 @@ e_proxy_setup_proxy (EProxy *proxy)
/* XXX Why can't we do this automatically in constructed() ? */
- g_return_if_fail (E_IS_PROXY (proxy));
-
- client = gconf_client_get_default ();
-
- if (proxy->priv->notify_id_evo == 0) {
- /* Listen to the changes in the evolution-shell path */
- gconf_client_add_dir (
- client, PATH_GCONF_EVO_NETWORK_CONFIG,
- GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
-
- proxy->priv->notify_id_evo = gconf_client_notify_add (
- client, PATH_GCONF_EVO_NETWORK_CONFIG,
- ep_setting_changed, (gpointer) proxy, NULL, NULL);
- }
-
ep_set_proxy (proxy, TRUE);
-
- g_object_unref (client);
}
/**
diff --git a/libedataserver/libedataserver.convert b/libedataserver/libedataserver.convert
new file mode 100644
index 0000000..ea443ab
--- /dev/null
+++ b/libedataserver/libedataserver.convert
@@ -0,0 +1,14 @@
+[org.gnome.evolution.shell.network-config]
+proxy-type = /apps/evolution/shell/network_config/proxy_type
+use-http-proxy = /apps/evolution/shell/network_config/use_http_proxy
+use-authentication = /apps/evolution/shell/network_config/use_authentication
+http-host = /apps/evolution/shell/network_config/http_host
+http-port = /apps/evolution/shell/network_config/http_port
+authentication-user = /apps/evolution/shell/network_config/authentication_user
+authentication-password = /apps/evolution/shell/network_config/authentication_password
+ignore-hosts = /apps/evolution/shell/network_config/ignore_hosts
+secure-host = /apps/evolution/shell/network_config/secure_host
+secure-port = /apps/evolution/shell/network_config/secure_port
+socks-host = /apps/evolution/shell/network_config/socks_host
+socks-port = /apps/evolution/shell/network_config/socks_port
+autoconfig-url = /apps/evolution/shell/network_config/autoconfig_url
diff --git a/libedataserver/org.gnome.evolution.shell.network-config.gschema.xml.in b/libedataserver/org.gnome.evolution.shell.network-config.gschema.xml.in
new file mode 100644
index 0000000..cb87004
--- /dev/null
+++ b/libedataserver/org.gnome.evolution.shell.network-config.gschema.xml.in
@@ -0,0 +1,69 @@
+<schemalist>
+ <schema gettext-domain="evolution-data-server" id="org.gnome.evolution.shell.network-config" path="/org/gnome/evolution/shell/network-config/">
+ <key name="proxy-type" type="i">
+ <default>0</default>
+ <_summary>Proxy type to use</_summary>
+ <_description>What proxy type to use. "0" means system, "1" means no proxy, "2" means manual proxy.</_description>
+ </key>
+ <key name="use-http-proxy" type="b">
+ <default>false</default>
+ <_summary>Whether to use http-proxy</_summary>
+ <_description>Whether to use proxy for HTTP requests.</_description>
+ </key>
+ <key name="use-authentication" type="b">
+ <default>false</default>
+ <_summary>Whether proxy server requires authentication</_summary>
+ <_description>Whether authentication is required to access proxy server.</_description>
+ </key>
+ <key name="http-host" type="s">
+ <default>''</default>
+ <_summary>Host name for HTTP requests</_summary>
+ <_description>Host name to use for HTTP requests.</_description>
+ </key>
+ <key name="http-port" type="i">
+ <default>0</default>
+ <_summary>Port number for HTTP requests</_summary>
+ <_description>Port number to use for HTTP requests.</_description>
+ </key>
+ <key name="authentication-user" type="s">
+ <default>''</default>
+ <_summary>Proxy authentication user name</_summary>
+ <_description>User name to use to authenticate against proxy server.</_description>
+ </key>
+ <key name="authentication-password" type="s">
+ <default>''</default>
+ <_summary>Proxy authentication password</_summary>
+ <_description>Password to use to authenticate against proxy server.</_description>
+ </key>
+ <key name="ignore-hosts" type="as">
+ <default>[]</default>
+ <_summary>List of hosts to connect to without proxy</_summary>
+ <_description>List of hosts for which do not use proxy.</_description>
+ </key>
+ <key name="secure-host" type="s">
+ <default>''</default>
+ <_summary>Host name for HTTPS requests</_summary>
+ <_description>Host name to use for HTTPS requests.</_description>
+ </key>
+ <key name="secure-port" type="i">
+ <default>0</default>
+ <_summary>Port number for HTTPS requests</_summary>
+ <_description>Port number to use for HTTPS requests.</_description>
+ </key>
+ <key name="socks-host" type="s">
+ <default>''</default>
+ <_summary>Host name for SOCKS requests</_summary>
+ <_description>Host name to use for SOCKS requests.</_description>
+ </key>
+ <key name="socks-port" type="i">
+ <default>0</default>
+ <_summary>Port number for SOCKS requests</_summary>
+ <_description>Port number to use for SOCKS requests.</_description>
+ </key>
+ <key name="autoconfig-url" type="s">
+ <default>''</default>
+ <_summary>Automatic proxy configuration URL</_summary>
+ <_description>Where to read automatic proxy configuration from.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index b7b4c67..fc8804b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -183,6 +183,7 @@ camel/providers/smtp/camel-smtp-transport.c
libedataserver/e-categories.c
libedataserver/e-client.c
libedataserver/e-time-utils.c
+libedataserver/org.gnome.evolution.shell.network-config.gschema.xml.in
libedataserverui/e-book-auth-util.c
libedataserverui/e-categories-dialog.c
libedataserverui/e-categories-editor.c
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]