diff --git a/Main.java b/Main.java deleted file mode 100644 index a0f60f8..0000000 --- a/Main.java +++ /dev/null @@ -1,167 +0,0 @@ -/** - * Project HomeFlix - * - * Copyright 2016 - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -package application; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Optional; -import java.util.Properties; - -import javafx.application.Application; -import javafx.fxml.FXMLLoader; -import javafx.scene.Scene; -import javafx.scene.control.Alert; -import javafx.scene.control.Alert.AlertType; -import javafx.scene.control.ButtonType; -import javafx.scene.image.Image; -import javafx.scene.layout.AnchorPane; -import javafx.scene.paint.Color; -import javafx.stage.DirectoryChooser; -import javafx.stage.Stage; - -public class Main extends Application { - - public Stage primaryStage; - private String path; - private String streamingPath = System.getProperty("user.home") + "\\Documents\\HomeFlix"; - private String color = "ee3523"; - private String autoUpdate = "0"; - private String mode = "local"; //local or streaming - private double size = 12; - private int local = 0; - private File dir = new File(System.getProperty("user.home") + "/Documents/HomeFlix"); //Windows: C:/Users/"User"/Documents/HomeFlix OSX: has to be tested Linux: has to be tested(shalt not work!) - private File file = new File(dir + "/config.xml"); //Windows: C:/Users/"User"/Documents/HomeFlix/config.xml OSX: has to be tested Linux: has to be tested(shalt not work!) - Properties props = new Properties(); - private MainWindowController mainWindowController; - - @Override - public void start(Stage primaryStage) { - this.primaryStage = primaryStage; - mainWindow(); - } - - public void mainWindow(){ - - try { - FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml")); - AnchorPane pane = loader.load(); - primaryStage.setMinHeight(600.00); - primaryStage.setMinWidth(900.00); - primaryStage.setResizable(false); - primaryStage.setTitle("Project HomeFlix"); - primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("/recources/Homeflix_Icon_64x64.png"))); //fügt Anwendungsicon hinzu - - mainWindowController = loader.getController(); //verknüpfung von FXMLController und Controller Klasse - mainWindowController.setAutoUpdate(autoUpdate); //setzt autoupdate - mainWindowController.setMain(this); //aufruf setMain - - //dir exists -> check config.xml TODO nur Windows getestet siehe dir und file - if(dir.exists() == true){ - if (file.exists() != true) { - mainWindowController.setPath(firstStart()); - mainWindowController.setStreamingPath(streamingPath); - mainWindowController.setColor(color); - mainWindowController.setSize(size); - mainWindowController.setAutoUpdate(autoUpdate); - mainWindowController.setLoaclUI(local); - mainWindowController.setMode(mode); - mainWindowController.saveSettings(); - Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs) - System.exit(0); //finishes itself - }else{ - loadSettings(); - } - }else{ - dir.mkdir(); - mainWindowController.setPath(firstStart()); - mainWindowController.setStreamingPath(streamingPath); - mainWindowController.setColor(color); - mainWindowController.setSize(size); - mainWindowController.setAutoUpdate(autoUpdate); - mainWindowController.setLoaclUI(local); - mainWindowController.setMode(mode); - mainWindowController.saveSettings(); - Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs) - System.exit(0); //finishes itself - } - mainWindowController.loadStreamingSettings(); - mainWindowController.applyColor(); //setzt die Theme Farbe - mainWindowController.cbLocal.getSelectionModel().select(mainWindowController.getLocal()); //setzt local - mainWindowController.mainColor.setValue(Color.valueOf(mainWindowController.getColor())); - mainWindowController.loadData(); //läd die Daten im Controller - mainWindowController.addDataUI(); - - Scene scene = new Scene(pane); //neue Scen um inhalt der stage anzuzeigen - - primaryStage.setScene(scene); - primaryStage.show(); //zeige scene - } catch (IOException e) { - // Auto-generated catch block - e.printStackTrace(); - } - } - - //methode für den erstmaligen Start - private String firstStart(){ - Alert alert = new Alert(AlertType.CONFIRMATION); //neuer alert mit filechooser - alert.setTitle("Project HomeFlix"); - alert.setHeaderText("Es ist kein Stammverzeichniss für Filme angegeben!"); - alert.setContentText("Stammverzeichniss angeben?"); - - Optional result = alert.showAndWait(); - if (result.get() == ButtonType.OK){ - DirectoryChooser directoryChooser = new DirectoryChooser(); - File selectedDirectory = - directoryChooser.showDialog(primaryStage); - path = selectedDirectory.getAbsolutePath(); - - } else { - path = ""; - } - return path; - } - - //lädt die einstellungen aus der XML - public void loadSettings(){ - try { - InputStream inputStream = new FileInputStream(file); - props.loadFromXML(inputStream); - path = props.getProperty("path"); //setzt Propselement in Pfad - streamingPath = props.getProperty("streamingPath"); - color = props.getProperty("color"); - size = Double.parseDouble(props.getProperty("size")); - autoUpdate = props.getProperty("autoUpdate"); - local = Integer.parseInt(props.getProperty("local")); - mode = props.getProperty("mode"); - inputStream.close(); - } catch (IOException e) { - System.out.println("An error has occurred!"); - e.printStackTrace(); - } - } - - public static void main(String[] args) { - launch(args); - } -} \ No newline at end of file