network: Connect signals in swapped form

This commit is contained in:
Robert Ancell 2019-10-15 11:15:30 +13:00 committed by Georges Basile Stavracas Neto
parent d549c9e7bd
commit 54f8fce47f
26 changed files with 320 additions and 437 deletions

View file

@ -237,7 +237,7 @@ cc_network_panel_get_help_uri (CcPanel *panel)
}
static void
object_removed_cb (NetObject *object, CcNetworkPanel *panel)
object_removed_cb (CcNetworkPanel *panel, NetObject *object)
{
GtkWidget *stack;
@ -545,7 +545,7 @@ panel_add_device (CcNetworkPanel *panel, NMDevice *device)
update_simple_section (panel);
g_signal_connect_object (net_device, "removed",
G_CALLBACK (object_removed_cb), panel, 0);
G_CALLBACK (object_removed_cb), panel, G_CONNECT_SWAPPED);
}
static void
@ -560,7 +560,7 @@ panel_remove_device (CcNetworkPanel *panel, NMDevice *device)
return;
/* NMObject will not fire the "removed" signal, so handle the UI removal explicitly */
object_removed_cb (object, panel);
object_removed_cb (panel, object);
g_ptr_array_remove (panel->devices, object);
/* update vpn widgets */
@ -591,19 +591,18 @@ panel_add_proxy_device (CcNetworkPanel *panel)
}
static void
connection_state_changed (NMActiveConnection *c, GParamSpec *pspec, CcNetworkPanel *panel)
connection_state_changed (CcNetworkPanel *panel)
{
}
static void
active_connections_changed (NMClient *client, GParamSpec *pspec, gpointer user_data)
active_connections_changed (CcNetworkPanel *panel)
{
CcNetworkPanel *panel = user_data;
const GPtrArray *connections;
int i, j;
g_debug ("Active connections changed:");
connections = nm_client_get_active_connections (client);
connections = nm_client_get_active_connections (panel->client);
for (i = 0; connections && (i < connections->len); i++) {
NMActiveConnection *connection;
const GPtrArray *devices;
@ -618,14 +617,14 @@ active_connections_changed (NMClient *client, GParamSpec *pspec, gpointer user_d
if (g_object_get_data (G_OBJECT (connection), "has-state-changed-handler") == NULL) {
g_signal_connect_object (connection, "notify::state",
G_CALLBACK (connection_state_changed), panel, 0);
G_CALLBACK (connection_state_changed), panel, G_CONNECT_SWAPPED);
g_object_set_data (G_OBJECT (connection), "has-state-changed-handler", GINT_TO_POINTER (TRUE));
}
}
}
static void
device_added_cb (NMClient *client, NMDevice *device, CcNetworkPanel *panel)
device_added_cb (CcNetworkPanel *panel, NMDevice *device)
{
g_debug ("New device added");
panel_add_device (panel, device);
@ -633,7 +632,7 @@ device_added_cb (NMClient *client, NMDevice *device, CcNetworkPanel *panel)
}
static void
device_removed_cb (NMClient *client, NMDevice *device, CcNetworkPanel *panel)
device_removed_cb (CcNetworkPanel *panel, NMDevice *device)
{
g_debug ("Device removed");
panel_remove_device (panel, device);
@ -641,21 +640,20 @@ device_removed_cb (NMClient *client, NMDevice *device, CcNetworkPanel *panel)
}
static void
manager_running (NMClient *client, GParamSpec *pspec, gpointer user_data)
manager_running (CcNetworkPanel *panel)
{
const GPtrArray *devices;
int i;
NMDevice *device_tmp;
CcNetworkPanel *panel = CC_NETWORK_PANEL (user_data);
/* clear all devices we added */
if (!nm_client_get_nm_running (client)) {
if (!nm_client_get_nm_running (panel->client)) {
g_debug ("NM disappeared");
goto out;
}
g_debug ("coldplugging devices");
devices = nm_client_get_devices (client);
devices = nm_client_get_devices (panel->client);
if (devices == NULL) {
g_debug ("No devices to add");
return;
@ -711,7 +709,7 @@ panel_add_vpn_device (CcNetworkPanel *panel, NMConnection *connection)
"client", panel->client,
NULL);
g_signal_connect_object (net_vpn, "removed",
G_CALLBACK (object_removed_cb), panel, 0);
G_CALLBACK (object_removed_cb), panel, G_CONNECT_SWAPPED);
/* add as a panel */
stack = add_device_stack (panel, NET_OBJECT (net_vpn));
@ -752,9 +750,7 @@ add_connection (CcNetworkPanel *panel,
}
static void
notify_connection_added_cb (NMClient *client,
NMRemoteConnection *connection,
CcNetworkPanel *panel)
notify_connection_added_cb (CcNetworkPanel *panel, NMRemoteConnection *connection)
{
add_connection (panel, NM_CONNECTION (connection));
}
@ -793,7 +789,7 @@ panel_check_network_manager_version (CcNetworkPanel *panel)
gtk_widget_show_all (box);
} else {
manager_running (panel->client, NULL, panel);
manager_running (panel);
}
}
@ -878,13 +874,13 @@ cc_network_panel_init (CcNetworkPanel *panel)
panel->client = cc_object_storage_get_object (CC_OBJECT_NMCLIENT);
g_signal_connect_object (panel->client, "notify::nm-running" ,
G_CALLBACK (manager_running), panel, 0);
G_CALLBACK (manager_running), panel, G_CONNECT_SWAPPED);
g_signal_connect_object (panel->client, "notify::active-connections",
G_CALLBACK (active_connections_changed), panel, 0);
G_CALLBACK (active_connections_changed), panel, G_CONNECT_SWAPPED);
g_signal_connect_object (panel->client, "device-added",
G_CALLBACK (device_added_cb), panel, 0);
G_CALLBACK (device_added_cb), panel, G_CONNECT_SWAPPED);
g_signal_connect_object (panel->client, "device-removed",
G_CALLBACK (device_removed_cb), panel, 0);
G_CALLBACK (device_removed_cb), panel, G_CONNECT_SWAPPED);
/* Setup ModemManager client */
system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
@ -903,7 +899,7 @@ cc_network_panel_init (CcNetworkPanel *panel)
/* add remote settings such as VPN settings as virtual devices */
g_signal_connect_object (panel->client, NM_CLIENT_CONNECTION_ADDED,
G_CALLBACK (notify_connection_added_cb), panel, 0);
G_CALLBACK (notify_connection_added_cb), panel, G_CONNECT_SWAPPED);
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (panel));
g_signal_connect_after (toplevel, "map", G_CALLBACK (on_toplevel_map), panel);

View file

@ -481,8 +481,7 @@ cc_wifi_connection_row_class_init (CcWifiConnectionRowClass *klass)
}
static void
configure_clicked_cb (GtkButton *btn,
CcWifiConnectionRow *row)
configure_clicked_cb (CcWifiConnectionRow *row)
{
g_signal_emit_by_name (row, "configure");
}
@ -492,7 +491,7 @@ cc_wifi_connection_row_init (CcWifiConnectionRow *row)
{
gtk_widget_init_template (GTK_WIDGET (row));
g_signal_connect (row->configure_button, "clicked", G_CALLBACK (configure_clicked_cb), row);
g_signal_connect_swapped (row->configure_button, "clicked", G_CALLBACK (configure_clicked_cb), row);
row->aps = g_ptr_array_new_with_free_func (g_object_unref);

View file

@ -423,18 +423,14 @@ verify_argv (CcWifiPanel *self,
/* Callbacks */
static void
device_added_cb (NMClient *client,
NMDevice *device,
CcWifiPanel *self)
device_added_cb (CcWifiPanel *self, NMDevice *device)
{
add_wifi_device (self, device);
check_main_stack_page (self);
}
static void
device_removed_cb (NMClient *client,
NMDevice *device,
CcWifiPanel *self)
device_removed_cb (CcWifiPanel *self, NMDevice *device)
{
GtkWidget *child;
const gchar *id;
@ -472,18 +468,13 @@ device_removed_cb (NMClient *client,
}
static void
wireless_enabled_cb (NMClient *client,
NMDevice *device,
CcWifiPanel *self)
wireless_enabled_cb (CcWifiPanel *self)
{
check_main_stack_page (self);
}
static void
on_rfkill_proxy_properties_changed_cb (GDBusProxy *proxy,
GVariant *changed_properties,
GStrv invalidated_properties,
CcWifiPanel *self)
on_rfkill_proxy_properties_changed_cb (CcWifiPanel *self)
{
g_debug ("Rfkill properties changed");
@ -517,7 +508,7 @@ rfkill_proxy_acquired_cb (GObject *source_object,
"g-properties-changed",
G_CALLBACK (on_rfkill_proxy_properties_changed_cb),
self,
0);
G_CONNECT_SWAPPED);
sync_airplane_mode_switch (self);
}
@ -742,19 +733,19 @@ cc_wifi_panel_init (CcWifiPanel *self)
"device-added",
G_CALLBACK (device_added_cb),
self,
0);
G_CONNECT_SWAPPED);
g_signal_connect_object (self->client,
"device-removed",
G_CALLBACK (device_removed_cb),
self,
0);
G_CONNECT_SWAPPED);
g_signal_connect_object (self->client,
"notify::wireless-enabled",
G_CALLBACK (wireless_enabled_cb),
self,
0);
G_CONNECT_SWAPPED);
/* Load Wi-Fi devices */
load_wifi_devices (self);

View file

