diff --git a/src/main/java/name/nathanmcrae/numbersstation/MainController.java b/src/main/java/name/nathanmcrae/numbersstation/MainController.java index 2fe9beb..f5c6b2d 100644 --- a/src/main/java/name/nathanmcrae/numbersstation/MainController.java +++ b/src/main/java/name/nathanmcrae/numbersstation/MainController.java @@ -185,18 +185,24 @@ public class MainController implements Initializable { Result result = MainSettings.load(); if (!result.hasSuccess()) { - // TODO: on failure, prompt user to re-initialize settings - Alert alert = new Alert(Alert.AlertType.ERROR); + Alert alert = new Alert(Alert.AlertType.ERROR, "Unable to load settings file. See log for details. Reinitialize settings? This may overwrite existing settings.", ButtonType.YES, ButtonType.NO); alert.setTitle("Settings load error"); alert.setHeaderText(null); - alert.setContentText("Unable to load settings file"); - alert.showAndWait(); + Optional promptResult = alert.showAndWait(); - return; + if (!promptResult.isPresent()) { + System.exit(1); + } + + if (promptResult.get() == ButtonType.NO) { + System.exit(1); + } + + settings = new MainSettings(); + } else { + settings = result.getSuccess().get(); } - settings = result.getSuccess().get(); - selectedStationName.set(settings.getSelectedStationName()); if (selectedStationName.get() == null || selectedStationName.get() == "") {