Skip to content
Snippets Groups Projects

settings: save on OS button press

Merged ave requested to merge ave/flow3r-firmware:save-settings-reliably into main
@@ -360,21 +360,19 @@ class SettingsMenuItem(MenuItem):
self.widget.think(ins, delta_ms)
class SettingsMenuItemBack(MenuItemBack):
"""
Extends MenuItemBack to save settings on exit.
"""
def press(self, vm: Optional[ViewManager]) -> None:
save_all()
super().press(vm)
class SettingsMenu(SimpleMenu):
"""
SimpleMenu but smol.
"""
def on_enter(self, vm: Optional[ViewManager]) -> None:
super().on_enter(vm)
load_all()
def on_exit(self) -> None:
save_all()
super().on_exit()
SIZE_LARGE = 20
SIZE_SMALL = 15
@@ -473,7 +471,7 @@ def build_menu_recursive(items: "MenuStructure") -> SimpleMenu:
"""
Recursively build a menu for the given setting structure.
"""
mib: MenuItem = SettingsMenuItemBack()
mib: MenuItem = MenuItemBack()
positions: List[MenuItem] = [
mib,
] + [
Loading