Skip to content
Snippets Groups Projects
Commit ac3667d3 authored by dos's avatar dos Committed by pippin
Browse files

py,st3m: Hide empty categories from the main menu

parent 5e1f1190
No related branches found
No related tags found
No related merge requests found
...@@ -94,13 +94,13 @@ class ApplicationMenu(SimpleMenu): ...@@ -94,13 +94,13 @@ class ApplicationMenu(SimpleMenu):
leds.update() leds.update()
def _make_bundle_menu(mgr: BundleManager, kind: str) -> SimpleMenu: def _get_bundle_menu_entries(mgr: BundleManager, kind: str) -> List[MenuItem]:
entries: List[MenuItem] = [MenuItemBack()] entries: List[MenuItem] = []
ids = sorted(mgr.bundles.keys(), key=str.lower) ids = sorted(mgr.bundles.keys(), key=str.lower)
for id in ids: for id in ids:
bundle = mgr.bundles[id] bundle = mgr.bundles[id]
entries += bundle.menu_entries(kind) entries += bundle.menu_entries(kind)
return ApplicationMenu(entries) return entries
def _make_compositor(reactor: Reactor, vm: ViewManager) -> overlays.Compositor: def _make_compositor(reactor: Reactor, vm: ViewManager) -> overlays.Compositor:
...@@ -243,16 +243,14 @@ def run_main() -> None: ...@@ -243,16 +243,14 @@ def run_main() -> None:
MenuItemAction("Reboot", machine.reset), MenuItemAction("Reboot", machine.reset),
], ],
) )
menu_main = SunMenu( categories = [
[ MenuItemForeground(kind, ApplicationMenu([MenuItemBack()] + entries))
MenuItemForeground("Badge", _make_bundle_menu(bundles, "Badge")), for kind in ["Badge", "Music", "Media", "Apps", "Games"]
MenuItemForeground("Music", _make_bundle_menu(bundles, "Music")), if (entries := _get_bundle_menu_entries(bundles, kind))
MenuItemForeground("Media", _make_bundle_menu(bundles, "Media")), ]
MenuItemForeground("Games", _make_bundle_menu(bundles, "Games")), categories.append(MenuItemForeground("System", menu_system))
MenuItemForeground("Apps", _make_bundle_menu(bundles, "Apps")), menu_main = SunMenu(categories)
MenuItemForeground("System", menu_system),
],
)
if override_main_app is not None: if override_main_app is not None:
requested = [b for b in bundles.bundles.values() if b.name == override_main_app] requested = [b for b in bundles.bundles.values() if b.name == override_main_app]
if len(requested) > 1: if len(requested) > 1:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment