network: Use proxy settings in GSettings
This commit is contained in:
parent
fb530f83f8
commit
2a5eca505d
3 changed files with 92 additions and 163 deletions
|
@ -23,8 +23,6 @@
|
|||
|
||||
#include "cc-network-panel.h"
|
||||
|
||||
#include <gconf/gconf-client.h>
|
||||
|
||||
G_DEFINE_DYNAMIC_TYPE (CcNetworkPanel, cc_network_panel, CC_TYPE_PANEL)
|
||||
|
||||
#define NETWORK_PANEL_PRIVATE(o) \
|
||||
|
@ -33,7 +31,6 @@ G_DEFINE_DYNAMIC_TYPE (CcNetworkPanel, cc_network_panel, CC_TYPE_PANEL)
|
|||
struct _CcNetworkPanelPrivate
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
GConfClient *client;
|
||||
};
|
||||
|
||||
|
||||
|
@ -74,12 +71,6 @@ cc_network_panel_dispose (GObject *object)
|
|||
priv->builder = NULL;
|
||||
}
|
||||
|
||||
if (!priv->client)
|
||||
{
|
||||
g_object_unref (priv->client);
|
||||
priv->client = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (cc_network_panel_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
|
@ -117,9 +108,8 @@ cc_network_panel_init (CcNetworkPanel *self)
|
|||
|
||||
|
||||
priv->builder = gtk_builder_new ();
|
||||
priv->client = gconf_client_get_default ();
|
||||
|
||||
gnome_network_properties_init (priv->builder, priv->client);
|
||||
gnome_network_properties_init (priv->builder);
|
||||
|
||||
widget = (GtkWidget *) gtk_builder_get_object (priv->builder,
|
||||
"network-panel");
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#define _CC_NETWORK_PANEL_H
|
||||
|
||||
#include <libgnome-control-center/cc-panel.h>
|
||||
#include <gconf/gconf-client.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
@ -71,8 +70,7 @@ GType cc_network_panel_get_type (void) G_GNUC_CONST;
|
|||
void cc_network_panel_register (GIOModule *module);
|
||||
|
||||
|
||||
int gnome_network_properties_init (GtkBuilder *builder,
|
||||
GConfClient *client);
|
||||
int gnome_network_properties_init (GtkBuilder *builder);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <gconf/gconf-client.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <gio/gio.h>
|
||||
|
||||
#include "libgnome-control-center/gconf-property-editor.h"
|
||||
|
||||
|
@ -52,15 +52,11 @@ enum {
|
|||
COL_STYLE
|
||||
};
|
||||
|
||||
#define USE_PROXY_KEY "/system/http_proxy/use_http_proxy"
|
||||
#define USE_SAME_PROXY_KEY "/system/http_proxy/use_same_proxy"
|
||||
#define HTTP_PROXY_HOST_KEY "/system/http_proxy/host"
|
||||
#define HTTP_PROXY_PORT_KEY "/system/http_proxy/port"
|
||||
#define HTTP_USE_AUTH_KEY "/system/http_proxy/use_authentication"
|
||||
#define HTTP_AUTH_USER_KEY "/system/http_proxy/authentication_user"
|
||||
#define HTTP_AUTH_PASSWD_KEY "/system/http_proxy/authentication_password"
|
||||
#define IGNORE_HOSTS_KEY "/system/http_proxy/ignore_hosts"
|
||||
#define PROXY_MODE_KEY "/system/proxy/mode"
|
||||
#define SECURE_PROXY_HOST_KEY "/system/proxy/secure_host"
|
||||
#define OLD_SECURE_PROXY_HOST_KEY "/system/proxy/old_secure_host"
|
||||
#define SECURE_PROXY_PORT_KEY "/system/proxy/secure_port"
|
||||
|
@ -73,7 +69,6 @@ enum {
|
|||
#define OLD_SOCKS_PROXY_HOST_KEY "/system/proxy/old_socks_host"
|
||||
#define SOCKS_PROXY_PORT_KEY "/system/proxy/socks_port"
|
||||
#define OLD_SOCKS_PROXY_PORT_KEY "/system/proxy/old_socks_port"
|
||||
#define PROXY_AUTOCONFIG_URL_KEY "/system/proxy/autoconfig_url"
|
||||
|
||||
#define LOCATION_DIR "/apps/control-center/network"
|
||||
#define CURRENT_LOCATION "/apps/control-center/network/current_location"
|
||||
|
@ -81,8 +76,13 @@ enum {
|
|||
#define GNOMECC_GNP_UI_FILE (GNOMECC_UI_DIR "/gnome-network-properties.ui")
|
||||
|
||||
static GtkWidget *details_dialog = NULL;
|
||||
static GSList *ignore_hosts = NULL;
|
||||
static GPtrArray *ignore_hosts = NULL;
|
||||
static GtkTreeModel *model = NULL;
|
||||
static GSettings *proxy_settings = NULL;
|
||||
static GSettings *http_proxy_settings = NULL;
|
||||
static GSettings *https_proxy_settings = NULL;
|
||||
static GSettings *ftp_proxy_settings = NULL;
|
||||
static GSettings *socks_proxy_settings = NULL;
|
||||
|
||||
static GtkTreeModel *
|
||||
create_listmodel(void)
|
||||
|
@ -95,22 +95,19 @@ create_listmodel(void)
|
|||
}
|
||||
|
||||
static GtkTreeModel *
|
||||
populate_listmodel(GtkListStore *store, GSList *list)
|
||||
populate_listmodel (GtkListStore *store, GPtrArray *list)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GSList *pointer;
|
||||
gint i;
|
||||
|
||||
gtk_list_store_clear(store);
|
||||
gtk_list_store_clear (store);
|
||||
|
||||
pointer = list;
|
||||
while(pointer)
|
||||
{
|
||||
gtk_list_store_append(store, &iter);
|
||||
gtk_list_store_set(store, &iter, 0, (char *) pointer->data, -1);
|
||||
pointer = g_slist_next(pointer);
|
||||
for (i = 0; i < list->len; i++) {
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter, 0, (char *) g_ptr_array_index (list, i), -1);
|
||||
}
|
||||
|
||||
return GTK_TREE_MODEL(store);
|
||||
return GTK_TREE_MODEL (store);
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
|
@ -140,19 +137,17 @@ cb_add_url (GtkButton *button, gpointer data)
|
|||
{
|
||||
GtkBuilder *builder = GTK_BUILDER (data);
|
||||
gchar *new_url = NULL;
|
||||
GConfClient *client;
|
||||
|
||||
new_url = g_strdup (gtk_entry_get_text (GTK_ENTRY (gtk_builder_get_object (builder, "entry_url"))));
|
||||
if (strlen (new_url) == 0)
|
||||
return;
|
||||
ignore_hosts = g_slist_append(ignore_hosts, new_url);
|
||||
populate_listmodel(GTK_LIST_STORE(model), ignore_hosts);
|
||||
gtk_entry_set_text(GTK_ENTRY (gtk_builder_get_object (builder,
|
||||
"entry_url")), "");
|
||||
|
||||
client = gconf_client_get_default ();
|
||||
gconf_client_set_list (client, IGNORE_HOSTS_KEY, GCONF_VALUE_STRING, ignore_hosts, NULL);
|
||||
g_object_unref (client);
|
||||
g_ptr_array_add (ignore_hosts, new_url);
|
||||
populate_listmodel (GTK_LIST_STORE (model), ignore_hosts);
|
||||
gtk_entry_set_text (GTK_ENTRY (gtk_builder_get_object (builder,
|
||||
"entry_url")), "");
|
||||
|
||||
g_settings_set_strv (proxy_settings, "ignore-hosts", (const gchar **) pdata->pdata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -167,28 +162,22 @@ cb_remove_url (GtkButton *button, gpointer data)
|
|||
if (gtk_tree_selection_get_selected(selection, &model, &iter))
|
||||
{
|
||||
gchar *url;
|
||||
GSList *pointer;
|
||||
guint i;
|
||||
|
||||
gtk_tree_model_get (model, &iter, 0, &url, -1);
|
||||
|
||||
pointer = ignore_hosts;
|
||||
while(pointer)
|
||||
{
|
||||
if(strcmp(url, (char *) pointer->data) == 0)
|
||||
{
|
||||
g_free (pointer->data);
|
||||
ignore_hosts = g_slist_delete_link(ignore_hosts, pointer);
|
||||
for (i = 0; i < ignore_hosts->len; i++) {
|
||||
if (g_str_equal (url, (char *) g_ptr_array_index (ignore_hosts, i))) {
|
||||
g_ptr_array_remove_index (ignore_hosts, i);
|
||||
break;
|
||||
}
|
||||
pointer = g_slist_next(pointer);
|
||||
}
|
||||
|
||||
g_free(url);
|
||||
populate_listmodel(GTK_LIST_STORE(model), ignore_hosts);
|
||||
g_free (url);
|
||||
populate_listmodel (GTK_LIST_STORE(model), ignore_hosts);
|
||||
|
||||
client = gconf_client_get_default ();
|
||||
gconf_client_set_list(client, IGNORE_HOSTS_KEY, GCONF_VALUE_STRING, ignore_hosts, NULL);
|
||||
g_object_unref (client);
|
||||
g_settings_set_strv (proxy_settings, "ignore-hosts", (const gchar **) ignore_hosts->pdata);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,10 +189,8 @@ cb_dialog_response (GtkDialog *dialog, gint response_id)
|
|||
"goscustdesk-50");
|
||||
else */ if (response_id == GTK_RESPONSE_CLOSE || response_id == GTK_RESPONSE_DELETE_EVENT)
|
||||
{
|
||||
if (ignore_hosts) {
|
||||
g_slist_foreach (ignore_hosts, (GFunc) g_free, NULL);
|
||||
g_slist_free (ignore_hosts);
|
||||
}
|
||||
if (ignore_hosts != NULL)
|
||||
g_ptr_array_free (ignore_hosts, TRUE);
|
||||
|
||||
gtk_main_quit ();
|
||||
}
|
||||
|
@ -1021,72 +1008,30 @@ static void
|
|||
cb_use_same_proxy_checkbutton_clicked (GtkWidget *checkbutton,
|
||||
GtkBuilder *builder)
|
||||
{
|
||||
GConfClient *client;
|
||||
gboolean same_proxy;
|
||||
gchar *http_proxy;
|
||||
gint http_port;
|
||||
gchar *host;
|
||||
|
||||
client = gconf_client_get_default ();
|
||||
same_proxy = gconf_client_get_bool (client, USE_SAME_PROXY_KEY, NULL);
|
||||
same_proxy = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton));
|
||||
|
||||
http_proxy = gconf_client_get_string (client, HTTP_PROXY_HOST_KEY, NULL);
|
||||
http_port = gconf_client_get_int (client, HTTP_PROXY_PORT_KEY, NULL);
|
||||
|
||||
if (same_proxy)
|
||||
{
|
||||
/* Save the old values */
|
||||
host = gconf_client_get_string (client, SECURE_PROXY_HOST_KEY, NULL);
|
||||
gconf_client_set_string (client, OLD_SECURE_PROXY_HOST_KEY, host, NULL);
|
||||
gconf_client_set_int (client, OLD_SECURE_PROXY_PORT_KEY,
|
||||
gconf_client_get_int (client, SECURE_PROXY_PORT_KEY, NULL), NULL);
|
||||
g_free (host);
|
||||
|
||||
host = gconf_client_get_string (client, FTP_PROXY_HOST_KEY, NULL);
|
||||
gconf_client_set_string (client, OLD_FTP_PROXY_HOST_KEY, host, NULL);
|
||||
gconf_client_set_int (client, OLD_FTP_PROXY_PORT_KEY,
|
||||
gconf_client_get_int (client, FTP_PROXY_PORT_KEY, NULL), NULL);
|
||||
g_free (host);
|
||||
|
||||
host = gconf_client_get_string (client, SOCKS_PROXY_HOST_KEY, NULL);
|
||||
gconf_client_set_string (client, OLD_SOCKS_PROXY_HOST_KEY, host, NULL);
|
||||
gconf_client_set_int (client, OLD_SOCKS_PROXY_PORT_KEY,
|
||||
gconf_client_get_int (client, SOCKS_PROXY_PORT_KEY, NULL), NULL);
|
||||
g_free (host);
|
||||
http_proxy = g_settings_get_string (http_proxy_settings, "host");
|
||||
http_port = g_settings__get_int (http_proxy_settings, "port");
|
||||
|
||||
if (same_proxy) {
|
||||
/* Set the new values */
|
||||
gconf_client_set_string (client, SECURE_PROXY_HOST_KEY, http_proxy, NULL);
|
||||
gconf_client_set_int (client, SECURE_PROXY_PORT_KEY, http_port, NULL);
|
||||
gtk_entry_set_text (_gtk_builder_get_object (builder, "secure_host_entry"), http_proxy);
|
||||
gtk_range_set_value (_gtk_builder_get_object (builder, "secure_host_spinbutton"), (gdouble) http_port);
|
||||
|
||||
gconf_client_set_string (client, FTP_PROXY_HOST_KEY, http_proxy, NULL);
|
||||
gconf_client_set_int (client, FTP_PROXY_PORT_KEY, http_port, NULL);
|
||||
gtk_entry_set_text (_gtk_builder_get_object (builder, "ftp_host_entry"), http_proxy);
|
||||
gtk_range_set_value (_gtk_builder_get_object (builder, "ftp_host_spinbutton"), (gdouble) http_port);
|
||||
|
||||
gconf_client_set_string (client, SOCKS_PROXY_HOST_KEY, http_proxy, NULL);
|
||||
gconf_client_set_int (client, SOCKS_PROXY_PORT_KEY, http_port, NULL);
|
||||
gtk_entry_set_text (_gtk_builder_get_object (builder, "socks_host_entry"), http_proxy);
|
||||
gtk_range_set_value (_gtk_builder_get_object (builder, "socks_host_spinbutton"), (gdouble) http_port);
|
||||
|
||||
/* Synchronize entries */
|
||||
synchronize_entries (builder);
|
||||
}
|
||||
else
|
||||
{
|
||||
host = gconf_client_get_string (client, OLD_SECURE_PROXY_HOST_KEY, NULL);
|
||||
gconf_client_set_string (client, SECURE_PROXY_HOST_KEY, host, NULL);
|
||||
gconf_client_set_int (client, SECURE_PROXY_PORT_KEY,
|
||||
gconf_client_get_int (client, OLD_SECURE_PROXY_PORT_KEY, NULL), NULL);
|
||||
g_free (host);
|
||||
|
||||
host = gconf_client_get_string (client, OLD_FTP_PROXY_HOST_KEY, NULL);
|
||||
gconf_client_set_string (client, FTP_PROXY_HOST_KEY, host, NULL);
|
||||
gconf_client_set_int (client, FTP_PROXY_PORT_KEY,
|
||||
gconf_client_get_int (client, OLD_FTP_PROXY_PORT_KEY, NULL), NULL);
|
||||
g_free (host);
|
||||
|
||||
host = gconf_client_get_string (client, OLD_SOCKS_PROXY_HOST_KEY, NULL);
|
||||
gconf_client_set_string (client, SOCKS_PROXY_HOST_KEY, host, NULL);
|
||||
gconf_client_set_int (client, SOCKS_PROXY_PORT_KEY,
|
||||
gconf_client_get_int (client, OLD_SOCKS_PROXY_PORT_KEY, NULL), NULL);
|
||||
g_free (host);
|
||||
|
||||
} else {
|
||||
/* Hosts and ports should not be synchronized any more */
|
||||
unsynchronize_entries (builder);
|
||||
}
|
||||
|
@ -1110,8 +1055,6 @@ cb_use_same_proxy_checkbutton_clicked (GtkWidget *checkbutton,
|
|||
gtk_widget_set_sensitive (_gtk_builder_get_widget (builder,
|
||||
"socks_port_spinbutton"),
|
||||
!same_proxy);
|
||||
|
||||
g_object_unref (client);
|
||||
}
|
||||
|
||||
static gchar *
|
||||
|
@ -1174,7 +1117,6 @@ proxy_mode_radiobutton_clicked_cb (GtkWidget *widget,
|
|||
{
|
||||
GSList *mode_group;
|
||||
int mode;
|
||||
GConfClient *client;
|
||||
|
||||
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)))
|
||||
return;
|
||||
|
@ -1191,10 +1133,10 @@ proxy_mode_radiobutton_clicked_cb (GtkWidget *widget,
|
|||
mode == PROXYMODE_MANUAL);
|
||||
gtk_widget_set_sensitive (_gtk_builder_get_widget (builder, "auto_box"),
|
||||
mode == PROXYMODE_AUTO);
|
||||
client = gconf_client_get_default ();
|
||||
gconf_client_set_bool (client, USE_PROXY_KEY,
|
||||
mode == PROXYMODE_AUTO || mode == PROXYMODE_MANUAL, NULL);
|
||||
g_object_unref (client);
|
||||
|
||||
g_settings_set_string (proxy_settings, "mode", proxytype_values[mode].value_nick);
|
||||
g_settings_set_boolean (http_proxy_settings, "enabled",
|
||||
mode == PROXYMODE_AUTO || mode == PROXYMODE_MANUAL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1209,16 +1151,25 @@ connect_sensitivity_signals (GtkBuilder *builder, GSList *mode_group)
|
|||
}
|
||||
|
||||
static void
|
||||
cb_ignore_hosts_gconf_changed (GConfClient *client, guint cnxn_id,
|
||||
GConfEntry *entry, gpointer user_data)
|
||||
proxy_settings_changed_cb (GSettings *settings,
|
||||
const gchar *key,
|
||||
gpointer user_data)
|
||||
{
|
||||
g_slist_foreach (ignore_hosts, (GFunc) g_free, NULL);
|
||||
g_slist_free (ignore_hosts);
|
||||
if (g_str_equal (key, "ignore-hosts")) {
|
||||
gchar **hosts;
|
||||
guint i = 0;
|
||||
|
||||
ignore_hosts = gconf_client_get_list (client, IGNORE_HOSTS_KEY,
|
||||
GCONF_VALUE_STRING, NULL);
|
||||
g_ptr_array_free (ignore_hosts, TRUE);
|
||||
|
||||
populate_listmodel (GTK_LIST_STORE (model), ignore_hosts);
|
||||
hosts = g_settings_get_strv (proxy_settings, "ignore-hosts");
|
||||
while (hosts[i] != NULL) {
|
||||
g_ptr_array_add (ignore_hosts, hosts[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
populate_listmodel (GTK_LIST_STORE (model), ignore_hosts);
|
||||
g_strfreev (hosts);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1249,8 +1200,6 @@ setup_dialog (GtkBuilder *builder)
|
|||
gconf_client_add_dir (client, LOCATION_DIR, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
gconf_client_notify_add (client, CURRENT_LOCATION, (GConfClientNotifyFunc) cb_current_location, builder, NULL, NULL);
|
||||
|
||||
gconf_client_notify_add (client, IGNORE_HOSTS_KEY, cb_ignore_hosts_gconf_changed, NULL, NULL, NULL);
|
||||
|
||||
g_signal_connect (location_box, "changed", G_CALLBACK (cb_location_changed), builder);
|
||||
g_signal_connect (gtk_builder_get_object (builder, "delete_button"), "clicked", G_CALLBACK (cb_delete_button_clicked), builder);
|
||||
|
||||
|
@ -1265,48 +1214,39 @@ setup_dialog (GtkBuilder *builder)
|
|||
mode_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (gtk_builder_get_object (builder, "none_radiobutton")));
|
||||
connect_sensitivity_signals (builder, mode_group);
|
||||
|
||||
peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_select_radio_with_enum (NULL,
|
||||
PROXY_MODE_KEY, mode_group, mode_type,
|
||||
TRUE, NULL));
|
||||
|
||||
/* Use same proxy for all protocols */
|
||||
same_proxy_toggle = _gtk_builder_get_widget (builder, "same_proxy_checkbutton");
|
||||
peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_boolean (NULL,
|
||||
USE_SAME_PROXY_KEY, same_proxy_toggle, NULL));
|
||||
|
||||
g_signal_connect (same_proxy_toggle,
|
||||
"toggled",
|
||||
G_CALLBACK (cb_use_same_proxy_checkbutton_clicked),
|
||||
builder);
|
||||
|
||||
/* Http */
|
||||
port_value = gconf_client_get_int (client, HTTP_PROXY_PORT_KEY, NULL);
|
||||
port_value = g_settings_get_int (http_proxy_settings, "port");
|
||||
gtk_spin_button_set_value (GTK_SPIN_BUTTON (gtk_builder_get_object (builder, "http_port_spinbutton")), (gdouble) port_value);
|
||||
peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_string (
|
||||
NULL, HTTP_PROXY_HOST_KEY, _gtk_builder_get_widget (builder, "http_host_entry"),
|
||||
"conv-from-widget-cb", extract_proxy_host,
|
||||
NULL));
|
||||
peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_integer (
|
||||
NULL, HTTP_PROXY_PORT_KEY,
|
||||
_gtk_builder_get_widget (builder, "http_port_spinbutton"),
|
||||
NULL));
|
||||
|
||||
g_settings_bind (http_proxy_settings, "port",
|
||||
gtk_range_get_adjustment (GTK_RANGE (gtk_builder_get_object (builder, "http_port_spinbutton"))), "value",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
g_settings_bind (http_proxy_settings, "host",
|
||||
_gtk_builder_get_widget (builder, "http_host_entry"), "text",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
g_signal_connect (gtk_builder_get_object (builder, "details_button"),
|
||||
"clicked",
|
||||
G_CALLBACK (cb_http_details_button_clicked),
|
||||
_gtk_builder_get_widget (builder, "network-panel"));
|
||||
|
||||
/* Secure */
|
||||
port_value = gconf_client_get_int (client, SECURE_PROXY_PORT_KEY, NULL);
|
||||
port_value = g_settings_get_int (https_proxy_settings, "port");
|
||||
gtk_spin_button_set_value (GTK_SPIN_BUTTON (gtk_builder_get_object (builder, "secure_port_spinbutton")), (gdouble) port_value);
|
||||
peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_string (
|
||||
NULL, SECURE_PROXY_HOST_KEY,
|
||||
_gtk_builder_get_widget (builder, "secure_host_entry"),
|
||||
"conv-from-widget-cb", extract_proxy_host,
|
||||
NULL));
|
||||
peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_integer (
|
||||
NULL, SECURE_PROXY_PORT_KEY,
|
||||
_gtk_builder_get_widget (builder, "secure_port_spinbutton"),
|
||||
NULL));
|
||||
|
||||
g_settings_bind (https_proxy_settings, "host",
|
||||
_gtk_builder_get_widget (builder, "secure_host_entry"), "text",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
g_settings_bind (https_proxy_settings, "port",
|
||||
gtk_range_get_adjustment (GTK_RANGE (_gtk_builder_get_widget (builder, "secure_port_spinbutton"))), "value",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
/* Ftp */
|
||||
port_value = gconf_client_get_int (client, FTP_PROXY_PORT_KEY, NULL);
|
||||
|
@ -1349,17 +1289,15 @@ setup_dialog (GtkBuilder *builder)
|
|||
}
|
||||
|
||||
/* Autoconfiguration */
|
||||
peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_string (
|
||||
NULL, PROXY_AUTOCONFIG_URL_KEY,
|
||||
_gtk_builder_get_widget (builder, "autoconfig_entry"),
|
||||
NULL));
|
||||
g_settings_bind (proxy_settings, "autoconfig-url",
|
||||
_gtk_builder_get_widget (builder, "autoconfig_entry"), "text",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
g_signal_connect (gtk_builder_get_object (builder, "network_dialog"),
|
||||
"response", G_CALLBACK (cb_dialog_response), NULL);
|
||||
|
||||
|
||||
ignore_hosts = gconf_client_get_list(client, IGNORE_HOSTS_KEY, GCONF_VALUE_STRING, NULL);
|
||||
g_object_unref (client);
|
||||
proxy_settings_changed_cb (proxy_settings, "ignore-hosts", builder);
|
||||
|
||||
model = create_listmodel();
|
||||
populate_listmodel(GTK_LIST_STORE(model), ignore_hosts);
|
||||
|
@ -1374,8 +1312,7 @@ setup_dialog (GtkBuilder *builder)
|
|||
}
|
||||
|
||||
int
|
||||
gnome_network_properties_init (GtkBuilder *builder,
|
||||
GConfClient *client)
|
||||
gnome_network_properties_init (GtkBuilder *builder)
|
||||
{
|
||||
GError *error = NULL;
|
||||
gchar *builder_widgets[] = {"network_dialog", "adjustment1",
|
||||
|
@ -1386,10 +1323,14 @@ gnome_network_properties_init (GtkBuilder *builder,
|
|||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
gconf_client_add_dir (client, "/system/http_proxy",
|
||||
GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
gconf_client_add_dir (client, "/system/proxy",
|
||||
GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
proxy_settings = g_settings_new ("org.gnome.system.proxy");
|
||||
g_signal_connect (proxy_settings, "changed",
|
||||
G_CALLBACK (proxy_settings_changed_cb), builder);
|
||||
|
||||
http_proxy_settings = g_settings_new ("org.gnome.system.proxy.http");
|
||||
https_proxy_settings = g_settings_new ("org.gnome.system.proxy.https");
|
||||
ftp_proxy_settings = g_settings_new ("org.gnome.system.proxy.ftp");
|
||||
socks_proxy_settings = g_settings_new ("org.gnome.system.proxy.socks");
|
||||
|
||||
if (gtk_builder_add_objects_from_file (builder, GNOMECC_GNP_UI_FILE,
|
||||
builder_widgets, &error) == 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue