From 73ff9dc944f05941729fa979db32ddacd573e5df Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Tue, 13 May 2025 21:34:17 +0800 Subject: [PATCH] system/ui: add require_full_screen to WifiManagerUI (#35191) add require_full_screen to WifiManagerUI --- system/ui/updater.py | 3 ++- system/ui/widgets/network.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/system/ui/updater.py b/system/ui/updater.py index 42acaf5675..3ee02ce97c 100755 --- a/system/ui/updater.py +++ b/system/ui/updater.py @@ -110,7 +110,8 @@ class Updater: # Draw the Wi-Fi manager UI wifi_rect = rl.Rectangle(MARGIN + 50, MARGIN, gui_app.width - MARGIN * 2 - 100, gui_app.height - MARGIN * 2 - BUTTON_HEIGHT - 20) self.wifi_manager_ui.render(wifi_rect) - + if self.wifi_manager_ui.require_full_screen: + return back_button_rect = rl.Rectangle(MARGIN, gui_app.height - MARGIN - BUTTON_HEIGHT, BUTTON_WIDTH, BUTTON_HEIGHT) if gui_button(back_button_rect, "Back"): diff --git a/system/ui/widgets/network.py b/system/ui/widgets/network.py index d94a3facb1..d34ad44f55 100644 --- a/system/ui/widgets/network.py +++ b/system/ui/widgets/network.py @@ -84,6 +84,11 @@ class WifiManagerUI: case _: self._draw_network_list(rect) + @property + def require_full_screen(self) -> bool: + """Check if the WiFi UI requires exclusive full-screen rendering.""" + return isinstance(self.state, (StateNeedsAuth, StateShowForgetConfirm)) + def _draw_network_list(self, rect: rl.Rectangle): content_rect = rl.Rectangle(rect.x, rect.y, rect.width, len(self._networks) * ITEM_HEIGHT) offset = self.scroll_panel.handle_scroll(rect, content_rect)