mici ui: fix onroad transitions if in settings (#37467)

* fix

* type
This commit is contained in:
Shane Smiskol
2026-02-27 18:32:28 -08:00
committed by GitHub
parent 3a958b882a
commit 2e42bf9fa4
4 changed files with 14 additions and 10 deletions
+10 -5
View File
@@ -220,7 +220,7 @@ class GuiApplication:
self._frame = 0
self._window_close_requested = False
self._nav_stack: list[object] = []
self._nav_stack_tick: Callable[[], None] | None = None
self._nav_stack_ticks: list[Callable[[], None]] = []
self._nav_stack_widgets_to_render = 1 if self.big_ui() else 2
self._mouse = MouseState(self._scale)
@@ -411,8 +411,13 @@ class GuiApplication:
return self._nav_stack[-1]
return None
def set_nav_stack_tick(self, tick_function: Callable | None):
self._nav_stack_tick = tick_function
def add_nav_stack_tick(self, tick_function: Callable[[], None]):
if tick_function not in self._nav_stack_ticks:
self._nav_stack_ticks.append(tick_function)
def remove_nav_stack_tick(self, tick_function: Callable[[], None]):
if tick_function in self._nav_stack_ticks:
self._nav_stack_ticks.remove(tick_function)
def set_should_render(self, should_render: bool):
self._should_render = should_render
@@ -561,8 +566,8 @@ class GuiApplication:
rl.clear_background(rl.BLACK)
# Allow a Widget to still run a function regardless of the stack depth
if self._nav_stack_tick is not None:
self._nav_stack_tick()
for tick in self._nav_stack_ticks:
tick()
# Only render top widgets
for widget in self._nav_stack[-self._nav_stack_widgets_to_render:]:
+1 -1
View File
@@ -508,7 +508,7 @@ class Setup(Widget):
self._network_monitor = NetworkConnectivityMonitor()
self._network_monitor.start()
self._prev_has_internet = False
gui_app.set_nav_stack_tick(self._nav_stack_tick)
gui_app.add_nav_stack_tick(self._nav_stack_tick)
self._start_page = StartPage()
self._start_page.set_click_callback(self._getting_started_button_callback)