diff options
author | Joaquim Rocha <jrocha@endlessm.com> | 2018-08-16 15:58:45 +0200 |
---|---|---|
committer | Joaquim Rocha <jrocha@endlessm.com> | 2018-08-28 17:32:01 +0200 |
commit | 348dae31e726b32b00de39529428fb570bc9c814 (patch) | |
tree | 0bb7b18d143ca4a5cd2861e44286d9b67b5a93b8 | |
parent | 3b62f9264d8a2367e6006811dd52223eee74abe0 (diff) | |
download | gnome-initial-setup-348dae31e726b32b00de39529428fb570bc9c814.tar.gz |
network: Refactor how the "connecting spinner" is added to the list row
The connecting spinner was being added to every row in the list of
available connections. This is not useful because the spinner is only
activated when building the row (and only for the active connection), so
this patch ensures that the spinner is actually only added for the
connection that's being activated.
-rw-r--r-- | gnome-initial-setup/pages/network/gis-network-page.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/gnome-initial-setup/pages/network/gis-network-page.c b/gnome-initial-setup/pages/network/gis-network-page.c index 8be39eb..d0121ec 100644 --- a/gnome-initial-setup/pages/network/gis-network-page.c +++ b/gnome-initial-setup/pages/network/gis-network-page.c @@ -194,6 +194,7 @@ add_access_point (GisNetworkPage *page, NMAccessPoint *ap, NMAccessPoint *active GtkWidget *row; GtkWidget *widget; GtkWidget *box; + GtkWidget *state_widget = NULL; ssid = nm_access_point_get_ssid (ap); object_path = nm_object_get_path (NM_OBJECT (ap)); @@ -242,21 +243,18 @@ add_access_point (GisNetworkPage *page, NMAccessPoint *ap, NMAccessPoint *active gtk_box_pack_start (GTK_BOX (row), widget, FALSE, FALSE, 0); if (activated) { - widget = gtk_image_new_from_icon_name ("object-select-symbolic", GTK_ICON_SIZE_MENU); - gtk_widget_set_halign (widget, GTK_ALIGN_CENTER); - gtk_widget_set_valign (widget, GTK_ALIGN_CENTER); - gtk_box_pack_start (GTK_BOX (row), widget, FALSE, FALSE, 0); + state_widget = gtk_image_new_from_icon_name ("object-select-symbolic", GTK_ICON_SIZE_MENU); + } else if (activating) { + state_widget = gtk_spinner_new (); + gtk_widget_show (state_widget); + gtk_spinner_start (GTK_SPINNER (state_widget)); } - widget = gtk_spinner_new (); - gtk_widget_set_no_show_all (widget, TRUE); - if (activating) { - gtk_widget_show (widget); - gtk_spinner_start (GTK_SPINNER (widget)); + if (state_widget) { + gtk_widget_set_halign (state_widget, GTK_ALIGN_CENTER); + gtk_widget_set_valign (state_widget, GTK_ALIGN_CENTER); + gtk_box_pack_start (GTK_BOX (row), state_widget, FALSE, FALSE, 0); } - gtk_widget_set_halign (widget, GTK_ALIGN_CENTER); - gtk_widget_set_valign (widget, GTK_ALIGN_CENTER); - gtk_box_pack_start (GTK_BOX (row), widget, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (row), gtk_label_new (""), TRUE, FALSE, 0); |