@ -37,10 +37,8 @@
G_DEFINE_TYPE (CEPage8021xSecurity, ce_page_8021x_security, CE_TYPE_PAGE)
static void
enable_toggled (GObject *sw, GParamSpec *pspec, gpointer user_data)
enable_toggled (CEPage8021xSecurity *page)
{
CEPage8021xSecurity *page = CE_PAGE_8021X_SECURITY (user_data);
gtk_widget_set_sensitive (page->security_widget, gtk_switch_get_active (page->enabled));
ce_page_changed (CE_PAGE (page));
}
@ -79,7 +77,7 @@ finish_setup (CEPage8021xSecurity *page, gpointer unused, GError *error, gpointe
gtk_container_remove (GTK_CONTAINER (parent), page->security_widget);
gtk_switch_set_active (page->enabled, page->initial_have_8021x);
g_signal_connect (page->enabled, "notify::active", G_CALLBACK (enable_toggled), page);
g_signal_connect_swapped (page->enabled, "notify::active", G_CALLBACK (enable_toggled), page);
gtk_widget_set_sensitive (page->security_widget, page->initial_have_8021x);
gtk_size_group_add_widget (page->group, heading);

View file

@ -32,7 +32,7 @@
G_DEFINE_TYPE (CEPageDetails, ce_page_details, CE_TYPE_PAGE)
static void
forget_cb (GtkButton *button, CEPageDetails *page)
forget_cb (CEPageDetails *page)
{
net_connection_editor_forget (page->editor);
}
@ -116,13 +116,13 @@ out:
}
static void
all_user_changed (GtkToggleButton *b, CEPageDetails *page)
all_user_changed (CEPageDetails *page)
{
gboolean all_users;
NMSettingConnection *sc;
sc = nm_connection_get_setting_connection (CE_PAGE (page)->connection);
all_users = gtk_toggle_button_get_active (b);
all_users = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON ((gtk_builder_get_object (CE_PAGE (page)->builder, "all_user_check"))));
g_object_set (sc, "permissions", NULL, NULL);
if (!all_users)
@ -130,14 +130,14 @@ all_user_changed (GtkToggleButton *b, CEPageDetails *page)
}
static void
restrict_data_changed (GtkToggleButton *toggle, GParamSpec *pspec, CEPageDetails *page)
restrict_data_changed (CEPageDetails *page)
{
NMSettingConnection *s_con;
NMMetered metered;
s_con = nm_connection_get_setting_connection (CE_PAGE (page)->connection);
if (gtk_toggle_button_get_active (toggle))
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (CE_PAGE (page)->builder, "restrict_data_check"))))
metered = NM_METERED_YES;
else
metered = NM_METERED_NO;
@ -171,7 +171,7 @@ update_restrict_data (CEPageDetails *page)
metered == NM_METERED_YES || metered == NM_METERED_GUESS_YES);
gtk_widget_show (widget);
g_signal_connect (widget, "notify::active", G_CALLBACK (restrict_data_changed), page);
g_signal_connect_swapped (widget, "notify::active", G_CALLBACK (restrict_data_changed), page);
g_signal_connect_swapped (widget, "notify::active", G_CALLBACK (ce_page_changed), page);
}
@ -299,8 +299,8 @@ connect_details_page (CEPageDetails *page)
"all_user_check"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget),
nm_setting_connection_get_num_permissions (sc) == 0);
g_signal_connect (widget, "toggled",
G_CALLBACK (all_user_changed), page);
g_signal_connect_swapped (widget, "toggled",
G_CALLBACK (all_user_changed), page);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (ce_page_changed), page);
/* Restrict Data check */
@ -308,7 +308,7 @@ connect_details_page (CEPageDetails *page)
/* Forget button */
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "button_forget"));
g_signal_connect (widget, "clicked", G_CALLBACK (forget_cb), page);
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (forget_cb), page);
if (g_str_equal (type, NM_SETTING_WIRELESS_SETTING_NAME))
gtk_button_set_label (GTK_BUTTON (widget), _("Forget Connection"));

View file

