Network: Use grids for alignment instead of a huge set of size groups

https://bugzilla.gnome.org/show_bug.cgi?id=645772
This commit is contained in:
William Jon McCann 2011-03-26 16:45:08 -04:00 committed by Matthias Clasen
parent 4576e48c19
commit 8613d54e9a
2 changed files with 2129 additions and 2354 deletions

View file

@ -245,21 +245,49 @@ panel_proxy_mode_combo_setup_widgets (CcNetworkPanel *panel, guint value)
/* hide or show the PAC text box */
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"hbox_proxy_url"));
"heading_proxy_url"));
gtk_widget_set_visible (widget, value == 2);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"entry_proxy_url"));
gtk_widget_set_visible (widget, value == 2);
/* hide or show the manual entry text boxes */
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"hbox_proxy_http"));
"heading_proxy_http"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"hbox_proxy_shttp"));
"entry_proxy_http"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"hbox_proxy_ftp"));
"spinbutton_proxy_http"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"heading_proxy_https"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"hbox_proxy_socks"));
"entry_proxy_https"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"spinbutton_proxy_https"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"heading_proxy_ftp"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"entry_proxy_ftp"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"spinbutton_proxy_ftp"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"heading_proxy_socks"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"entry_proxy_socks"));
gtk_widget_set_visible (widget, value == 1);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"spinbutton_proxy_socks"));
gtk_widget_set_visible (widget, value == 1);
/* perhaps show the wpad warning */
@ -639,31 +667,30 @@ panel_set_widget_data (CcNetworkPanel *panel,
const gchar *widget_suffix,
const gchar *value)
{
gchar *hbox_id;
gchar *heading_id;
gchar *label_id = NULL;
GtkWidget *heading;
GtkWidget *widget;
CcNetworkPanelPrivate *priv = panel->priv;
/* hide the parent bix if there is no value */
hbox_id = g_strdup_printf ("hbox_%s_%s", sub_pane, widget_suffix);
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, hbox_id));
if (widget == NULL) {
g_warning ("no %s widget", hbox_id);
goto out;
}
if (value == NULL) {
gtk_widget_hide (widget);
goto out;
}
/* there exists a value */
gtk_widget_show (widget);
/* hide the row if there is no value */
heading_id = g_strdup_printf ("heading_%s_%s", sub_pane, widget_suffix);
label_id = g_strdup_printf ("label_%s_%s", sub_pane, widget_suffix);
heading = GTK_WIDGET (gtk_builder_get_object (priv->builder, heading_id));
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, label_id));
gtk_label_set_label (GTK_LABEL (widget), value);
out:
g_free (hbox_id);
g_assert (heading != NULL);
g_free (heading_id);
g_free (label_id);
if (value == NULL) {
gtk_widget_hide (heading);
gtk_widget_hide (widget);
} else {
/* there exists a value */
gtk_widget_show (heading);
gtk_widget_show (widget);
gtk_label_set_label (GTK_LABEL (widget), value);
}
}
static void
@ -749,7 +776,7 @@ add_access_point (CcNetworkPanel *panel, NMAccessPoint *ap, NMAccessPoint *activ
if (g_strcmp0 (object_path,
nm_object_get_path (NM_OBJECT (active))) == 0) {
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"combobox_network_name"));
"combobox_wireless_network_name"));
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (widget), &treeiter);
}
}
@ -1081,7 +1108,7 @@ wireless_enabled_toggled (NMClient *client,
enabled = nm_client_wireless_get_enabled (client);
sw = GTK_SWITCH (gtk_builder_get_object (panel->priv->builder,
"device_off_switch"));
"device_wireless_off_switch"));
panel->priv->updating_device = TRUE;
gtk_switch_set_active (sw, enabled);
@ -1108,7 +1135,7 @@ wimax_enabled_toggled (NMClient *client,
enabled = nm_client_wimax_get_enabled (client);
sw = GTK_SWITCH (gtk_builder_get_object (panel->priv->builder,
"device_off_switch"));
"device_wimax_off_switch"));
panel->priv->updating_device = TRUE;
gtk_switch_set_active (sw, enabled);
@ -1134,6 +1161,249 @@ update_off_switch_from_device_state (GtkSwitch *sw, NMDeviceState state, CcNetwo
panel->priv->updating_device = FALSE;
}
static void
refresh_header_ui (CcNetworkPanel *panel, NMDevice *device, const char *page_name)
{
GtkWidget *widget;
char *wid_name;
const char *str;
NMDeviceState state;
NMDeviceType type;
type = nm_device_get_device_type (device);
/* set header icon */
wid_name = g_strdup_printf ("image_%s_device", page_name);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, wid_name));
g_free (wid_name);
gtk_image_set_from_icon_name (GTK_IMAGE (widget),
panel_device_to_icon_name (device),
GTK_ICON_SIZE_DIALOG);
/* set device kind */
wid_name = g_strdup_printf ("label_%s_device", page_name);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, wid_name));
g_free (wid_name);
gtk_label_set_label (GTK_LABEL (widget),
panel_device_to_localized_string (device));
/* set device state */
state = nm_device_get_state (device);
wid_name = g_strdup_printf ("label_%s_status", page_name);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, wid_name));
g_free (wid_name);
str = panel_device_state_to_localized_string (type, state);
gtk_label_set_label (GTK_LABEL (widget), str);
/* set up the device on/off switch */
wid_name = g_strdup_printf ("device_%s_off_switch", page_name);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, wid_name));
g_free (wid_name);
/* keep this in sync with the signal handler setup in cc_network_panel_init */
switch (type) {
case NM_DEVICE_TYPE_ETHERNET:
gtk_widget_set_visible (widget,
state != NM_DEVICE_STATE_UNAVAILABLE
&& state != NM_DEVICE_STATE_UNMANAGED);
update_off_switch_from_device_state (GTK_SWITCH (widget), state, panel);
break;
case NM_DEVICE_TYPE_WIFI:
gtk_widget_show (widget);
wireless_enabled_toggled (panel->priv->client, NULL, panel);
break;
case NM_DEVICE_TYPE_WIMAX:
gtk_widget_show (widget);
wimax_enabled_toggled (panel->priv->client, NULL, panel);
break;
default:
gtk_widget_hide (widget);
break;
}
/* set up options button */
wid_name = g_strdup_printf ("button_%s_options", page_name);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, wid_name));
g_free (wid_name);
if (widget != NULL) {
gtk_widget_set_sensitive (widget, state == NM_DEVICE_STATE_ACTIVATED);
}
}
static void
device_refresh_ethernet_ui (CcNetworkPanel *panel, NetDevice *device)
{
guint speed;
NMDeviceState state;
const char *str;
gchar *str_tmp;
NMDevice *nm_device;
nm_device = net_device_get_nm_device (device);
state = nm_device_get_state (nm_device);
refresh_header_ui (panel, nm_device, "wired");
/* speed */
speed = nm_device_ethernet_get_speed (NM_DEVICE_ETHERNET (nm_device));
if (state == NM_DEVICE_STATE_UNAVAILABLE)
str_tmp = NULL;
else if (speed > 0)
/* Translators: network device speed */
str_tmp = g_strdup_printf (_("%d Mb/s"), speed);
else
str_tmp = g_strdup ("");
panel_set_widget_data (panel,
"wired",
"speed",
str_tmp);
g_free (str_tmp);
/* device MAC */
str = nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET (nm_device));
panel_set_widget_data (panel,
"wired",
"mac",
str);
}
static void
device_refresh_wifi_ui (CcNetworkPanel *panel, NetDevice *device)
{
GtkWidget *widget;
guint speed;
const GPtrArray *aps;
GPtrArray *aps_unique = NULL;
GtkWidget *heading;
NMDeviceState state;
NMAccessPoint *ap;
NMAccessPoint *active_ap;
const char *str;
gchar *str_tmp;
GtkListStore *liststore_wireless_network;
guint i;
NMDevice *nm_device;
nm_device = net_device_get_nm_device (device);
state = nm_device_get_state (nm_device);
refresh_header_ui (panel, nm_device, "wireless");
/* speed */
speed = nm_device_wifi_get_bitrate (NM_DEVICE_WIFI (nm_device));
if (state == NM_DEVICE_STATE_UNAVAILABLE)
str_tmp = NULL;
else if (speed > 0)
str_tmp = g_strdup_printf (_("%d Mb/s"),
speed / 1000);
else
str_tmp = g_strdup ("");
panel_set_widget_data (panel,
"wireless",
"speed",
str_tmp);
g_free (str_tmp);
/* device MAC */
str = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (nm_device));
panel_set_widget_data (panel,
"wireless",
"mac",
str);
/* security */
active_ap = nm_device_wifi_get_active_access_point (NM_DEVICE_WIFI (nm_device));
if (state == NM_DEVICE_STATE_UNAVAILABLE)
str_tmp = NULL;
else if (active_ap != NULL)
str_tmp = get_ap_security_string (active_ap);
else
str_tmp = g_strdup ("");
panel_set_widget_data (panel,
"wireless",
"security",
str_tmp);
g_free (str_tmp);
heading = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"heading_wireless_network_name"));
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"combobox_wireless_network_name"));
/* populate access point dropdown */
if (state == NM_DEVICE_STATE_UNAVAILABLE) {
gtk_widget_hide (heading);
gtk_widget_hide (widget);
} else {
gtk_widget_show (heading);
gtk_widget_show (widget);
liststore_wireless_network = GTK_LIST_STORE (gtk_builder_get_object (panel->priv->builder,
"liststore_wireless_network"));
panel->priv->updating_device = TRUE;
gtk_list_store_clear (liststore_wireless_network);
aps = nm_device_wifi_get_access_points (NM_DEVICE_WIFI (nm_device));
aps_unique = panel_get_strongest_unique_aps (aps);
for (i = 0; i < aps_unique->len; i++) {
ap = NM_ACCESS_POINT (g_ptr_array_index (aps_unique, i));
add_access_point (panel, ap, active_ap);
}
panel->priv->updating_device = FALSE;
g_ptr_array_unref (aps_unique);
}
}
static void
device_refresh_wimax_ui (CcNetworkPanel *panel, NetDevice *device)
{
NMDevice *nm_device;
nm_device = net_device_get_nm_device (device);
refresh_header_ui (panel, nm_device, "wimax");
}
static void
device_refresh_modem_ui (CcNetworkPanel *panel, NetDevice *device)
{
NMDeviceModemCapabilities caps;
NMDevice *nm_device;
const char *str;
nm_device = net_device_get_nm_device (device);
refresh_header_ui (panel, nm_device, "mobilebb");
caps = nm_device_modem_get_current_capabilities (NM_DEVICE_MODEM (nm_device));
if ((caps & NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) ||
(caps & NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO)) {
/* IMEI */
str = g_object_get_data (G_OBJECT (device),
"ControlCenter::EquipmentIdentifier");
panel_set_widget_data (panel,
"mobilebb",
"imei",
str);
/* operator name */
str = g_object_get_data (G_OBJECT (device),
"ControlCenter::OperatorName");
panel_set_widget_data (panel,
"mobilebb",
"provider",
str);
/* device speed */
panel_set_widget_data (panel,
"mobilebb",
"speed",
NULL);
}
}
static void
nm_device_refresh_device_ui (CcNetworkPanel *panel, NetDevice *device)
{
@ -1142,14 +1412,7 @@ nm_device_refresh_device_ui (CcNetworkPanel *panel, NetDevice *device)
const gchar *sub_pane = NULL;
gchar *str_tmp;
GHashTable *options = NULL;
GtkListStore *liststore_wireless_network;
GtkWidget *widget;
GtkWidget *sw;
guint i;
guint speed;
NMAccessPoint *ap;
NMAccessPoint *active_ap;
NMDeviceState state;
NMDeviceType type;
NMDHCP4Config *config_dhcp4 = NULL;
NMIP6Config *ip6_config = NULL;
@ -1162,206 +1425,41 @@ nm_device_refresh_device_ui (CcNetworkPanel *panel, NetDevice *device)
type = nm_device_get_device_type (nm_device);
g_debug ("device %s type %i", nm_device_get_udi (nm_device), type);
/* set header icon */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"image_device"));
gtk_image_set_from_icon_name (GTK_IMAGE (widget),
panel_device_to_icon_name (nm_device),
GTK_ICON_SIZE_DIALOG);
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "notebook_types"));
/* set device kind */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_device"));
gtk_label_set_label (GTK_LABEL (widget),
panel_device_to_localized_string (nm_device));
/* set device state */
state = nm_device_get_state (nm_device);
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_status"));
str = panel_device_state_to_localized_string (type, state);
gtk_label_set_label (GTK_LABEL (widget), str);
/* set up the options button */
switch (type) {
case NM_DEVICE_TYPE_ETHERNET:
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"button_wired_options"));
gtk_widget_set_sensitive (widget, state == NM_DEVICE_STATE_ACTIVATED);
break;
case NM_DEVICE_TYPE_WIFI:
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"button_wireless_options"));
gtk_widget_set_sensitive (widget, state == NM_DEVICE_STATE_ACTIVATED);
break;
default:
break;
}
/* set up the device on/off switch */
sw = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"device_off_switch"));
/* keep this in sync with the signal handler setup in cc_network_panel_init */
switch (type) {
case NM_DEVICE_TYPE_ETHERNET:
gtk_widget_set_visible (sw, state != NM_DEVICE_STATE_UNAVAILABLE &&
state != NM_DEVICE_STATE_UNMANAGED);
update_off_switch_from_device_state (GTK_SWITCH (sw), state, panel);
break;
case NM_DEVICE_TYPE_WIFI:
gtk_widget_show (sw);
wireless_enabled_toggled (priv->client, NULL, panel);
break;
case NM_DEVICE_TYPE_WIMAX:
gtk_widget_show (sw);
wimax_enabled_toggled (priv->client, NULL, panel);
break;
default:
gtk_widget_hide (sw);
break;
}
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"notebook_types"));
if (type == NM_DEVICE_TYPE_ETHERNET) {
gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), 0);
sub_pane = "wired";
} else if (type == NM_DEVICE_TYPE_WIFI) {
device_refresh_ethernet_ui (panel, device);
break;
case NM_DEVICE_TYPE_WIFI:
gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), 1);
sub_pane = "wireless";
} else if (type == NM_DEVICE_TYPE_MODEM) {
NMDeviceModemCapabilities caps = nm_device_modem_get_current_capabilities (NM_DEVICE_MODEM (nm_device));
if ((caps & NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) ||
(caps & NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO)) {
gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), 4);
sub_pane = "mobilebb";
device_refresh_wifi_ui (panel, device);
break;
case NM_DEVICE_TYPE_WIMAX:
device_refresh_wimax_ui (panel, device);
break;
case NM_DEVICE_TYPE_MODEM:
{
NMDeviceModemCapabilities caps = nm_device_modem_get_current_capabilities (NM_DEVICE_MODEM (nm_device));
if ((caps & NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) ||
(caps & NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO)) {
gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), 4);
sub_pane = "mobilebb";
device_refresh_modem_ui (panel, device);
}
}
break;
default:
g_assert_not_reached ();
break;
}
if (sub_pane == NULL)
goto out;
#if 0
/* FIXME? should we need to do something with this? */
if (state == NM_DEVICE_STATE_ACTIVATED)
panel_show_ip4_config (nm_device_get_ip4_config (nm_device));
#endif
if (type == NM_DEVICE_TYPE_ETHERNET) {
/* speed */
speed = nm_device_ethernet_get_speed (NM_DEVICE_ETHERNET (nm_device));
if (state == NM_DEVICE_STATE_UNAVAILABLE)
str_tmp = NULL;
else if (speed > 0)
/* Translators: network device speed */
str_tmp = g_strdup_printf (_("%d Mb/s"), speed);
else
str_tmp = g_strdup ("");
panel_set_widget_data (panel,
sub_pane,
"speed",
str_tmp);
g_free (str_tmp);
/* device MAC */
str = nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET (nm_device));
panel_set_widget_data (panel,
sub_pane,
"mac",
str);
} else if (type == NM_DEVICE_TYPE_WIFI) {
const GPtrArray *aps;
GPtrArray *aps_unique = NULL;
/* speed */
speed = nm_device_wifi_get_bitrate (NM_DEVICE_WIFI (nm_device));
if (state == NM_DEVICE_STATE_UNAVAILABLE)
str_tmp = NULL;
else if (speed > 0)
str_tmp = g_strdup_printf (_("%d Mb/s"),
speed / 1000);
else
str_tmp = g_strdup ("");
panel_set_widget_data (panel,
sub_pane,
"speed",
str_tmp);
g_free (str_tmp);
/* device MAC */
str = nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (nm_device));
panel_set_widget_data (panel,
sub_pane,
"mac",
str);
/* security */
active_ap = nm_device_wifi_get_active_access_point (NM_DEVICE_WIFI (nm_device));
if (state == NM_DEVICE_STATE_UNAVAILABLE)
str_tmp = NULL;
else if (active_ap != NULL)
str_tmp = get_ap_security_string (active_ap);
else
str_tmp = g_strdup ("");
panel_set_widget_data (panel,
sub_pane,
"security",
str_tmp);
g_free (str_tmp);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"hbox_wireless_ssid"));
/* populate access point dropdown */
if (state == NM_DEVICE_STATE_UNAVAILABLE)
gtk_widget_hide (widget);
else {
gtk_widget_show (widget);
liststore_wireless_network = GTK_LIST_STORE (gtk_builder_get_object (priv->builder,
"liststore_wireless_network"));
priv->updating_device = TRUE;
gtk_list_store_clear (liststore_wireless_network);
aps = nm_device_wifi_get_access_points (NM_DEVICE_WIFI (nm_device));
aps_unique = panel_get_strongest_unique_aps (aps);
for (i = 0; i < aps_unique->len; i++) {
ap = NM_ACCESS_POINT (g_ptr_array_index (aps_unique, i));
add_access_point (panel, ap, active_ap);
}
priv->updating_device = FALSE;
g_ptr_array_unref (aps_unique);
}
} else if (type == NM_DEVICE_TYPE_MODEM) {
NMDeviceModemCapabilities caps = nm_device_modem_get_current_capabilities (NM_DEVICE_MODEM (nm_device));
if ((caps & NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) ||
(caps & NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO)) {
/* IMEI */
str = g_object_get_data (G_OBJECT (nm_device),
"ControlCenter::EquipmentIdentifier");
panel_set_widget_data (panel,
sub_pane,
"imei",
str);
/* operator name */
str = g_object_get_data (G_OBJECT (nm_device),
"ControlCenter::OperatorName");
panel_set_widget_data (panel,
sub_pane,
"provider",
str);
/* device speed */
panel_set_widget_data (panel,
sub_pane,
"speed",
NULL);
}
}
/* get IP4 parameters */
config_dhcp4 = nm_device_get_dhcp4_config (nm_device);
if (config_dhcp4 != NULL) {
@ -1374,7 +1472,7 @@ nm_device_refresh_device_ui (CcNetworkPanel *panel, NetDevice *device)
"ip_address");
panel_set_widget_data (panel,
sub_pane,
"ip4",
"ipv4",
str);
has_ip4 = str != NULL;
@ -1404,7 +1502,7 @@ nm_device_refresh_device_ui (CcNetworkPanel *panel, NetDevice *device)
/* IPv4 address */
panel_set_widget_data (panel,
sub_pane,
"ip4",
"ipv4",
NULL);
has_ip4 = FALSE;
@ -1435,23 +1533,23 @@ nm_device_refresh_device_ui (CcNetworkPanel *panel, NetDevice *device)
/* IPv6 address */
str_tmp = get_ipv6_config_address_as_string (ip6_config);
panel_set_widget_data (panel, sub_pane, "ip6", str_tmp);
panel_set_widget_data (panel, sub_pane, "ipv6", str_tmp);
has_ip6 = str_tmp != NULL;
g_free (str_tmp);
} else {
panel_set_widget_data (panel, sub_pane, "ip6", NULL);
panel_set_widget_data (panel, sub_pane, "ipv6", NULL);
has_ip6 = FALSE;
}
if (has_ip4 && has_ip6) {
panel_set_widget_heading (panel, sub_pane, "ip4", _("IPv4 Address"));
panel_set_widget_heading (panel, sub_pane, "ip6", _("IPv6 Address"));
panel_set_widget_heading (panel, sub_pane, "ipv4", _("IPv4 Address"));
panel_set_widget_heading (panel, sub_pane, "ipv6", _("IPv6 Address"));
}
else if (has_ip4) {
panel_set_widget_heading (panel, sub_pane, "ip4", _("IP Address"));
panel_set_widget_heading (panel, sub_pane, "ipv4", _("IP Address"));
}
else if (has_ip6) {
panel_set_widget_heading (panel, sub_pane, "ip6", _("IP Address"));
panel_set_widget_heading (panel, sub_pane, "ipv6", _("IP Address"));
}
out: ;
}
@ -1472,7 +1570,7 @@ nm_device_refresh_vpn_ui (CcNetworkPanel *panel, NetVpn *vpn)
NMVPNConnectionState state;
sw = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"device_off_switch"));
"device_vpn_off_switch"));
gtk_widget_set_visible (sw, TRUE);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
@ -1487,14 +1585,14 @@ nm_device_refresh_vpn_ui (CcNetworkPanel *panel, NetVpn *vpn)
/* set VPN icon */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"image_device"));
"image_vpn_device"));
gtk_image_set_from_icon_name (GTK_IMAGE (widget),
"network-vpn",
GTK_ICON_SIZE_DIALOG);
/* use title */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_device"));
"label_vpn_device"));
gtk_label_set_label (GTK_LABEL (widget), net_object_get_title (NET_OBJECT (vpn)));
/* use status */
@ -1513,7 +1611,7 @@ nm_device_refresh_vpn_ui (CcNetworkPanel *panel, NetVpn *vpn)
}
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_status"));
"label_vpn_status"));
status = panel_vpn_state_to_localized_string (state);
gtk_label_set_label (GTK_LABEL (widget), status);
priv->updating_device = TRUE;
@ -1531,7 +1629,7 @@ nm_device_refresh_vpn_ui (CcNetworkPanel *panel, NetVpn *vpn)
/* groupname */
panel_set_widget_data (panel,
sub_pane,
"groupname",
"group_name",
net_vpn_get_id (vpn));
/* username */
@ -1574,26 +1672,27 @@ refresh_ui (CcNetworkPanel *panel)
/* set header to something sane */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"image_device"));
"image_proxy_device"));
gtk_image_set_from_icon_name (GTK_IMAGE (widget),
"preferences-system-network",
GTK_ICON_SIZE_DIALOG);
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_device"));
"label_proxy_device"));
gtk_label_set_label (GTK_LABEL (widget),
_("Proxy"));
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_status"));
"label_proxy_status"));
gtk_label_set_label (GTK_LABEL (widget), "");
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"notebook_types"));
gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), 2);
/* hide the slider until we get some more detail in the mockup */
/* hide the switch until we get some more detail in the mockup */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"device_off_switch"));
gtk_widget_hide (widget);
"device_proxy_off_switch"));
if (widget != NULL)
gtk_widget_hide (widget);
/* we shoulnd't be able to delete the proxy device */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
@ -1984,6 +2083,7 @@ add_connection_cb (GtkToolButton *button, CcNetworkPanel *panel)
"connection_type_combo"));
model = gtk_combo_box_get_model (combo);
gtk_combo_box_get_active_iter (combo, &iter);
type = NULL;
gtk_tree_model_get (model, &iter, 1, &type, -1);
cmdline = g_strdup_printf ("nm-connection-editor --create --type %s", type);
@ -2258,7 +2358,7 @@ cc_network_panel_init (CcNetworkPanel *panel)
/* setup wireless combobox model */
combobox = GTK_COMBO_BOX (gtk_builder_get_object (panel->priv->builder,
"combobox_network_name"));
"combobox_wireless_network_name"));
g_signal_connect (combobox, "changed",
G_CALLBACK (wireless_ap_changed_cb),
panel);
@ -2309,9 +2409,26 @@ cc_network_panel_init (CcNetworkPanel *panel)
G_CALLBACK (device_removed_cb), panel);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"device_off_switch"));
"device_wired_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), panel);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"device_wireless_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), panel);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"device_mobilebb_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), panel);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"device_vpn_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), panel);
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"device_proxy_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), panel);
g_signal_connect (panel->priv->client, "notify::wireless-enabled",
G_CALLBACK (wireless_enabled_toggled), panel);
g_signal_connect (panel->priv->client, "notify::wimax-enabled",

File diff suppressed because it is too large Load diff