MCPcopy Create free account
hub / github.com/BruceDevices/firmware / systemMenu

Method systemMenu

src/core/menu_items/ConfigMenu.cpp:156–185  ·  view source on GitHub ↗

** Function: systemMenu ** System configuration submenu with auto-rebuild for toggles **********************************************************************/

Source from the content-addressed store, hash-verified

154** System configuration submenu with auto-rebuild for toggles
155**********************************************************************/
156void ConfigMenu::systemMenu() {
157 while (true) {
158 std::vector<Option> localOptions = {
159 {String("InstaBoot: ") + (bruceConfig.instantBoot ? "ON" : "OFF"),
160 [this]() {
161 // Toggle InstaBoot setting
162 bruceConfig.instantBoot = !bruceConfig.instantBoot;
163 bruceConfig.saveFile();
164 } },
165 {String("WiFi Startup: ") + (bruceConfig.wifiAtStartup ? "ON" : "OFF"),
166 [this]() {
167 // Toggle WiFi at startup setting
168 bruceConfig.wifiAtStartup = !bruceConfig.wifiAtStartup;
169 bruceConfig.saveFile();
170 } },
171 {"Startup App", [this]() { setStartupApp(); } },
172 {"Hide/Show Apps", [this]() { mainMenu.hideAppsMenu(); }},
173 {"Clock", [this]() { setClock(); } },
174 {String("Keyboard Language: ") + bruceConfig.keyboardLang, [this]() { setKeyboardLanguage(); } },
175 {"Advanced", [this]() { advancedMenu(); } },
176 {"Back", []() {} },
177 };
178
179 int selected = loopOptions(localOptions, MENU_TYPE_SUBMENU, "System Config");
180
181 // Exit only if user pressed Back or ESC
182 if (selected == -1 || selected == localOptions.size() - 1) { return; }
183 // Menu rebuilds to update toggle labels
184 }
185}
186
187/*********************************************************************
188** Function: advancedMenu

Callers

nothing calls this directly

Calls 7

setStartupAppFunction · 0.85
setClockFunction · 0.85
setKeyboardLanguageFunction · 0.85
hideAppsMenuMethod · 0.80
sizeMethod · 0.80
loopOptionsFunction · 0.50
saveFileMethod · 0.45

Tested by

no test coverage detected