fix(network): don't show visible networks when wifi is off

This commit is contained in:
Vukašin Vojinović 2024-08-15 03:17:07 +02:00 • committed by Michael Murphy
parent e61de72c9c
commit 55cd23b590

View file

@ -700,12 +700,12 @@ impl cosmic::Application for CosmicNetworkApplet {
.text_size(14) .text_size(14)
.width(Length::Fill) .width(Length::Fill)
), ),
padded_control(divider::horizontal::default()),
] ]
.align_items(Alignment::Center); .align_items(Alignment::Center);
if self.nm_state.airplane_mode { if self.nm_state.airplane_mode {
content = content.push( content = content.push(
column!( column!(
padded_control(divider::horizontal::default()),
icon::from_name("airplane-mode-symbolic") icon::from_name("airplane-mode-symbolic")
.size(48) .size(48)
.symbolic(true), .symbolic(true),
@ -713,13 +713,15 @@ impl cosmic::Application for CosmicNetworkApplet {
text(fl!("turn-off-airplane-mode")).size(12) text(fl!("turn-off-airplane-mode")).size(12)
) )
.spacing(8) .spacing(8)
.padding([0, 0, 8, 0])
.align_items(Alignment::Center) .align_items(Alignment::Center)
.width(Length::Fill), .width(Length::Fill),
); );
} else { } else {
if self.nm_state.wifi_enabled {
content = content.push(padded_control(divider::horizontal::default()));
for known in &self.nm_state.known_access_points { for known in &self.nm_state.known_access_points {
let mut btn_content = Vec::with_capacity(2); let mut btn_content = Vec::with_capacity(2);
let ssid = text(&known.ssid).size(14).width(Length::Fill); let ssid = text(&known.ssid).size(14).width(Length::Fill);
if known.working { if known.working {
btn_content.push( btn_content.push(
@ -755,7 +757,9 @@ impl cosmic::Application for CosmicNetworkApplet {
if self.failed_known_ssids.contains(&known.ssid) { if self.failed_known_ssids.contains(&known.ssid) {
btn_content.push( btn_content.push(
cosmic::widget::button::icon(from_name("view-refresh-symbolic").size(16)) cosmic::widget::button::icon(
from_name("view-refresh-symbolic").size(16),
)
.icon_size(16) .icon_size(16)
.on_press(Message::ResetFailedKnownSsid(known.ssid.clone())) .on_press(Message::ResetFailedKnownSsid(known.ssid.clone()))
.into(), .into(),
@ -775,7 +779,9 @@ impl cosmic::Application for CosmicNetworkApplet {
| DeviceState::NeedAuth => { | DeviceState::NeedAuth => {
btn.on_press(Message::ActivateKnownWifi(known.ssid.clone())) btn.on_press(Message::ActivateKnownWifi(known.ssid.clone()))
} }
DeviceState::Activated => btn.on_press(Message::Disconnect(known.ssid.clone())), DeviceState::Activated => {
btn.on_press(Message::Disconnect(known.ssid.clone()))
}
_ => btn, _ => btn,
}; };
known_wifi.push(Element::from(row![btn].align_items(Alignment::Center))); known_wifi.push(Element::from(row![btn].align_items(Alignment::Center)));
@ -805,6 +811,7 @@ impl cosmic::Application for CosmicNetworkApplet {
.on_press(Message::ToggleVisibleNetworks); .on_press(Message::ToggleVisibleNetworks);
content = content.push(available_connections_btn); content = content.push(available_connections_btn);
} }
}
if self.show_visible_networks { if self.show_visible_networks {
if let Some(new_conn_state) = self.new_connection.as_ref() { if let Some(new_conn_state) = self.new_connection.as_ref() {
match new_conn_state { match new_conn_state {