summaryrefslogtreecommitdiff
path: root/panels/network/cc-wifi-panel.c
diff options
context:
space:
mode:
authorXiang Fan <sfanxiang@gmail.com>2017-11-03 22:54:10 +0800
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-01-21 13:12:29 -0200
commit5ad72b6faa0437f1b329f30845fa7cd9216ceee6 (patch)
tree8d5c3613fc054a2114f2ed9f60d89184f1151665 /panels/network/cc-wifi-panel.c
parentc12c3b92986191063fc763584f06a7a1a967cc00 (diff)
downloadgnome-control-center-5ad72b6faa0437f1b329f30845fa7cd9216ceee6.tar.gz
wifi: Add a refresh button
This way, user can scan anytime without having to wait. https://bugzilla.gnome.org/show_bug.cgi?id=789869
Diffstat (limited to 'panels/network/cc-wifi-panel.c')
-rw-r--r--panels/network/cc-wifi-panel.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/panels/network/cc-wifi-panel.c b/panels/network/cc-wifi-panel.c
index 7fceb354a..b85e99086 100644
--- a/panels/network/cc-wifi-panel.c
+++ b/panels/network/cc-wifi-panel.c
@@ -451,6 +451,27 @@ rfkill_switch_notify_activate_cb (GtkSwitch *rfkill_switch,
NULL);
}
+static void
+button_refresh_clicked_cb (GtkButton *button,
+ CcWifiPanel *self)
+{
+ const gchar *id;
+ guint i;
+
+ id = gtk_stack_get_visible_child_name (self->stack);
+
+ for (i = 0; i < self->devices->len; i++)
+ {
+ NetObject *object = g_ptr_array_index (self->devices, i);
+
+ if (g_strcmp0 (net_object_get_id (object), id) == 0)
+ {
+ net_device_wifi_request_scan (NET_DEVICE_WIFI (object));
+ break;
+ }
+ }
+}
+
/* Overrides */
static const gchar *
@@ -595,6 +616,7 @@ cc_wifi_panel_class_init (CcWifiPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcWifiPanel, stack);
gtk_widget_class_bind_template_callback (widget_class, rfkill_switch_notify_activate_cb);
+ gtk_widget_class_bind_template_callback (widget_class, button_refresh_clicked_cb);
g_object_class_override_property (object_class, PROP_PARAMETERS, "parameters");
}