** Function: systemMenu ** System configuration submenu with auto-rebuild for toggles **********************************************************************/
| 154 | ** System configuration submenu with auto-rebuild for toggles |
| 155 | **********************************************************************/ |
| 156 | void 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 |
nothing calls this directly
no test coverage detected