Esempio n. 1
0
static void
migrate_proxy_prefs (void)
{
	const gchar *keys[][2] = 
	{{OLD_NETWORK_HTTP_PROXY,       CONF_NETWORK_HTTP_PROXY},
	 {OLD_NETWORK_SSL_PROXY,        CONF_NETWORK_SSL_PROXY},
	 {OLD_NETWORK_FTP_PROXY,        CONF_NETWORK_FTP_PROXY},
	 {OLD_NETWORK_SOCKS_PROXY,      CONF_NETWORK_SOCKS_PROXY}, 
	 {OLD_NETWORK_HTTP_PROXY_PORT,  CONF_NETWORK_HTTP_PROXY_PORT},
	 {OLD_NETWORK_SSL_PROXY_PORT,   CONF_NETWORK_SSL_PROXY_PORT},
	 {OLD_NETWORK_FTP_PROXY_PORT,   CONF_NETWORK_FTP_PROXY_PORT},
	 {OLD_NETWORK_SOCKS_PROXY_PORT, CONF_NETWORK_SOCKS_PROXY_PORT},
	 {OLD_NETWORK_PROXY_AUTO_URL,   CONF_NETWORK_PROXY_AUTO_URL},
	 {NULL, NULL}};
	int proxy_mode;
	const char *proxy_modes[3] = {"none", "manual", "auto"};
	/* 
	 * If the proxy prefs were never migrated, and if the user
	 * has no prefs set for the gnome-wide proxy settings, migrate
	 * its prefs
	 */
	if (!eel_gconf_key_exists (CONF_NETWORK_PROXY_AUTO_URL) &&
	    !eel_gconf_get_boolean (CONF_NETWORK_PROXY_MIGRATED)) 
	{
		GConfValue *value;	
		int i;

		for (i=0; keys[i][0] != NULL; i++)
		{		  
			value = eel_gconf_get_value (keys[i][0]);
			if (value)
			{
				eel_gconf_set_value (keys[i][1], value);
				eel_gconf_value_free (value);
			}
		}

		proxy_mode = eel_gconf_get_integer (OLD_NETWORK_PROXY_MODE);
		if (proxy_mode < 0 || proxy_mode > 2) 
		{
			proxy_mode = 0;
		}
		eel_gconf_set_string (CONF_NETWORK_PROXY_MODE, 
				      proxy_modes[proxy_mode]);
	}
	
	eel_gconf_set_boolean (CONF_NETWORK_PROXY_MIGRATED, TRUE);	
}
Esempio n. 2
0
gboolean
eel_gconf_is_default (const char *key)
{
    gboolean result;
    GConfValue *value;
    GError *error = NULL;

    g_return_val_if_fail (key != NULL, FALSE);

    value = gconf_client_get_without_default  (eel_gconf_client_get_global (), key, &error);

    if (eel_gconf_handle_error (&error)) {
        if (value != NULL) {
            gconf_value_free (value);
        }
        return FALSE;
    }

    result = (value == NULL);
    eel_gconf_value_free (value);
    return result;
}