Nav stack: clean up (#37484)

guards
This commit is contained in:
Shane Smiskol
2026-02-28 06:19:43 -08:00
committed by GitHub
parent 87c495b761
commit 2af7b3441e
4 changed files with 19 additions and 6 deletions
+1 -1
View File
@@ -322,7 +322,7 @@ class MiciKeyboard(Widget):
self._selected_key_filter.update(self._closest_key[0] is not None)
# unselect key after animation plays
if self._unselect_key_t is not None and rl.get_time() > self._unselect_key_t:
if (self._unselect_key_t is not None and rl.get_time() > self._unselect_key_t) or not self.enabled:
self._closest_key = (None, float('inf'))
self._unselect_key_t = None
self._selected_key_t = None
+5
View File
@@ -172,6 +172,10 @@ class NavWidget(Widget, abc.ABC):
return ret
@property
def is_dismissing(self) -> bool:
return self._dragging_down or self._playing_dismiss_animation
def show_event(self):
super().show_event()
self._nav_bar.show_event()
@@ -179,6 +183,7 @@ class NavWidget(Widget, abc.ABC):
# Reset state
self._drag_start_pos = None
self._dragging_down = False
self._playing_dismiss_animation = False
# Start NavWidget off-screen, no matter how tall it is
self._y_pos_filter.update_alpha(0.1)
self._y_pos_filter.x = gui_app.height
+2 -2
View File
@@ -443,7 +443,7 @@ class NavScroller(NavWidget, Scroller):
def __init__(self, **kwargs):
super().__init__(**kwargs)
# pass down enabled to child widget for nav stack + disable while swiping away NavWidget
self._scroller.set_enabled(lambda: self.enabled and not self._dragging_down)
self._scroller.set_enabled(lambda: self.enabled and not self.is_dismissing)
def _back_enabled(self) -> bool:
# Vertical scrollers need to be at the top to swipe away to prevent erroneous swipes
@@ -459,7 +459,7 @@ class NavRawScrollPanel(NavWidget):
def __init__(self):
super().__init__()
self._scroll_panel = GuiScrollPanel2(horizontal=False)
self._scroll_panel.set_enabled(lambda: self.enabled and not self._dragging_down)
self._scroll_panel.set_enabled(lambda: self.enabled and not self.is_dismissing)
def show_event(self):
super().show_event()