summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoaquim Rocha <jrocha@endlessm.com>2018-08-16 15:58:45 +0200
committerJoaquim Rocha <jrocha@endlessm.com>2018-08-28 17:32:01 +0200
commit348dae31e726b32b00de39529428fb570bc9c814 (patch)
tree0bb7b18d143ca4a5cd2861e44286d9b67b5a93b8
parent3b62f9264d8a2367e6006811dd52223eee74abe0 (diff)
downloadgnome-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.c22
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);