package main.java.view;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import main.java.Global;
import main.java.view.help.HelpController;
/**
* Class for handling the top GUI menu elements.
*/
public class TopMenuController {
private HelpController hc;
@FXML
public void handleMenuClose() {
/** @TODO Add save logic for all Matrices here **/
System.exit(0);
}
@FXML
public void initialize() {}
@FXML
public void handleMenuAbout() {
StringBuilder aboutInfo = new StringBuilder("WRITTEN BY: Isaac Jordan (Sheepzez)");
aboutInfo.append("\n\nWITH THANKS:");
aboutInfo.append("\nBen Jackson (ExogenesisBen)\nEwan McCartney (projectgoav)\n\n");
aboutInfo.append("\nAny issues, please visit https://github.com/Sheepzez/Matrixonator-Java");
String aboutText = aboutInfo.toString();
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("About: Matrixonator - Java");
alert.setHeaderText("Matrixonator-Java: Alpha");
alert.setContentText(aboutText);
alert.getDialogPane().setPrefSize(500, 400);
alert.showAndWait();
}
@FXML
public void handleMenuDelete() {
System.out.println("BERSTY");
}
@FXML
public void handleMenuHelp() {
if (hc == null) {
hc = new HelpController();
}
if (!hc.isOpen()) {
hc.run();
}
}
@FXML
/**
* Initiates and update check and prompts user is one is found
*/
public void handleMenuUpdate() {
try {
URL url = new URL("https://gist.githubusercontent.com/projectgoav/58b6e2d5f1f317eefe4f/raw");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String s = reader.readLine();
String path = reader.readLine();
reader.close();
int major = Integer.parseInt(String.valueOf(s.charAt(0)));
int minor = Integer.parseInt(String.valueOf(s.charAt(2)));
if ((major > Global.MAJOR_VERSION_NUMBER) || (minor > Global.MINOR_VERSION_NUMBER)) {
MatrixAlerts.showUpdates(s);
MatrixAlerts.showUpdateWarning();
// TODO Add in check for if updater.jar isn't actually there :(
Process p = Runtime.getRuntime().exec("java -jar Updater.jar" + path);
if (p.isAlive()) {
System.exit(0);
}
} else {
MatrixAlerts.showNoUpdates();
}
} catch (Exception e) {
System.out.println("An error occured when checking for updates...");
MatrixAlerts.showNoUpdateCheck();
}
}
}