diff options
author | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2018-07-22 19:56:57 -0300 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2018-07-23 12:56:00 +0000 |
commit | b9da351a3dec660e0de3d7e1673383ccd6d2d017 (patch) | |
tree | 806a8f839d7a04f2b0a662ff435cb99765e9b1fa /panels/network/cc-wifi-panel.c | |
parent | 4ad1c5dea1239dadc8f381eb1caaf8a0f7e578ec (diff) | |
download | gnome-control-center-b9da351a3dec660e0de3d7e1673383ccd6d2d017.tar.gz |
wi-fi: Add empty state for Airplane Mode
According to the most recent mockups [1], when Airplane
Mode is switched on, the Wi-Fi connection will be turned
off and the Wi-Fi panel should show an empty state for
Airplane Mode. This is currently not implemented in the
codebase.
This commit adds an Airplane Mode empty state for the Wi-Fi
panel, and a small logic adjustment to show it under these
circumstances.
Diffstat (limited to 'panels/network/cc-wifi-panel.c')
-rw-r--r-- | panels/network/cc-wifi-panel.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/panels/network/cc-wifi-panel.c b/panels/network/cc-wifi-panel.c index fb77d2e1a..2448f87a2 100644 --- a/panels/network/cc-wifi-panel.c +++ b/panels/network/cc-wifi-panel.c @@ -183,17 +183,21 @@ static void check_main_stack_page (CcWifiPanel *self) { const gchar *nm_version; + gboolean airplane_mode_active; + gboolean wireless_enabled; nm_version = nm_client_get_version (self->client); + wireless_enabled = nm_client_wireless_get_enabled (self->client); + airplane_mode_active = gtk_switch_get_active (self->rfkill_switch); if (!nm_version) gtk_stack_set_visible_child_name (self->main_stack, "nm-not-running"); - else if (self->devices->len == 0 || - !nm_client_wireless_get_enabled (self->client)) + else if (!wireless_enabled && airplane_mode_active) + gtk_stack_set_visible_child_name (self->main_stack, "airplane-mode"); + else if (!wireless_enabled || self->devices->len == 0) gtk_stack_set_visible_child_name (self->main_stack, "no-wifi-devices"); else gtk_stack_set_visible_child_name (self->main_stack, "wifi-connections"); - } static void @@ -247,6 +251,7 @@ sync_airplane_mode_switch (CcWifiPanel *self) rfkill_switch_notify_activate_cb, self); gtk_switch_set_active (self->rfkill_switch, enabled); + check_main_stack_page (self); g_signal_handlers_unblock_by_func (self->rfkill_switch, rfkill_switch_notify_activate_cb, self); |