@ -34,38 +34,36 @@
G_DEFINE_TYPE (CEPageEthernet, ce_page_ethernet, CE_TYPE_PAGE)
static void
mtu_changed (GtkSpinButton *mtu, CEPageEthernet *page)
mtu_changed (CEPageEthernet *page)
{
if (gtk_spin_button_get_value_as_int (mtu) == 0)
if (gtk_spin_button_get_value_as_int (page->mtu) == 0)
gtk_widget_hide (page->mtu_label);
else
gtk_widget_show (page->mtu_label);
}
static gint
ce_spin_output_with_default (GtkSpinButton *spin, gpointer user_data)
static void
mtu_output_cb (CEPageEthernet *page)
{
gint defvalue = GPOINTER_TO_INT (user_data);
gint defvalue;
gint val;
g_autofree gchar *buf = NULL;
val = gtk_spin_button_get_value_as_int (spin);
val = gtk_spin_button_get_value_as_int (page->mtu);
defvalue = ce_get_property_default (NM_SETTING (page->setting_wired), NM_SETTING_WIRED_MTU);
if (val == defvalue)
buf = g_strdup (_("automatic"));
else
buf = g_strdup_printf ("%d", val);
if (strcmp (buf, gtk_entry_get_text (GTK_ENTRY (spin))))
gtk_entry_set_text (GTK_ENTRY (spin), buf);
return TRUE;
if (strcmp (buf, gtk_entry_get_text (GTK_ENTRY (page->mtu))))
gtk_entry_set_text (GTK_ENTRY (page->mtu), buf);
}
static void
connect_ethernet_page (CEPageEthernet *page)
{
NMSettingWired *setting = page->setting_wired;
int mtu_def;
char **mac_list;
const char *s_mac_str;
const gchar *name;
@ -88,14 +86,10 @@ connect_ethernet_page (CEPageEthernet *page)
g_signal_connect_swapped (page->cloned_mac, "changed", G_CALLBACK (ce_page_changed), page);
/* MTU */
mtu_def = ce_get_property_default (NM_SETTING (setting), NM_SETTING_WIRED_MTU);
g_signal_connect (page->mtu, "output",
G_CALLBACK (ce_spin_output_with_default),
GINT_TO_POINTER (mtu_def));
g_signal_connect_swapped (page->mtu, "output", G_CALLBACK (mtu_output_cb), page);
gtk_spin_button_set_value (page->mtu, (gdouble) nm_setting_wired_get_mtu (setting));
g_signal_connect (page->mtu, "value-changed",
G_CALLBACK (mtu_changed), page);
mtu_changed (page->mtu, page);
g_signal_connect_swapped (page->mtu, "value-changed", G_CALLBACK (mtu_changed), page);
mtu_changed (page);
g_signal_connect_swapped (page->name, "changed", G_CALLBACK (ce_page_changed), page);
g_signal_connect_swapped (page->mtu, "value-changed", G_CALLBACK (ce_page_changed), page);

View file

@ -53,7 +53,7 @@ enum {
};
static void
method_changed (GtkToggleButton *radio, CEPageIP4 *page)
method_changed (CEPageIP4 *page)
{
gboolean addr_enabled;
gboolean dns_enabled;
@ -79,14 +79,6 @@ method_changed (GtkToggleButton *radio, CEPageIP4 *page)
ce_page_changed (CE_PAGE (page));
}
static void
switch_toggled (GObject *object,
GParamSpec *pspec,
CEPage *page)
{
ce_page_changed (page);
}
static void
update_row_sensitivity (CEPageIP4 *page, GtkWidget *list)
{
@ -134,13 +126,13 @@ update_row_gateway_sensitivity (CEPageIP4 *page)
}
static void
remove_row (GtkButton *button, CEPageIP4 *page)
remove_row (CEPageIP4 *page)
{
GtkWidget *list;
GtkWidget *row;
GtkWidget *row_box;
row_box = gtk_widget_get_parent (GTK_WIDGET (button));
row_box = gtk_widget_get_parent (GTK_WIDGET (CE_PAGE (page)->page));
row = gtk_widget_get_parent (row_box);
list = gtk_widget_get_parent (row);
@ -246,7 +238,7 @@ add_address_row (CEPageIP4 *page,
delete_button = gtk_button_new ();
gtk_widget_set_sensitive (delete_button, FALSE);
gtk_style_context_add_class (gtk_widget_get_style_context (delete_button), "image-button");
g_signal_connect (delete_button, "clicked", G_CALLBACK (remove_row), page);
g_signal_connect_swapped (delete_button, "clicked", G_CALLBACK (remove_row), page);
image = gtk_image_new_from_icon_name ("edit-delete-symbolic", GTK_ICON_SIZE_MENU);
atk_object_set_name (gtk_widget_get_accessible (delete_button), _("Delete Address"));
gtk_button_set_image (GTK_BUTTON (delete_button), image);
@ -329,7 +321,7 @@ add_dns_section (CEPageIP4 *page)
page->auto_dns = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_dns_switch"));
gtk_switch_set_active (page->auto_dns, !nm_setting_ip_config_get_ignore_auto_dns (page->setting));
g_signal_connect (page->auto_dns, "notify::active", G_CALLBACK (switch_toggled), page);
g_signal_connect_swapped (page->auto_dns, "notify::active", G_CALLBACK (ce_page_changed), page);
page->dns_entry = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "dns_entry"));
entry = GTK_ENTRY (page->dns_entry);
@ -416,7 +408,7 @@ add_route_row (CEPageIP4 *page,
delete_button = gtk_button_new ();
gtk_style_context_add_class (gtk_widget_get_style_context (delete_button), "image-button");
g_signal_connect (delete_button, "clicked", G_CALLBACK (remove_row), page);
g_signal_connect_swapped (delete_button, "clicked", G_CALLBACK (remove_row), page);
image = gtk_image_new_from_icon_name ("edit-delete-symbolic", GTK_ICON_SIZE_MENU);
atk_object_set_name (gtk_widget_get_accessible (delete_button), _("Delete Route"));
gtk_button_set_image (GTK_BUTTON (delete_button), image);
@ -469,7 +461,7 @@ add_routes_section (CEPageIP4 *page)
gtk_container_add (GTK_CONTAINER (widget), list);
page->auto_routes = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_routes_switch"));
gtk_switch_set_active (page->auto_routes, !nm_setting_ip_config_get_ignore_auto_routes (page->setting));
g_signal_connect (page->auto_routes, "notify::active", G_CALLBACK (switch_toggled), page);
g_signal_connect_swapped (page->auto_routes, "notify::active", G_CALLBACK (ce_page_changed), page);
for (i = 0; i < nm_setting_ip_config_get_num_routes (page->setting); i++) {
@ -552,7 +544,7 @@ connect_ip4_page (CEPageIP4 *page)
radios[RADIO_DISABLED] = page->disabled;
for (i = RADIO_AUTOMATIC; i < RADIO_DISABLED; i++)
g_signal_connect (radios[i], "toggled", G_CALLBACK (method_changed), page);
g_signal_connect_swapped (radios[i], "toggled", G_CALLBACK (method_changed), page);
switch (method) {
case IP4_METHOD_AUTO:
@ -571,7 +563,7 @@ connect_ip4_page (CEPageIP4 *page)
break;
}
method_changed (NULL, page);
method_changed (page);
}
static gboolean

View file

@ -54,7 +54,7 @@ enum {
};
static void
method_changed (GtkToggleButton *button, CEPageIP6 *page)
method_changed (CEPageIP6 *page)
{
gboolean addr_enabled;
gboolean dns_enabled;
@ -80,14 +80,6 @@ method_changed (GtkToggleButton *button, CEPageIP6 *page)
ce_page_changed (CE_PAGE (page));
}
static void
switch_toggled (GObject *object,
GParamSpec *pspec,
CEPage *page)
{
ce_page_changed (page);
}
static void
update_row_sensitivity (CEPageIP6 *page, GtkWidget *list)
{
@ -115,13 +107,13 @@ update_row_sensitivity (CEPageIP6 *page, GtkWidget *list)
}
static void
remove_row (GtkButton *button, CEPageIP6 *page)
remove_row (CEPageIP6 *page)
{
GtkWidget *row;
GtkWidget *row_box;
GtkWidget *list;
row_box = gtk_widget_get_parent (GTK_WIDGET (button));
row_box = gtk_widget_get_parent (GTK_WIDGET (CE_PAGE (page)->page));
row = gtk_widget_get_parent (row_box);
list = gtk_widget_get_parent (row);
@ -225,7 +217,7 @@ add_address_row (CEPageIP6 *page,
delete_button = gtk_button_new ();
gtk_widget_set_sensitive (delete_button, FALSE);
gtk_style_context_add_class (gtk_widget_get_style_context (delete_button), "image-button");
g_signal_connect (delete_button, "clicked", G_CALLBACK (remove_row), page);
g_signal_connect_swapped (delete_button, "clicked", G_CALLBACK (remove_row), page);
image = gtk_image_new_from_icon_name ("edit-delete-symbolic", GTK_ICON_SIZE_MENU);
atk_object_set_name (gtk_widget_get_accessible (delete_button), _("Delete Address"));
gtk_button_set_image (GTK_BUTTON (delete_button), image);
@ -299,7 +291,7 @@ add_dns_section (CEPageIP6 *page)
page->auto_dns = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_dns_switch"));
gtk_switch_set_active (page->auto_dns, !nm_setting_ip_config_get_ignore_auto_dns (page->setting));
g_signal_connect (page->auto_dns, "notify::active", G_CALLBACK (switch_toggled), page);
g_signal_connect_swapped (page->auto_dns, "notify::active", G_CALLBACK (ce_page_changed), page);
page->dns_entry = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "dns_entry"));
entry = GTK_ENTRY (page->dns_entry);
@ -384,7 +376,7 @@ add_route_row (CEPageIP6 *page,
delete_button = gtk_button_new ();
gtk_style_context_add_class (gtk_widget_get_style_context (delete_button), "image-button");
g_signal_connect (delete_button, "clicked", G_CALLBACK (remove_row), page);
g_signal_connect_swapped (delete_button, "clicked", G_CALLBACK (remove_row), page);
image = gtk_image_new_from_icon_name ("edit-delete-symbolic", GTK_ICON_SIZE_MENU);
atk_object_set_name (gtk_widget_get_accessible (delete_button), _("Delete Route"));
gtk_button_set_image (GTK_BUTTON (delete_button), image);
@ -443,7 +435,7 @@ add_routes_section (CEPageIP6 *page)
gtk_container_add (GTK_CONTAINER (widget), list);
page->auto_routes = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_routes_switch"));
gtk_switch_set_active (page->auto_routes, !nm_setting_ip_config_get_ignore_auto_routes (page->setting));
g_signal_connect (page->auto_routes, "notify::active", G_CALLBACK (switch_toggled), page);
g_signal_connect_swapped (page->auto_routes, "notify::active", G_CALLBACK (ce_page_changed), page);
for (i = 0; i < nm_setting_ip_config_get_num_routes (page->setting); i++) {
NMIPRoute *route;
@ -525,7 +517,7 @@ connect_ip6_page (CEPageIP6 *page)
radios[RADIO_DISABLED] = page->disabled;
for (i = RADIO_AUTOMATIC; i < RADIO_DISABLED; i++)
g_signal_connect (radios[i], "toggled", G_CALLBACK (method_changed), page);
g_signal_connect_swapped (radios[i], "toggled", G_CALLBACK (method_changed), page);
switch (method) {
case IP6_METHOD_AUTO:
@ -547,7 +539,7 @@ connect_ip6_page (CEPageIP6 *page)
break;
}
method_changed (NULL, page);
method_changed (page);
}
static gboolean

View file

@ -124,10 +124,8 @@ wsec_size_group_clear (GtkSizeGroup *group)
}
static void
security_combo_changed (GtkComboBox *combo,
gpointer user_data)
security_combo_changed (CEPageSecurity *page)
{
CEPageSecurity *page = CE_PAGE_SECURITY (user_data);
GtkWidget *vbox;
GList *l, *children;
g_autoptr(WirelessSecurity) sec = NULL;
@ -352,9 +350,9 @@ finish_setup (CEPageSecurity *page)
page->security_combo = combo;
security_combo_changed (combo, page);
g_signal_connect (combo, "changed",
G_CALLBACK (security_combo_changed), page);
security_combo_changed (page);
g_signal_connect_swapped (combo, "changed",
G_CALLBACK (security_combo_changed), page);
}
static gboolean

View file

@ -49,7 +49,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE (NetConnectionEditor, net_connection_editor, GTK_TYPE_DIALOG)
static void page_changed (CEPage *page, gpointer user_data);
static void page_changed (NetConnectionEditor *editor);
static void
cancel_editing (NetConnectionEditor *editor)
@ -349,10 +349,8 @@ done:
}
static void
page_changed (CEPage *page, gpointer user_data)
page_changed (NetConnectionEditor *editor)
{
NetConnectionEditor *editor= user_data;
if (editor_is_initialized (editor))
editor->is_changed = TRUE;
validate (editor);
@ -381,7 +379,7 @@ recheck_initialization (NetConnectionEditor *editor)
}
static void
page_initialized (CEPage *page, GError *error, NetConnectionEditor *editor)
page_initialized (NetConnectionEditor *editor, GError *error, CEPage *page)
{
GtkWidget *widget;
GtkWidget *label;
@ -467,8 +465,8 @@ add_page (NetConnectionEditor *editor, CEPage *page)
editor->initializing_pages = g_slist_append (editor->initializing_pages, page);
g_signal_connect (page, "changed", G_CALLBACK (page_changed), editor);
g_signal_connect (page, "initialized", G_CALLBACK (page_initialized), editor);
g_signal_connect_swapped (page, "changed", G_CALLBACK (page_changed), editor);
g_signal_connect_swapped (page, "initialized", G_CALLBACK (page_initialized), editor);
}
static void

View file

@ -231,15 +231,13 @@ device_ethernet_refresh_ui (NetDeviceEthernet *device)
}
static void
editor_done (NetConnectionEditor *editor,
gboolean success,
NetDeviceEthernet *device)
editor_done (NetDeviceEthernet *device)
{
device_ethernet_refresh_ui (device);
}
static void
show_details (GtkButton *button, NetDeviceEthernet *device, const gchar *title)
show_details (NetDeviceEthernet *device, GtkButton *button, const gchar *title)
{
GtkWidget *row;
NMConnection *connection;
@ -248,7 +246,7 @@ show_details (GtkButton *button, NetDeviceEthernet *device, const gchar *title)
NMClient *client;
NMDevice *nmdev;
window = gtk_widget_get_toplevel (GTK_WIDGET (button));
window = gtk_widget_get_toplevel (GTK_WIDGET (gtk_builder_get_object (device->builder, "vbox6")));
row = g_object_get_data (G_OBJECT (button), "row");
connection = NM_CONNECTION (g_object_get_data (G_OBJECT (row), "connection"));
@ -258,25 +256,25 @@ show_details (GtkButton *button, NetDeviceEthernet *device, const gchar *title)
editor = net_connection_editor_new (GTK_WINDOW (window), connection, nmdev, NULL, client);
if (title)
net_connection_editor_set_title (editor, title);
g_signal_connect (editor, "done", G_CALLBACK (editor_done), device);
g_signal_connect_swapped (editor, "done", G_CALLBACK (editor_done), device);
net_connection_editor_run (editor);
}
static void
show_details_for_row (GtkButton *button, NetDeviceEthernet *device)
show_details_for_row (NetDeviceEthernet *device, GtkButton *button)
{
show_details (button, device, NULL);
show_details (device, button, NULL);
}
static void
show_details_for_wired (GtkButton *button, NetDeviceEthernet *device)
show_details_for_wired (NetDeviceEthernet *device)
{
/* Translators: This is used as the title of the connection
* details window for ethernet, if there is only a single
* profile. It is also used to display ethernet in the
* device list.
*/
show_details (button, device, _("Wired"));
show_details (device, GTK_BUTTON (device->details_button), _("Wired"));
}
static void
@ -348,8 +346,7 @@ add_row (NetDeviceEthernet *device, NMConnection *connection)
gtk_box_pack_start (GTK_BOX (box), widget, FALSE, TRUE, 0);
g_object_set_data (G_OBJECT (widget), "edit", widget);
g_object_set_data (G_OBJECT (widget), "row", row);
g_signal_connect (widget, "clicked",
G_CALLBACK (show_details_for_row), device);
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (show_details_for_row), device);
gtk_widget_show_all (row);
@ -359,9 +356,7 @@ add_row (NetDeviceEthernet *device, NMConnection *connection)
}
static void
connection_removed (NMClient *client,
NMRemoteConnection *connection,
NetDeviceEthernet *device)
connection_removed (NetDeviceEthernet *device, NMRemoteConnection *connection)
{
if (g_hash_table_remove (device->connections, connection))
device_ethernet_refresh_ui (device);
@ -413,15 +408,13 @@ populate_ui (NetDeviceEthernet *device)
}
static void
client_connection_added_cb (NMClient *client,
NMRemoteConnection *connection,
NetDeviceEthernet *device)
client_connection_added_cb (NetDeviceEthernet *device)
{
device_ethernet_refresh_ui (device);
}
static void
add_profile (GtkButton *button, NetDeviceEthernet *device)
add_profile (NetDeviceEthernet *device)
{
NMConnection *connection;
NMSettingConnection *sc;
@ -452,18 +445,16 @@ add_profile (GtkButton *button, NetDeviceEthernet *device)
nm_connection_add_setting (connection, nm_setting_wired_new ());
window = gtk_widget_get_toplevel (GTK_WIDGET (button));
window = gtk_widget_get_toplevel (GTK_WIDGET (gtk_builder_get_object (device->builder, "vbox6")));
nmdev = net_device_get_nm_device (NET_DEVICE (device));
editor = net_connection_editor_new (GTK_WINDOW (window), connection, nmdev, NULL, client);
g_signal_connect (editor, "done", G_CALLBACK (editor_done), device);
g_signal_connect_swapped (editor, "done", G_CALLBACK (editor_done), device);
net_connection_editor_run (editor);
}
static void
device_off_toggled (GtkSwitch *sw,
GParamSpec *pspec,
NetDeviceEthernet *device)
device_off_toggled (NetDeviceEthernet *device)
{
NMClient *client;
NMDevice *nm_device;
@ -475,7 +466,7 @@ device_off_toggled (GtkSwitch *sw,
client = net_object_get_client (NET_OBJECT (device));
nm_device = net_device_get_nm_device (NET_DEVICE (device));
if (gtk_switch_get_active (sw)) {
if (gtk_switch_get_active (GTK_SWITCH (gtk_builder_get_object (device->builder, "device_off_switch")))) {
connection = net_device_get_find_connection (NET_DEVICE (device));
if (connection != NULL) {
nm_client_activate_connection_async (client,
@ -489,15 +480,13 @@ device_off_toggled (GtkSwitch *sw,
}
static void
device_title_changed (NetDeviceEthernet *device,
GParamSpec *pspec,
gpointer user_data)
device_title_changed (NetDeviceEthernet *device)
{
device_ethernet_refresh_ui (device);
}
static void
connection_activated (GtkListBox *list, GtkListBoxRow *row, NetDeviceEthernet *device)
connection_activated (NetDeviceEthernet *device, GtkListBoxRow *row)
{
NMClient *client;
NMDevice *nm_device;
@ -529,33 +518,33 @@ device_ethernet_constructed (GObject *object)
widget = GTK_WIDGET (gtk_builder_get_object (device->builder,
"device_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), device);
g_signal_connect_swapped (widget, "notify::active",
G_CALLBACK (device_off_toggled), device);
device->scrolled_window = swin = GTK_WIDGET (gtk_builder_get_object (device->builder, "list"));
device->list = list = GTK_WIDGET (gtk_list_box_new ());
gtk_list_box_set_selection_mode (GTK_LIST_BOX (list), GTK_SELECTION_NONE);
gtk_list_box_set_header_func (GTK_LIST_BOX (list), cc_list_box_update_header_func, NULL, NULL);
gtk_container_add (GTK_CONTAINER (swin), list);
g_signal_connect (list, "row-activated",
G_CALLBACK (connection_activated), device);
g_signal_connect_swapped (list, "row-activated",
G_CALLBACK (connection_activated), device);
gtk_widget_show (list);
device->details = GTK_WIDGET (gtk_builder_get_object (device->builder, "details"));
device->details_button = GTK_WIDGET (gtk_builder_get_object (device->builder, "details_button"));
g_signal_connect (device->details_button, "clicked",
G_CALLBACK (show_details_for_wired), device);
g_signal_connect_swapped (device->details_button, "clicked",
G_CALLBACK (show_details_for_wired), device);
device->add_profile_button = GTK_WIDGET (gtk_builder_get_object (device->builder, "add_profile_button"));
g_signal_connect (device->add_profile_button, "clicked",
G_CALLBACK (add_profile), device);
g_signal_connect_swapped (device->add_profile_button, "clicked",
G_CALLBACK (add_profile), device);
client = net_object_get_client (NET_OBJECT (object));
g_signal_connect_object (client, NM_CLIENT_CONNECTION_ADDED,
G_CALLBACK (client_connection_added_cb), object, 0);
G_CALLBACK (client_connection_added_cb), object, G_CONNECT_SWAPPED);
g_signal_connect_object (client, NM_CLIENT_CONNECTION_REMOVED,
G_CALLBACK (connection_removed), device, 0);
G_CALLBACK (connection_removed), device, G_CONNECT_SWAPPED);
device_ethernet_refresh_ui (device);
}

View file

@ -102,7 +102,7 @@ connection_activate_cb (GObject *source_object,
}
static void
mobile_connection_changed_cb (GtkComboBox *combo_box, NetDeviceMobile *device_mobile)
mobile_connection_changed_cb (NetDeviceMobile *device_mobile)
{
gboolean ret;
g_autofree gchar *object_path = NULL;
@ -117,7 +117,7 @@ mobile_connection_changed_cb (GtkComboBox *combo_box, NetDeviceMobile *device_mo
if (device_mobile->updating_device)
return;
ret = gtk_combo_box_get_active_iter (combo_box, &iter);
ret = gtk_combo_box_get_active_iter (GTK_COMBO_BOX (gtk_builder_get_object (device_mobile->builder, "combobox_network")), &iter);
if (!ret)
return;
@ -127,7 +127,7 @@ mobile_connection_changed_cb (GtkComboBox *combo_box, NetDeviceMobile *device_mo
client = net_object_get_client (NET_OBJECT (device_mobile));
/* get entry */
model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box));
model = gtk_combo_box_get_model (GTK_COMBO_BOX (gtk_builder_get_object (device_mobile->builder, "combobox_network")));
gtk_tree_model_get (model, &iter,
COLUMN_ID, &object_path,
-1);
@ -155,9 +155,7 @@ mobile_connection_changed_cb (GtkComboBox *combo_box, NetDeviceMobile *device_mo
}
static void
mobilebb_enabled_toggled (NMClient *client,
GParamSpec *pspec,
NetDeviceMobile *device_mobile)
mobilebb_enabled_toggled (NetDeviceMobile *device_mobile)
{
gboolean enabled = FALSE;
GtkSwitch *sw;
@ -167,7 +165,7 @@ mobilebb_enabled_toggled (NMClient *client,
if (nm_device_get_device_type (device) != NM_DEVICE_TYPE_MODEM)
return;
if (nm_client_wwan_get_enabled (client)) {
if (nm_client_wwan_get_enabled (net_object_get_client (NET_OBJECT (device_mobile)))) {
NMDeviceState state;
state = nm_device_get_state (device);
@ -379,7 +377,6 @@ nm_device_mobile_refresh_ui (NetDeviceMobile *device_mobile)
gboolean is_connected;
GtkListStore *liststore;
GtkWidget *widget;
NMClient *client;
NMDeviceModemCapabilities caps;
NMDevice *nm_device;
g_autofree gchar *status = NULL;
@ -393,8 +390,7 @@ nm_device_mobile_refresh_ui (NetDeviceMobile *device_mobile)
/* set up the device on/off switch */
widget = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder, "device_off_switch"));
gtk_widget_show (widget);
client = net_object_get_client (NET_OBJECT (device_mobile));
mobilebb_enabled_toggled (client, NULL, device_mobile);
mobilebb_enabled_toggled (device_mobile);
/* set device state, with status */
widget = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder, "label_status"));
@ -444,9 +440,7 @@ device_mobile_refresh (NetObject *object)
}
static void
device_off_toggled (GtkSwitch *sw,
GParamSpec *pspec,
NetDeviceMobile *device_mobile)
device_off_toggled (NetDeviceMobile *device_mobile)
{
const GPtrArray *acs;
gboolean active;
@ -458,7 +452,7 @@ device_off_toggled (GtkSwitch *sw,
if (device_mobile->updating_device)
return;
active = gtk_switch_get_active (sw);
active = gtk_switch_get_active (GTK_SWITCH (gtk_builder_get_object (device_mobile->builder, "device_off_switch")));
if (active) {
client = net_object_get_client (NET_OBJECT (device_mobile));
connection = net_device_get_find_connection (NET_DEVICE (device_mobile));
@ -488,7 +482,7 @@ device_off_toggled (GtkSwitch *sw,
}
static void
edit_connection (GtkButton *button, NetDeviceMobile *device_mobile)
edit_connection (NetDeviceMobile *device_mobile)
{
net_object_edit (NET_OBJECT (device_mobile));
}
@ -581,16 +575,14 @@ device_mobile_get_registration_info_cb (GObject *source_object,
}
static void
device_mobile_gsm_signal_cb (GDBusProxy *proxy,
gchar *sender_name,
gchar *signal_name,
GVariant *parameters,
gpointer user_data)
device_mobile_gsm_signal_cb (NetDeviceMobile *device_mobile,
const gchar *sender_name,
const gchar *signal_name,
GVariant *parameters)
{
guint registration_status = 0;
g_autofree gchar *operator_code = NULL;
g_autofree gchar *operator_name = NULL;
NetDeviceMobile *device_mobile = (NetDeviceMobile *)user_data;
if (!g_str_equal (signal_name, "RegistrationInfo"))
return;
@ -629,10 +621,10 @@ device_mobile_device_got_modem_manager_gsm_cb (GObject *source_object,
}
/* Setup value updates */
g_signal_connect (device_mobile->gsm_proxy,
"g-signal",
G_CALLBACK (device_mobile_gsm_signal_cb),
device_mobile);
g_signal_connect_swapped (device_mobile->gsm_proxy,
"g-signal",
G_CALLBACK (device_mobile_gsm_signal_cb),
device_mobile);
/* Load initial value */
g_dbus_proxy_call (device_mobile->gsm_proxy,
@ -766,14 +758,12 @@ net_device_mobile_constructed (GObject *object)
client = net_object_get_client (NET_OBJECT (device_mobile));
g_signal_connect_object (client, "notify::wwan-enabled",
G_CALLBACK (mobilebb_enabled_toggled),
device_mobile, 0);
device_mobile, G_CONNECT_SWAPPED);
nm_device_mobile_refresh_ui (device_mobile);
}
static void
operator_name_updated (MMModem3gpp *modem_3gpp_iface,
GParamSpec *pspec,
NetDeviceMobile *self)
operator_name_updated (NetDeviceMobile *self)
{
device_mobile_refresh_operator_name (self);
}
@ -793,10 +783,10 @@ net_device_mobile_setup_modem_object (NetDeviceMobile *self)
modem_3gpp = mm_object_peek_modem_3gpp (self->mm_object);
if (modem_3gpp != NULL) {
g_assert (self->operator_name_updated == 0);
self->operator_name_updated = g_signal_connect (modem_3gpp,
"notify::operator-name",
G_CALLBACK (operator_name_updated),
self);
self->operator_name_updated = g_signal_connect_swapped (modem_3gpp,
"notify::operator-name",
G_CALLBACK (operator_name_updated),
self);
device_mobile_refresh_operator_name (self);
}
}
@ -901,9 +891,9 @@ net_device_mobile_init (NetDeviceMobile *device_mobile)
/* setup mobile combobox model */
combobox = GTK_COMBO_BOX (gtk_builder_get_object (device_mobile->builder,
"combobox_network"));
g_signal_connect (combobox, "changed",
G_CALLBACK (mobile_connection_changed_cb),
device_mobile);
g_signal_connect_swapped (combobox, "changed",
G_CALLBACK (mobile_connection_changed_cb),
device_mobile);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox),
renderer,
@ -914,11 +904,11 @@ net_device_mobile_init (NetDeviceMobile *device_mobile)
widget = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder,
"device_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), device_mobile);
g_signal_connect_swapped (widget, "notify::active",
G_CALLBACK (device_off_toggled), device_mobile);
widget = GTK_WIDGET (gtk_builder_get_object (device_mobile->builder,
"button_options"));
g_signal_connect (widget, "clicked",
G_CALLBACK (edit_connection), device_mobile);
g_signal_connect_swapped (widget, "clicked",
G_CALLBACK (edit_connection), device_mobile);
}

View file

@ -125,9 +125,7 @@ device_simple_refresh (NetObject *object)
}
static void
device_off_toggled (GtkSwitch *sw,
GParamSpec *pspec,
NetDeviceSimple *device_simple)
device_off_toggled (NetDeviceSimple *device_simple)
{
NetDeviceSimplePrivate *priv = net_device_simple_get_instance_private (device_simple);
const GPtrArray *acs;
@ -140,7 +138,7 @@ device_off_toggled (GtkSwitch *sw,
if (priv->updating_device)
return;
active = gtk_switch_get_active (sw);
active = gtk_switch_get_active (GTK_SWITCH (gtk_builder_get_object (priv->builder, "device_off_switch")));
if (active) {
client = net_object_get_client (NET_OBJECT (device_simple));
connection = net_device_get_find_connection (NET_DEVICE (device_simple));
@ -170,7 +168,7 @@ device_off_toggled (GtkSwitch *sw,
}
static void
edit_connection (GtkButton *button, NetDeviceSimple *device_simple)
edit_connection (NetDeviceSimple *device_simple)
{
net_object_edit (NET_OBJECT (device_simple));
}
@ -235,13 +233,13 @@ net_device_simple_init (NetDeviceSimple *device_simple)
/* setup simple combobox model */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"device_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), device_simple);
g_signal_connect_swapped (widget, "notify::active",
G_CALLBACK (device_off_toggled), device_simple);
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"button_options"));
g_signal_connect (widget, "clicked",
G_CALLBACK (edit_connection), device_simple);
g_signal_connect_swapped (widget, "clicked",
G_CALLBACK (edit_connection), device_simple);
}
char *

View file

@ -49,7 +49,7 @@
static void nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi);
static void show_wifi_list (NetDeviceWifi *device_wifi);
static void show_hotspot_ui (NetDeviceWifi *device_wifi);
static void ap_activated (GtkListBox *list, GtkListBoxRow *row, NetDeviceWifi *device_wifi);
static void ap_activated (NetDeviceWifi *device_wifi, GtkListBoxRow *row);
static gint ap_sort (gconstpointer a, gconstpointer b, gpointer data);
static void show_details_for_row (NetDeviceWifi *device_wifi, CcWifiConnectionRow *row, CcWifiConnectionList *list );
@ -129,9 +129,7 @@ disable_scan_timeout (NetDeviceWifi *device_wifi)
}
static void
wireless_enabled_toggled (NMClient *client,
GParamSpec *pspec,
NetDeviceWifi *device_wifi)
wireless_enabled_toggled (NetDeviceWifi *device_wifi)
{
gboolean enabled;
GtkSwitch *sw;
@ -141,7 +139,7 @@ wireless_enabled_toggled (NMClient *client,
if (nm_device_get_device_type (device) != NM_DEVICE_TYPE_WIFI)
return;
enabled = nm_client_wireless_get_enabled (client);
enabled = nm_client_wireless_get_enabled (net_object_get_client (NET_OBJECT (device_wifi)));
sw = GTK_SWITCH (gtk_builder_get_object (device_wifi->builder,
"device_off_switch"));
@ -422,7 +420,7 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
nm_device = net_device_get_nm_device (NET_DEVICE (device_wifi));
/* keep this in sync with the signal handler setup in cc_network_panel_init */
wireless_enabled_toggled (client, NULL, device_wifi);
wireless_enabled_toggled (device_wifi);
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "heading_status"));
status = panel_device_status_to_localized_string (nm_device, NULL);
@ -440,9 +438,7 @@ device_wifi_refresh (NetObject *object)
}
static void
device_off_toggled (GtkSwitch *sw,
GParamSpec *pspec,
NetDeviceWifi *device_wifi)
device_off_toggled (NetDeviceWifi *device_wifi)
{
NMClient *client;
gboolean active;
@ -451,7 +447,7 @@ device_off_toggled (GtkSwitch *sw,
return;
client = net_object_get_client (NET_OBJECT (device_wifi));
active = gtk_switch_get_active (sw);
active = gtk_switch_get_active (GTK_SWITCH (gtk_builder_get_object (device_wifi->builder, "device_off_switch")));
nm_client_wireless_set_enabled (client, active);
if (!active)
disable_scan_timeout (device_wifi);
@ -781,7 +777,7 @@ overwrite_ssid_cb (GObject *source_object,
}
static void
start_hotspot (GtkButton *button, NetDeviceWifi *device_wifi)
start_hotspot (NetDeviceWifi *device_wifi)
{
NMDevice *device;
g_autofree gchar *active_ssid = NULL;
@ -795,7 +791,7 @@ start_hotspot (GtkButton *button, NetDeviceWifi *device_wifi)
client = net_object_get_client (NET_OBJECT (device_wifi));
device = net_device_get_nm_device (NET_DEVICE (device_wifi));
window = gtk_widget_get_toplevel (GTK_WIDGET (button));
window = gtk_widget_get_toplevel (GTK_WIDGET (gtk_builder_get_object (device_wifi->builder, "notebook_view")));
if (!device_wifi->hotspot_dialog)
device_wifi->hotspot_dialog = cc_wifi_hotspot_dialog_new (GTK_WINDOW (window));
@ -872,7 +868,7 @@ stop_shared_connection (NetDeviceWifi *device_wifi)
}
static void
stop_hotspot_response_cb (GtkWidget *dialog, gint response, NetDeviceWifi *device_wifi)
stop_hotspot_response_cb (NetDeviceWifi *device_wifi, gint response, GtkWidget *dialog)
{
if (response == GTK_RESPONSE_OK) {
stop_shared_connection (device_wifi);
@ -885,9 +881,7 @@ stop_hotspot_response_cb (GtkWidget *dialog, gint response, NetDeviceWifi *devic
}
static void
switch_hotspot_changed_cb (GtkSwitch *sw,
GParamSpec *pspec,
NetDeviceWifi *device_wifi)
switch_hotspot_changed_cb (NetDeviceWifi *device_wifi)
{
GtkWidget *dialog;
GtkWidget *window;
@ -907,8 +901,8 @@ switch_hotspot_changed_cb (GtkSwitch *sw,
_("_Cancel"), GTK_RESPONSE_CANCEL,
_("_Stop Hotspot"), GTK_RESPONSE_OK,
NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (stop_hotspot_response_cb), device_wifi);
g_signal_connect_swapped (dialog, "response",
G_CALLBACK (stop_hotspot_response_cb), device_wifi);
gtk_window_present (GTK_WINDOW (dialog));
}
@ -936,7 +930,7 @@ net_device_wifi_constructed (GObject *object)
client = net_object_get_client (NET_OBJECT (device_wifi));
g_signal_connect_object (client, "notify::wireless-enabled",
G_CALLBACK (wireless_enabled_toggled), device_wifi, 0);
G_CALLBACK (wireless_enabled_toggled), device_wifi, G_CONNECT_SWAPPED);
nm_device = net_device_get_nm_device (NET_DEVICE (device_wifi));
@ -948,8 +942,8 @@ net_device_wifi_constructed (GObject *object)
gtk_list_box_set_header_func (GTK_LIST_BOX (list), cc_list_box_update_header_func, NULL, NULL);
gtk_list_box_set_sort_func (GTK_LIST_BOX (list), (GtkListBoxSortFunc)ap_sort, NULL, NULL);
g_signal_connect (list, "row-activated",
G_CALLBACK (ap_activated), device_wifi);
g_signal_connect_swapped (list, "row-activated",
G_CALLBACK (ap_activated), device_wifi);
g_signal_connect_swapped (list, "configure",
G_CALLBACK (show_details_for_row),
device_wifi);
@ -1367,7 +1361,7 @@ open_history (NetDeviceWifi *device_wifi)
}
static void
ap_activated (GtkListBox *list, GtkListBoxRow *row, NetDeviceWifi *device_wifi)
ap_activated (NetDeviceWifi *device_wifi, GtkListBoxRow *row)
{
CcWifiConnectionRow *c_row;
NMConnection *connection;
@ -1426,8 +1420,8 @@ net_device_wifi_init (NetDeviceWifi *device_wifi)
/* setup wifi views */
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder,
"device_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), device_wifi);
g_signal_connect_swapped (widget, "notify::active",
G_CALLBACK (device_off_toggled), device_wifi);
/* setup view */
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder,
@ -1437,8 +1431,8 @@ net_device_wifi_init (NetDeviceWifi *device_wifi)
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder,
"start_hotspot_button"));
g_signal_connect (widget, "clicked",
G_CALLBACK (start_hotspot), device_wifi);
g_signal_connect_swapped (widget, "clicked",
G_CALLBACK (start_hotspot), device_wifi);
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder,
"connect_hidden_button"));
@ -1453,6 +1447,6 @@ net_device_wifi_init (NetDeviceWifi *device_wifi)
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->builder,
"switch_hotspot_off"));
device_wifi->hotspot_switch = GTK_SWITCH (widget);
g_signal_connect (widget, "notify::active",
G_CALLBACK (switch_hotspot_changed_cb), device_wifi);
g_signal_connect_swapped (widget, "notify::active",
G_CALLBACK (switch_hotspot_changed_cb), device_wifi);
}

