[gnome-control-center] network: Remove net_object_emit_removed
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] network: Remove net_object_emit_removed
- Date: Tue, 5 Nov 2019 23:07:34 +0000 (UTC)
commit 2752f38a723ddea64e4094cdef45db8103d13c42
Author: Robert Ancell <robert ancell canonical com>
Date: Thu Oct 24 13:21:17 2019 +1300
network: Remove net_object_emit_removed
panels/network/cc-network-panel.c | 45 +++++++++++++++++++--------------------
panels/network/net-object.c | 14 ------------
panels/network/net-object.h | 1 -
panels/network/net-vpn.c | 11 ----------
4 files changed, 22 insertions(+), 49 deletions(-)
---
diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c
index 4b27324e7..818199337 100644
--- a/panels/network/cc-network-panel.c
+++ b/panels/network/cc-network-panel.c
@@ -234,17 +234,6 @@ cc_network_panel_get_help_uri (CcPanel *self)
return "help:gnome-help/net";
}
-static void
-object_removed_cb (CcNetworkPanel *self, NetObject *object)
-{
- GtkWidget *widget;
-
- /* remove device */
- widget = g_hash_table_lookup (self->device_to_widget, object);
- if (widget != NULL)
- gtk_widget_destroy (widget);
-}
-
static void
panel_refresh_device_titles (CcNetworkPanel *self)
{
@@ -483,22 +472,22 @@ panel_add_device (CcNetworkPanel *self, NMDevice *device)
* be handled by the future Mobile Broadband panel */
if (NET_IS_DEVICE_BLUETOOTH (net_device))
update_bluetooth_section (self);
-
- g_signal_connect_object (net_device, "removed",
- G_CALLBACK (object_removed_cb), self, G_CONNECT_SWAPPED);
}
static void
panel_remove_device (CcNetworkPanel *self, NMDevice *device)
{
NetObject *net_device = NULL;
+ GtkWidget *widget;
net_device = g_hash_table_lookup (self->nm_device_to_device, device);
if (net_device == NULL)
return;
- /* NMObject will not fire the "removed" signal, so handle the UI removal explicitly */
- object_removed_cb (self, net_device);
+ widget = g_hash_table_lookup (self->device_to_widget, device);
+ if (widget != NULL)
+ gtk_widget_destroy (widget);
+
g_ptr_array_remove (self->bluetooth_devices, net_device);
g_ptr_array_remove (self->ethernet_devices, net_device);
g_ptr_array_remove (self->mobile_devices, net_device);
@@ -620,8 +609,7 @@ panel_add_vpn_device (CcNetworkPanel *self, NMConnection *connection)
/* add as a VPN object */
net_vpn = net_vpn_new (connection,
self->client);
- g_signal_connect_object (net_vpn, "removed",
- G_CALLBACK (object_removed_cb), self, G_CONNECT_SWAPPED);
+
/* add as a panel */
add_object (self, NET_OBJECT (net_vpn), GTK_CONTAINER (self->box_vpn));
@@ -636,8 +624,7 @@ panel_add_vpn_device (CcNetworkPanel *self, NMConnection *connection)
}
static void
-add_connection (CcNetworkPanel *self,
- NMConnection *connection)
+add_connection (CcNetworkPanel *self, NMConnection *connection)
{
NMSettingConnection *s_con;
const gchar *type, *iface;
@@ -661,9 +648,19 @@ add_connection (CcNetworkPanel *self,
}
static void
-notify_connection_added_cb (CcNetworkPanel *self, NMRemoteConnection *connection)
+client_connection_removed_cb (CcNetworkPanel *self, NMConnection *connection)
{
- add_connection (self, NM_CONNECTION (connection));
+ guint i;
+
+ for (i = 0; i < self->vpns->len; i++) {
+ NetVpn *vpn = g_ptr_array_index (self->vpns, i);
+ if (net_vpn_get_connection (vpn) == connection) {
+ GtkWidget *widget = g_hash_table_lookup (self->device_to_widget, vpn);
+ if (widget != NULL)
+ gtk_widget_destroy (widget);
+ return;
+ }
+ }
}
static void
@@ -813,7 +810,9 @@ cc_network_panel_init (CcNetworkPanel *self)
/* add remote settings such as VPN settings as virtual devices */
g_signal_connect_object (self->client, NM_CLIENT_CONNECTION_ADDED,
- G_CALLBACK (notify_connection_added_cb), self, G_CONNECT_SWAPPED);
+ G_CALLBACK (add_connection), self, G_CONNECT_SWAPPED);
+ g_signal_connect_object (self->client, NM_CLIENT_CONNECTION_REMOVED,
+ G_CALLBACK (client_connection_removed_cb), self, G_CONNECT_SWAPPED);
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self));
g_signal_connect_after (toplevel, "map", G_CALLBACK (on_toplevel_map), self);
diff --git a/panels/network/net-object.c b/panels/network/net-object.c
index c5e622ad7..d717bdb01 100644
--- a/panels/network/net-object.c
+++ b/panels/network/net-object.c
@@ -39,7 +39,6 @@ enum {
enum {
SIGNAL_CHANGED,
- SIGNAL_REMOVED,
SIGNAL_LAST
};
@@ -53,13 +52,6 @@ net_object_emit_changed (NetObject *self)
g_signal_emit (self, signals[SIGNAL_CHANGED], 0);
}
-void
-net_object_emit_removed (NetObject *self)
-{
- g_return_if_fail (NET_IS_OBJECT (self));
- g_signal_emit (self, signals[SIGNAL_REMOVED], 0);
-}
-
const gchar *
net_object_get_title (NetObject *self)
{
@@ -165,12 +157,6 @@ net_object_class_init (NetObjectClass *klass)
0,
NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- signals[SIGNAL_REMOVED] =
- g_signal_new ("removed",
- G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
- 0,
- NULL, NULL, g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
}
static void
diff --git a/panels/network/net-object.h b/panels/network/net-object.h
index 56f03dab5..69078824e 100644
--- a/panels/network/net-object.h
+++ b/panels/network/net-object.h
@@ -46,7 +46,6 @@ const gchar *net_object_get_title (NetObject *object)
void net_object_set_title (NetObject *object,
const gchar *title);
void net_object_emit_changed (NetObject *object);
-void net_object_emit_removed (NetObject *object);
GtkWidget *net_object_get_widget (NetObject *object,
GtkSizeGroup *heading_size_group);
diff --git a/panels/network/net-vpn.c b/panels/network/net-vpn.c
index bb07f67ab..1fcb1b62c 100644
--- a/panels/network/net-vpn.c
+++ b/panels/network/net-vpn.c
@@ -60,13 +60,6 @@ connection_changed_cb (NetVpn *self)
nm_device_refresh_vpn_ui (self);
}
-static void
-connection_removed_cb (NetVpn *self, NMConnection *connection)
-{
- if (self->connection == connection)
- net_object_emit_removed (NET_OBJECT (self));
-}
-
static GtkWidget *
vpn_proxy_get_widget (NetObject *object,
GtkSizeGroup *heading_size_group)
@@ -261,10 +254,6 @@ net_vpn_new (NMConnection *connection,
self->client = g_object_ref (client);
self->connection = g_object_ref (connection);
- g_signal_connect_object (self->client,
- NM_CLIENT_CONNECTION_REMOVED,
- G_CALLBACK (connection_removed_cb),
- self, G_CONNECT_SWAPPED);
g_signal_connect_object (connection,
NM_CONNECTION_CHANGED,
G_CALLBACK (connection_changed_cb),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]