diff options
author | Xiang Fan <sfanxiang@gmail.com> | 2017-11-03 22:54:10 +0800 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2018-01-21 13:12:29 -0200 |
commit | 5ad72b6faa0437f1b329f30845fa7cd9216ceee6 (patch) | |
tree | 8d5c3613fc054a2114f2ed9f60d89184f1151665 /panels/network/cc-wifi-panel.c | |
parent | c12c3b92986191063fc763584f06a7a1a967cc00 (diff) | |
download | gnome-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.c | 22 |
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"); } |