View file

@ -162,11 +162,7 @@ net_device_get_find_connection (NetDevice *device)
}
static void
state_changed_cb (NMDevice *device,
NMDeviceState new_state,
NMDeviceState old_state,
NMDeviceStateReason reason,
NetDevice *net_device)
state_changed_cb (NetDevice *net_device)
{
net_object_emit_changed (NET_OBJECT (net_device));
net_object_refresh (NET_OBJECT (net_device));
@ -242,10 +238,10 @@ net_device_set_property (GObject *device_,
}
priv->nm_device = g_value_dup_object (value);
if (priv->nm_device) {
priv->changed_id = g_signal_connect (priv->nm_device,
"state-changed",
G_CALLBACK (state_changed_cb),
net_device);
priv->changed_id = g_signal_connect_swapped (priv->nm_device,
"state-changed",
G_CALLBACK (state_changed_cb),
net_device);
} else
priv->changed_id = 0;
break;

View file

@ -41,7 +41,7 @@ struct _NetProxy
GSettings *settings;
GtkBuilder *builder;
GtkToggleButton *mode_radios[3];
GtkRadioButton *mode_radios[3];
};
G_DEFINE_TYPE (NetProxy, net_proxy, NET_TYPE_OBJECT)
@ -119,9 +119,7 @@ out:
}
static void
settings_changed_cb (GSettings *settings,
const gchar *key,
NetProxy *proxy)
settings_changed_cb (NetProxy *proxy)
{
check_wpad_warning (proxy);
}
@ -153,12 +151,11 @@ panel_proxy_mode_setup_widgets (NetProxy *proxy, ProxyMode value)
}
static void
panel_proxy_mode_radio_changed_cb (GtkToggleButton *radio,
NetProxy *proxy)
panel_proxy_mode_radio_changed_cb (NetProxy *proxy, GtkRadioButton *radio)
{
ProxyMode value;
if (!gtk_toggle_button_get_active (radio))
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio)))
return;
/* get selected radio */
@ -182,13 +179,12 @@ panel_proxy_mode_radio_changed_cb (GtkToggleButton *radio,
}
static void
show_dialog_cb (GtkWidget *button,
NetProxy *self)
show_dialog_cb (NetProxy *self)
{
GtkWidget *toplevel;
GtkWindow *dialog;
toplevel = gtk_widget_get_toplevel (button);
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (gtk_builder_get_object (self->builder, "main_widget")));
dialog = GTK_WINDOW (gtk_builder_get_object (self->builder, "dialog"));
gtk_window_set_transient_for (dialog, GTK_WINDOW (toplevel));
@ -306,10 +302,10 @@ net_proxy_init (NetProxy *proxy)
}
proxy->settings = g_settings_new ("org.gnome.system.proxy");
g_signal_connect (proxy->settings,
"changed",
G_CALLBACK (settings_changed_cb),
proxy);
g_signal_connect_swapped (proxy->settings,
"changed",
G_CALLBACK (settings_changed_cb),
proxy);
/* actions */
value = g_settings_get_enum (proxy->settings, "mode");
@ -383,31 +379,31 @@ net_proxy_init (NetProxy *proxy)
/* radio buttons */
proxy->mode_radios[MODE_DISABLED] =
GTK_TOGGLE_BUTTON (gtk_builder_get_object (proxy->builder, "radio_none"));
GTK_RADIO_BUTTON (gtk_builder_get_object (proxy->builder, "radio_none"));
proxy->mode_radios[MODE_MANUAL] =
GTK_TOGGLE_BUTTON (gtk_builder_get_object (proxy->builder, "radio_manual"));
GTK_RADIO_BUTTON (gtk_builder_get_object (proxy->builder, "radio_manual"));
proxy->mode_radios[MODE_AUTOMATIC] =
GTK_TOGGLE_BUTTON (gtk_builder_get_object (proxy->builder, "radio_automatic"));
GTK_RADIO_BUTTON (gtk_builder_get_object (proxy->builder, "radio_automatic"));
/* setup the radio before connecting to the :toggled signal */
gtk_toggle_button_set_active (proxy->mode_radios[value], TRUE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (proxy->mode_radios[value]), TRUE);
panel_proxy_mode_setup_widgets (proxy, value);
panel_update_status_label (proxy, value);
for (i = MODE_DISABLED; i < N_MODES; i++) {
g_signal_connect (proxy->mode_radios[i],
"toggled",
G_CALLBACK (panel_proxy_mode_radio_changed_cb),
proxy);
g_signal_connect_swapped (proxy->mode_radios[i],
"toggled",
G_CALLBACK (panel_proxy_mode_radio_changed_cb),
proxy);
}
/* show dialog button */
widget = GTK_WIDGET (gtk_builder_get_object (proxy->builder, "dialog_button"));
g_signal_connect (widget,
"clicked",
G_CALLBACK (show_dialog_cb),
proxy);
g_signal_connect_swapped (widget,
"clicked",
G_CALLBACK (show_dialog_cb),
proxy);
/* prevent the dialog from being destroyed */
widget = GTK_WIDGET (gtk_builder_get_object (proxy->builder, "dialog"));

