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); }
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; }