mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-08-21 00:03:45 +08:00
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:
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user