View file

@ -65,17 +65,14 @@ net_vpn_set_show_separator (NetVpn *self,
}
static void
connection_changed_cb (NMConnection *connection,
NetVpn *vpn)
connection_changed_cb (NetVpn *vpn)
{
net_object_emit_changed (NET_OBJECT (vpn));
nm_device_refresh_vpn_ui (vpn);
}
static void
connection_removed_cb (NMClient *client,
NMConnection *connection,
NetVpn *vpn)
connection_removed_cb (NetVpn *vpn, NMConnection *connection)
{
if (vpn->connection == connection)
net_object_emit_removed (NET_OBJECT (vpn));
@ -111,13 +108,13 @@ net_vpn_set_connection (NetVpn *vpn, NMConnection *connection)
client = net_object_get_client (NET_OBJECT (vpn));
g_signal_connect_object (client,
NM_CLIENT_CONNECTION_REMOVED,
G_CALLBACK (connection_removed_cb),
vpn, 0);
NM_CLIENT_CONNECTION_REMOVED,
G_CALLBACK (connection_removed_cb),
vpn, G_CONNECT_SWAPPED);
g_signal_connect_object (connection,
NM_CONNECTION_CHANGED,
G_CALLBACK (connection_changed_cb),
vpn, 0);
NM_CONNECTION_CHANGED,
G_CALLBACK (connection_changed_cb),
vpn, G_CONNECT_SWAPPED);
vpn->service_type = net_vpn_connection_to_type (vpn->connection);
}
@ -223,9 +220,7 @@ vpn_proxy_refresh (NetObject *object)
}
static void
device_off_toggled (GtkSwitch *sw,
GParamSpec *pspec,
NetVpn *vpn)
device_off_toggled (NetVpn *vpn)
{
const GPtrArray *acs;
gboolean active;
@ -236,7 +231,7 @@ device_off_toggled (GtkSwitch *sw,
if (vpn->updating_device)
return;
active = gtk_switch_get_active (sw);
active = gtk_switch_get_active (GTK_SWITCH (gtk_builder_get_object (vpn->builder, "device_off_switch")));
if (active) {
client = net_object_get_client (NET_OBJECT (vpn));
nm_client_activate_connection_async (client,
@ -259,15 +254,13 @@ device_off_toggled (GtkSwitch *sw,
}
static void
edit_connection (GtkButton *button, NetVpn *vpn)
edit_connection (NetVpn *vpn)
{
net_object_edit (NET_OBJECT (vpn));
}
static void
editor_done (NetConnectionEditor *editor,
gboolean success,
NetVpn *vpn)
editor_done (NetVpn *vpn)
{
net_object_refresh (NET_OBJECT (vpn));
g_object_unref (vpn);
@ -294,7 +287,7 @@ vpn_proxy_edit (NetObject *object)
title = g_strdup_printf (_("%s VPN"), nm_connection_get_id (vpn->connection));
net_connection_editor_set_title (editor, title);
g_signal_connect (editor, "done", G_CALLBACK (editor_done), g_object_ref (vpn));
g_signal_connect_swapped (editor, "done", G_CALLBACK (editor_done), g_object_ref (vpn));
net_connection_editor_run (editor);
}
@ -423,11 +416,11 @@ net_vpn_init (NetVpn *vpn)
widget = GTK_WIDGET (gtk_builder_get_object (vpn->builder,
"device_off_switch"));
g_signal_connect (widget, "notify::active",
G_CALLBACK (device_off_toggled), vpn);
g_signal_connect_swapped (widget, "notify::active",
G_CALLBACK (device_off_toggled), vpn);
widget = GTK_WIDGET (gtk_builder_get_object (vpn->builder,
"button_options"));
g_signal_connect (widget, "clicked",
G_CALLBACK (edit_connection), vpn);
g_signal_connect_swapped (widget, "clicked",
G_CALLBACK (edit_connection), vpn);
}

View file

@ -187,17 +187,17 @@ fill_connection (EAPMethod *parent, NMConnection *connection, NMSettingSecretFla
}
static void
inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
inner_auth_combo_changed_cb (EAPMethodFAST *self)
{
EAPMethod *parent = (EAPMethod *) user_data;
EAPMethodFAST *method = (EAPMethodFAST *) parent;
GtkWidget *vbox;
EAPMethod *parent = (EAPMethod *) self;
GtkWidget *combo, *vbox;
g_autoptr(EAPMethod) eap = NULL;
GList *elt, *children;
GtkTreeModel *model;
GtkTreeIter iter;
GtkWidget *eap_widget;
combo = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_inner_auth_combo"));
vbox = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_inner_auth_vbox"));
g_assert (vbox);
@ -216,11 +216,11 @@ inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
g_assert (eap_widget);
gtk_widget_unparent (eap_widget);
if (method->size_group)
eap_method_add_to_size_group (eap, method->size_group);
if (self->size_group)
eap_method_add_to_size_group (eap, self->size_group);
gtk_container_add (GTK_CONTAINER (vbox), eap_widget);
wireless_security_notify_changed (method->sec_parent);
wireless_security_notify_changed (self->sec_parent);
}
static GtkWidget *
@ -288,9 +288,7 @@ inner_auth_combo_init (EAPMethodFAST *method,
gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (auth_model));
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), active);
g_signal_connect (G_OBJECT (combo), "changed",
(GCallback) inner_auth_combo_changed_cb,
method);
g_signal_connect_swapped (combo, "changed", G_CALLBACK (inner_auth_combo_changed_cb), method);
return combo;
}
@ -304,21 +302,22 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
}
static void
pac_toggled_cb (GtkWidget *widget, gpointer user_data)
pac_toggled_cb (EAPMethodFAST *self)
{
EAPMethod *parent = (EAPMethod *) user_data;
EAPMethodFAST *method = (EAPMethodFAST *) parent;
GtkWidget *widget;
EAPMethod *parent = (EAPMethod *) self;
gboolean enabled = FALSE;
GtkWidget *provision_combo;
provision_combo = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_pac_provision_combo"));
g_return_if_fail (provision_combo);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_pac_provision_checkbutton"));
enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
gtk_widget_set_sensitive (provision_combo, enabled);
wireless_security_notify_changed (method->sec_parent);
wireless_security_notify_changed (self->sec_parent);
}
static void
@ -386,7 +385,7 @@ eap_method_fast_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_pac_provision_checkbutton"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), provisioning_enabled);
g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (pac_toggled_cb), parent);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (pac_toggled_cb), method);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_anon_identity_entry"));
if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x))
@ -416,7 +415,7 @@ eap_method_fast_new (WirelessSecurity *ws_parent,
}
widget = inner_auth_combo_init (method, connection, s_8021x, secrets_only);
inner_auth_combo_changed_cb (widget, (gpointer) method);
inner_auth_combo_changed_cb (method);
if (secrets_only) {
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_anon_identity_label"));

View file

@ -44,11 +44,14 @@ struct _EAPMethodLEAP {
};
static void
show_toggled_cb (GtkToggleButton *button, EAPMethodLEAP *method)
show_toggled_cb (EAPMethodLEAP *method)
{
EAPMethod *parent = (EAPMethod *) method;
GtkWidget *widget;
gboolean visible;
visible = gtk_toggle_button_get_active (button);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_eapleap"));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
gtk_entry_set_visibility (method->password_entry, visible);
}
@ -152,13 +155,13 @@ set_userpass_ui (EAPMethodLEAP *method)
}
static void
widgets_realized (GtkWidget *widget, EAPMethodLEAP *method)
widgets_realized (EAPMethodLEAP *method)
{
set_userpass_ui (method);
}
static void
widgets_unrealized (GtkWidget *widget, EAPMethodLEAP *method)
widgets_unrealized (EAPMethodLEAP *method)
{
wireless_security_set_userpass (method->ws_parent,
gtk_entry_get_text (method->username_entry),
@ -218,12 +221,8 @@ eap_method_leap_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_leap_grid"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "realize",
(GCallback) widgets_realized,
method);
g_signal_connect (G_OBJECT (widget), "unrealize",
(GCallback) widgets_unrealized,
method);
g_signal_connect_swapped (widget, "realize", G_CALLBACK (widgets_realized), method);
g_signal_connect_swapped (widget, "unrealize", G_CALLBACK (widgets_unrealized), method);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_leap_username_entry"));
g_assert (widget);
@ -247,9 +246,7 @@ eap_method_leap_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_eapleap"));
g_assert (widget);
method->show_password = GTK_TOGGLE_BUTTON (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb,
parent);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (show_toggled_cb), method);
/* Initialize the UI fields with the security settings from method->ws_parent.
* This will be done again when the widget gets realized. It must be done here as well,

View file

@ -82,9 +82,9 @@ validate (EAPMethod *parent, GError **error)
}
static void
ca_cert_not_required_toggled (GtkWidget *ignored, gpointer user_data)
ca_cert_not_required_toggled (EAPMethodPEAP *self)
{
EAPMethod *parent = user_data;
EAPMethod *parent = (EAPMethod *) self;
eap_method_ca_cert_not_required_toggled (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_not_required_checkbox")),
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_button")));
@ -191,11 +191,10 @@ fill_connection (EAPMethod *parent, NMConnection *connection, NMSettingSecretFla
eap_method_fill_connection (eap, connection, flags);
}
static void
inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
inner_auth_combo_changed_cb (EAPMethodPEAP *self)
{
EAPMethod *parent = (EAPMethod *) user_data;
EAPMethodPEAP *method = (EAPMethodPEAP *) parent;
GtkWidget *vbox;
EAPMethod *parent = (EAPMethod *) self;
GtkWidget *combo, *vbox;
g_autoptr(EAPMethod) eap = NULL;
GList *elt, *children;
GtkTreeModel *model;
@ -210,6 +209,7 @@ inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
for (elt = children; elt; elt = g_list_next (elt))
gtk_container_remove (GTK_CONTAINER (vbox), GTK_WIDGET (elt->data));
combo = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_inner_auth_combo"));
model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter);
gtk_tree_model_get (model, &iter, I_METHOD_COLUMN, &eap, -1);
@ -219,11 +219,11 @@ inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
g_assert (eap_widget);
gtk_widget_unparent (eap_widget);
if (method->size_group)
eap_method_add_to_size_group (eap, method->size_group);
if (self->size_group)
eap_method_add_to_size_group (eap, self->size_group);
gtk_container_add (GTK_CONTAINER (vbox), eap_widget);
wireless_security_notify_changed (method->sec_parent);
wireless_security_notify_changed (self->sec_parent);
}
static GtkWidget *
@ -306,9 +306,7 @@ inner_auth_combo_init (EAPMethodPEAP *method,
gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (auth_model));
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), active);
g_signal_connect (G_OBJECT (combo), "changed",
(GCallback) inner_auth_combo_changed_cb,
method);
g_signal_connect_swapped (combo, "changed", G_CALLBACK (inner_auth_combo_changed_cb), method);
return combo;
}
@ -363,9 +361,7 @@ eap_method_peap_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_not_required_checkbox"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) ca_cert_not_required_toggled,
parent);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (ca_cert_not_required_toggled), method);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (changed_cb), method);
widget_ca_not_required_checkbox = widget;
@ -389,7 +385,7 @@ eap_method_peap_new (WirelessSecurity *ws_parent,
}
widget = inner_auth_combo_init (method, connection, s_8021x, secrets_only);
inner_auth_combo_changed_cb (widget, (gpointer) method);
inner_auth_combo_changed_cb (method);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_version_combo"));
g_assert (widget);

View file

@ -46,12 +46,15 @@ struct _EAPMethodSimple {
};
static void
show_toggled_cb (GtkToggleButton *button, EAPMethodSimple *method)
show_toggled_cb (EAPMethodSimple *self)
{
EAPMethod *parent = (EAPMethod *) self;
GtkWidget *widget;
gboolean visible;
visible = gtk_toggle_button_get_active (button);
gtk_entry_set_visibility (method->password_entry, visible);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_eapsimple"));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
gtk_entry_set_visibility (self->password_entry, visible);
}
static gboolean
@ -203,9 +206,7 @@ stuff_changed (EAPMethodSimple *method)
}
static void
password_storage_changed (GObject *entry,
GParamSpec *pspec,
EAPMethodSimple *method)
password_storage_changed (EAPMethodSimple *method)
{
gboolean always_ask;
gboolean secrets_only = method->flags & EAP_METHOD_SIMPLE_FLAG_SECRETS_ONLY;
@ -244,13 +245,13 @@ set_userpass_ui (EAPMethodSimple *method)
}
static void
widgets_realized (GtkWidget *widget, EAPMethodSimple *method)
widgets_realized (EAPMethodSimple *method)
{
set_userpass_ui (method);
}
static void
widgets_unrealized (GtkWidget *widget, EAPMethodSimple *method)
widgets_unrealized (EAPMethodSimple *method)
{
wireless_security_set_userpass (method->ws_parent,
gtk_entry_get_text (method->username_entry),
@ -316,12 +317,8 @@ eap_method_simple_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_simple_grid"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "realize",
(GCallback) widgets_realized,
method);
g_signal_connect (G_OBJECT (widget), "unrealize",
(GCallback) widgets_unrealized,
method);
g_signal_connect_swapped (widget, "realize", G_CALLBACK (widgets_realized), method);
g_signal_connect_swapped (widget, "unrealize", G_CALLBACK (widgets_unrealized), method);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_simple_username_entry"));
g_assert (widget);
@ -342,16 +339,12 @@ eap_method_simple_new (WirelessSecurity *ws_parent,
nma_utils_setup_password_storage (widget, 0, (NMSetting *) s_8021x, parent->password_flags_name,
FALSE, flags & EAP_METHOD_SIMPLE_FLAG_SECRETS_ONLY);
g_signal_connect (method->password_entry, "notify::secondary-icon-name",
G_CALLBACK (password_storage_changed),
method);
g_signal_connect_swapped (method->password_entry, "notify::secondary-icon-name", G_CALLBACK (password_storage_changed), method);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_eapsimple"));
g_assert (widget);
method->show_password = GTK_TOGGLE_BUTTON (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb,
method);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (show_toggled_cb), method);
/* Initialize the UI fields with the security settings from method->ws_parent.
* This will be done again when the widget gets realized. It must be done here as well,

View file

@ -40,15 +40,16 @@ struct _EAPMethodTLS {
static void
show_toggled_cb (GtkCheckButton *button, EAPMethod *method)
show_toggled_cb (EAPMethodTLS *self)
{
EAPMethod *method = (EAPMethod *) self;
GtkWidget *widget;
gboolean visible;
widget = GTK_WIDGET (gtk_builder_get_object (method->builder, "eap_tls_private_key_password_entry"));
g_assert (widget);
widget = GTK_WIDGET (gtk_builder_get_object (method->builder, "show_checkbutton_eaptls"));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
widget = GTK_WIDGET (gtk_builder_get_object (method->builder, "eap_tls_private_key_password_entry"));
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
}
@ -121,9 +122,9 @@ validate (EAPMethod *parent, GError **error)
}
static void
ca_cert_not_required_toggled (GtkWidget *ignored, gpointer user_data)
ca_cert_not_required_toggled (EAPMethodTLS *self)
{
EAPMethod *parent = user_data;
EAPMethod *parent = (EAPMethod *) self;
eap_method_ca_cert_not_required_toggled (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_not_required_checkbox")),
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")));
@ -463,9 +464,7 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_not_required_checkbox"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) ca_cert_not_required_toggled,
parent);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (ca_cert_not_required_toggled), method);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (changed_cb), method);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_identity_entry"));
@ -514,9 +513,7 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_eaptls"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb,
parent);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (show_toggled_cb), method);
if (secrets_only) {
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_identity_entry"));

View file

@ -82,10 +82,9 @@ validate (EAPMethod *parent, GError **error)
}
static void
ca_cert_not_required_toggled (GtkWidget *ignored, gpointer user_data)
ca_cert_not_required_toggled (EAPMethodTTLS *self)
{
EAPMethod *parent = user_data;
EAPMethod *parent = (EAPMethod *) self;
eap_method_ca_cert_not_required_toggled (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_not_required_checkbox")),
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button")));
}
@ -183,17 +182,17 @@ fill_connection (EAPMethod *parent, NMConnection *connection, NMSettingSecretFla
}
static void
inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
inner_auth_combo_changed_cb (EAPMethodTTLS *self)
{
EAPMethod *parent = (EAPMethod *) user_data;
EAPMethodTTLS *method = (EAPMethodTTLS *) parent;
GtkWidget *vbox;
EAPMethod *parent = (EAPMethod *) self;
GtkWidget *combo, *vbox;
g_autoptr(EAPMethod) eap = NULL;
GList *elt, *children;
GtkTreeModel *model;
GtkTreeIter iter;
GtkWidget *eap_widget;
combo = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_combo"));
vbox = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_vbox"));
g_assert (vbox);
@ -212,11 +211,11 @@ inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
g_assert (eap_widget);
gtk_widget_unparent (eap_widget);
if (method->size_group)
eap_method_add_to_size_group (eap, method->size_group);
if (self->size_group)
eap_method_add_to_size_group (eap, self->size_group);
gtk_container_add (GTK_CONTAINER (vbox), eap_widget);
wireless_security_notify_changed (method->sec_parent);
wireless_security_notify_changed (self->sec_parent);
}
static GtkWidget *
@ -361,9 +360,7 @@ inner_auth_combo_init (EAPMethodTTLS *method,
gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (auth_model));
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), active);
g_signal_connect (G_OBJECT (combo), "changed",
(GCallback) inner_auth_combo_changed_cb,
method);
g_signal_connect_swapped (combo, "changed", G_CALLBACK (inner_auth_combo_changed_cb), method);
return combo;
}
@ -418,9 +415,7 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_not_required_checkbox"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) ca_cert_not_required_toggled,
parent);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (ca_cert_not_required_toggled), method);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (changed_cb), method);
widget_ca_not_required_checkbox = widget;
@ -453,7 +448,7 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method);
widget = inner_auth_combo_init (method, connection, s_8021x, secrets_only);
inner_auth_combo_changed_cb (widget, (gpointer) method);
inner_auth_combo_changed_cb (method);
if (secrets_only) {
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_anon_identity_label"));

View file

@ -37,15 +37,16 @@ struct _WirelessSecurityLEAP {
};
static void
show_toggled_cb (GtkCheckButton *button, WirelessSecurity *sec)
show_toggled_cb (WirelessSecurityLEAP *self)
{
WirelessSecurity *sec = (WirelessSecurity *) self;
GtkWidget *widget;
gboolean visible;
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, "leap_password_entry"));
g_assert (widget);
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, "show_checkbutton_leap"));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, "leap_password_entry"));
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
}
@ -210,9 +211,7 @@ ws_leap_new (NMConnection *connection, gboolean secrets_only)
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_leap"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb,
sec);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (show_toggled_cb), sec);
return sec;
}

View file

@ -42,23 +42,25 @@ struct _WirelessSecurityWEPKey {
};
static void
show_toggled_cb (GtkCheckButton *button, WirelessSecurity *sec)
show_toggled_cb (WirelessSecurityWEPKey *self)
{
GtkWidget *widget;
WirelessSecurity *parent = (WirelessSecurity *) self;
GtkWidget *widget, *button;
gboolean visible;
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, "wep_key_entry"));
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wep_key_entry"));
g_assert (widget);
button = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_wep"));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
}
static void
key_index_combo_changed_cb (GtkWidget *combo, WirelessSecurity *parent)
key_index_combo_changed_cb (WirelessSecurityWEPKey *self)
{
WirelessSecurityWEPKey *sec = (WirelessSecurityWEPKey *) parent;
GtkWidget *entry;
WirelessSecurity *parent = (WirelessSecurity *) self;
GtkWidget *combo, *entry;
const char *key;
int key_index;
@ -66,17 +68,18 @@ key_index_combo_changed_cb (GtkWidget *combo, WirelessSecurity *parent)
entry = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wep_key_entry"));
key = gtk_entry_get_text (GTK_ENTRY (entry));
if (key)
g_strlcpy (sec->keys[sec->cur_index], key, sizeof (sec->keys[sec->cur_index]));
g_strlcpy (self->keys[self->cur_index], key, sizeof (self->keys[self->cur_index]));
else
memset (sec->keys[sec->cur_index], 0, sizeof (sec->keys[sec->cur_index]));
memset (self->keys[self->cur_index], 0, sizeof (self->keys[self->cur_index]));
combo = GTK_WIDGET (gtk_builder_get_object (parent->builder, "key_index_combo"));
key_index = gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
g_return_if_fail (key_index <= 3);
g_return_if_fail (key_index >= 0);
/* Populate entry with key from new index */
gtk_entry_set_text (GTK_ENTRY (entry), sec->keys[key_index]);
sec->cur_index = key_index;
gtk_entry_set_text (GTK_ENTRY (entry), self->keys[key_index]);
self->cur_index = key_index;
wireless_security_notify_changed (parent);
}
@ -213,15 +216,16 @@ fill_connection (WirelessSecurity *parent, NMConnection *connection)
}
static void
wep_entry_filter_cb (GtkEditable *editable,
wep_entry_filter_cb (WirelessSecurityWEPKey *self,
gchar *text,
gint length,
gint *position,
gpointer data)
gint *position)
{
WirelessSecurityWEPKey *sec = (WirelessSecurityWEPKey *) data;
WirelessSecurity *parent = (WirelessSecurity *) self;
GtkWidget *widget;
if (sec->type == NM_WEP_KEY_TYPE_KEY) {
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wep_key_entry"));
if (self->type == NM_WEP_KEY_TYPE_KEY) {
int i, count = 0;
g_autofree gchar *result = g_new (gchar, length+1);
@ -232,15 +236,11 @@ wep_entry_filter_cb (GtkEditable *editable,
result[count] = 0;
if (count > 0) {
g_signal_handlers_block_by_func (G_OBJECT (editable),
G_CALLBACK (wep_entry_filter_cb),
data);
gtk_editable_insert_text (editable, result, count, position);
g_signal_handlers_unblock_by_func (G_OBJECT (editable),
G_CALLBACK (wep_entry_filter_cb),
data);
g_signal_handlers_block_by_func (widget, G_CALLBACK (wep_entry_filter_cb), self);
gtk_editable_insert_text (GTK_EDITABLE (widget), result, count, position);
g_signal_handlers_unblock_by_func (widget, G_CALLBACK (wep_entry_filter_cb), self);
}
g_signal_stop_emission_by_name (G_OBJECT (editable), "insert-text");
g_signal_stop_emission_by_name (widget, "insert-text");
}
}
@ -329,9 +329,7 @@ ws_wep_key_new (NMConnection *connection,
}
g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), sec);
g_signal_connect (G_OBJECT (widget), "insert-text",
(GCallback) wep_entry_filter_cb,
sec);
g_signal_connect_swapped (widget, "insert-text", G_CALLBACK (wep_entry_filter_cb), sec);
if (sec->type == NM_WEP_KEY_TYPE_KEY)
gtk_entry_set_max_length (GTK_ENTRY (widget), 26);
else if (sec->type == NM_WEP_KEY_TYPE_PASSPHRASE)
@ -343,9 +341,7 @@ ws_wep_key_new (NMConnection *connection,
gtk_combo_box_set_active (GTK_COMBO_BOX (widget), default_key_idx);
sec->cur_index = default_key_idx;
g_signal_connect (G_OBJECT (widget), "changed",
(GCallback) key_index_combo_changed_cb,
sec);
g_signal_connect_swapped (widget, "changed", G_CALLBACK (key_index_combo_changed_cb), sec);
/* Key index is useless with adhoc networks */
if (is_adhoc || secrets_only) {
@ -360,9 +356,7 @@ ws_wep_key_new (NMConnection *connection,
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_wep"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb,
sec);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (show_toggled_cb), sec);
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "auth_method_combo"));
gtk_combo_box_set_active (GTK_COMBO_BOX (widget), is_shared_key ? 1 : 0);

View file

@ -47,15 +47,16 @@ get_widget (WirelessSecurity *parent)
}
static void
show_toggled_cb (GtkCheckButton *button, WirelessSecurity *sec)
show_toggled_cb (WirelessSecurityWPAPSK *self)
{
WirelessSecurity *sec = (WirelessSecurity *) self;
GtkWidget *widget;
gboolean visible;
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, "wpa_psk_entry"));
g_assert (widget);
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, "show_checkbutton_wpa"));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, "wpa_psk_entry"));
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
}
@ -220,9 +221,7 @@ ws_wpa_psk_new (NMConnection *connection, gboolean secrets_only)
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_wpa"));
g_assert (widget);
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb,
sec);
g_signal_connect_swapped (widget, "toggled", G_CALLBACK (show_toggled_cb), sec);
/* Hide WPA/RSN for now since this can be autodetected by NM and the
* supplicant when connecting to the AP.