| 147 | |
| 148 | |
| 149 | void OptionsMenu::execute() { |
| 150 | HUDuiControl* _focus = getNav().get(); |
| 151 | if (_focus == guiOptions) { |
| 152 | if (!guiOptionsMenu) { guiOptionsMenu = new GUIOptionsMenu; } |
| 153 | HUDDialogStack::get()->push(guiOptionsMenu); |
| 154 | } |
| 155 | else if (_focus == textOptions) { |
| 156 | if (!textOptionsMenu) { textOptionsMenu = new TextOptionsMenu; } |
| 157 | HUDDialogStack::get()->push(textOptionsMenu); |
| 158 | } |
| 159 | else if (_focus == radarOptions) { |
| 160 | if (!radarOptionsMenu) { radarOptionsMenu = new RadarOptionsMenu; } |
| 161 | HUDDialogStack::get()->push(radarOptionsMenu); |
| 162 | } |
| 163 | else if (_focus == effectsOptions) { |
| 164 | if (!effectsMenu) { effectsMenu = new EffectsMenu; } |
| 165 | HUDDialogStack::get()->push(effectsMenu); |
| 166 | } |
| 167 | else if (_focus == cacheOptions) { |
| 168 | if (!cacheMenu) { cacheMenu = new CacheMenu; } |
| 169 | HUDDialogStack::get()->push(cacheMenu); |
| 170 | } |
| 171 | else if (_focus == hubOptions) { |
| 172 | if (!hubMenu) { hubMenu = new HubMenu; } |
| 173 | HUDDialogStack::get()->push(hubMenu); |
| 174 | } |
| 175 | else if (_focus == saveWorld) { |
| 176 | if (!saveWorldMenu) { saveWorldMenu = new SaveWorldMenu; } |
| 177 | HUDDialogStack::get()->push(saveWorldMenu); |
| 178 | } |
| 179 | else if (_focus == saveSettings) { |
| 180 | // save resources |
| 181 | dumpResources(); |
| 182 | if (!saveMenu) { saveMenu = new SaveMenu; } |
| 183 | if (alternateConfig == "") { |
| 184 | std::string fname = getCurrentConfigFileName(); |
| 185 | CFGMGR.write(fname); |
| 186 | saveMenu->setFileName(fname); |
| 187 | } |
| 188 | else { |
| 189 | CFGMGR.write(alternateConfig); |
| 190 | saveMenu->setFileName(alternateConfig); |
| 191 | } |
| 192 | HUDDialogStack::get()->push(saveMenu); |
| 193 | } |
| 194 | else if (_focus == inputSetting) { |
| 195 | if (!inputMenu) { inputMenu = new InputMenu; } |
| 196 | HUDDialogStack::get()->push(inputMenu); |
| 197 | } |
| 198 | else if (_focus == audioSetting) { |
| 199 | if (!audioMenu) { audioMenu = new AudioMenu; } |
| 200 | HUDDialogStack::get()->push(audioMenu); |
| 201 | } |
| 202 | else if (_focus == displaySetting) { |
| 203 | if (!displayMenu) { displayMenu = new DisplayMenu; } |
| 204 | HUDDialogStack::get()->push(displayMenu); |
| 205 | } |
| 206 | } |
nothing calls this directly
no test coverage detected