WifiUi: reset networks on panel hide (#37199)

* stash

* fix setup

* clean up

* clean up

* clean up

* set active as safeguard
This commit is contained in:
Shane Smiskol
2026-02-13 15:37:07 -08:00
committed by GitHub
parent 49a611df59
commit c91225b52e
3 changed files with 10 additions and 10 deletions
@@ -123,12 +123,12 @@ class NetworkLayoutMici(NavWidget):
def show_event(self):
super().show_event()
self._current_panel = NetworkPanelType.NONE
self._wifi_ui.show_event()
self._wifi_manager.set_active(True)
self._scroller.show_event()
def hide_event(self):
super().hide_event()
self._wifi_ui.hide_event()
self._wifi_manager.set_active(False)
def _toggle_roaming(self, checked: bool):
self._wifi_manager.update_gsm_settings(checked, ui_state.params.get("GsmApn") or "", ui_state.params.get_bool("GsmMetered"))
@@ -186,6 +186,8 @@ class NetworkLayoutMici(NavWidget):
def _switch_to_panel(self, panel_type: NetworkPanelType):
if panel_type == NetworkPanelType.WIFI:
self._wifi_ui.show_event()
elif self._current_panel == NetworkPanelType.WIFI:
self._wifi_ui.hide_event()
self._current_panel = panel_type
def _render(self, rect: rl.Rectangle):
@@ -360,15 +360,11 @@ class WifiUIMici(BigMultiOptionDialog):
)
def show_event(self):
# Call super to prepare scroller; selection scroll is handled dynamically
# Clear scroller items and update from latest scan results
super().show_event()
self._wifi_manager.set_active(True)
def hide_event(self):
super().hide_event()
self._wifi_manager.set_active(False)
# clear scroller items to remove old networks on next show
self._scroller._items.clear()
self._update_buttons()
def _open_network_manage_page(self, result=None):
self._network_info_page.update_networks(self._networks)
+4 -2
View File
@@ -457,6 +457,8 @@ class NetworkSetupPage(Widget):
self._prev_has_internet = False
def set_state(self, state: NetworkSetupState):
if self._state == NetworkSetupState.WIFI_PANEL and state != NetworkSetupState.WIFI_PANEL:
self._wifi_ui.hide_event()
self._state = state
if state == NetworkSetupState.WIFI_PANEL:
self._wifi_ui.show_event()
@@ -478,11 +480,11 @@ class NetworkSetupPage(Widget):
def show_event(self):
super().show_event()
self._state = NetworkSetupState.MAIN
self._wifi_ui.show_event()
def hide_event(self):
super().hide_event()
self._wifi_ui.hide_event()
if self._state == NetworkSetupState.WIFI_PANEL:
self._wifi_ui.hide_event()
def _render(self, _):
if self._state == NetworkSetupState.MAIN: