WifiUi: fix infinite wraps (#36863)

* fix infinite wrap

* fix selection

* Revert "fix selection"

This reverts commit 555c57922409312bf5d9efedf571994f157b9e44.

* revert

* revert

* revert

* revert

* cleaner

* cleaner

* mypy!!
This commit is contained in:
Shane Smiskol
2025-12-13 04:08:01 -08:00
committed by GitHub
parent 7a324fc377
commit 6c5be6ddab
2 changed files with 11 additions and 13 deletions
@@ -389,12 +389,6 @@ class WifiUIMici(BigMultiOptionDialog):
else:
network_button = WifiItem(network)
def show_network_info_page(_network):
self._network_info_page.set_current_network(_network)
self._should_open_network_info_page = True
network_button.set_click_callback(lambda _net=network, _button=network_button: _button._selected and show_network_info_page(_net))
self.add_button(network_button)
# remove networks no longer present
@@ -406,6 +400,14 @@ class WifiUIMici(BigMultiOptionDialog):
self._wifi_manager.connect_to_network(ssid, password)
self._update_buttons()
def _on_option_selected(self, option: str):
super()._on_option_selected(option)
# only open if button is already selected
if option in self._networks and option == self._selected_option:
self._network_info_page.set_current_network(self._networks[option])
self._should_open_network_info_page = True
def _connect_to_network(self, ssid: str):
network = self._networks.get(ssid)
if network is None:
+3 -7
View File
@@ -331,14 +331,10 @@ class BigMultiOptionDialog(BigDialogBase):
self.add_button(BigDialogOptionButton(option))
def add_button(self, button: BigDialogOptionButton):
og_callback = button._click_callback
def click_callback(_btn=button):
self._on_option_selected(_btn.option)
def wrapped_callback(btn=button):
self._on_option_selected(btn.option)
if og_callback:
og_callback()
button.set_click_callback(wrapped_callback)
button.set_click_callback(click_callback)
self._scroller.add_widget(button)
def show_event(self):