Submenu basis

This commit is contained in:
jpirnay
2026-04-12 07:21:42 +02:00
parent 7feff4e241
commit 9f16066bce
5 changed files with 249 additions and 2 deletions
@@ -0,0 +1,30 @@
#pragma once
#include <I18n.h>
#include <vector>
#include "activities/Activity.h"
#include "activities/settings/SettingsActivity.h"
#include "util/ButtonNavigator.h"
// Displays a flat list of SettingInfo items launched from a SettingsActivity submenu entry.
// Supports subcategory separators (withSubcategory) exactly as the parent settings tabs do.
class SettingsSubmenuActivity final : public Activity {
StrId titleId;
std::vector<SettingInfo> items;
int selectedIndex = 0;
int itemCount = 0;
ButtonNavigator buttonNavigator;
void toggleItem();
public:
explicit SettingsSubmenuActivity(GfxRenderer& renderer, MappedInputManager& mappedInput, StrId titleId,
std::vector<SettingInfo> items)
: Activity("SettingsSubmenu", renderer, mappedInput), titleId(titleId), items(std::move(items)) {}
void onEnter() override;
void onExit() override;
void loop() override;
void render(RenderLock&&) override;
};