Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
c23d5f4905 | |||
1645cda489 | |||
56feef8935 | |||
1077ff304a | |||
684fb45df4 | |||
44f4fc7481 | |||
cccff67399 | |||
83de2423e5 | |||
c8fd267159 | |||
42f13f37b0 | |||
985ca4c8fe | |||
20e8215055 |
@ -3,8 +3,8 @@
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="C:/Users/Jannik/workspace/Project HomeFlix/jfoenix.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Users/Jannik/workspace/Project HomeFlix/minimal-json-0.9.4.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Users/Jannik/workspace/Project HomeFlix/commons-lang3-3.4.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Users/Jannik/workspace/Project HomeFlix/src/libraries/jfoenix.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Users/Jannik/workspace/Project HomeFlix/src/libraries/minimal-json-0.9.4.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Users/Jannik/workspace/Project HomeFlix/src/libraries/commons-lang3-3.5.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -45,9 +45,5 @@ $RECYCLE.BIN/
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
jfoenix.jar
|
||||
minimal-json-0.9.4.jar
|
||||
config.xml
|
||||
|
||||
config.xml
|
||||
commons-lang3-3.4.jar
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/libraries/commons-lang3-3.5.jar
Normal file
BIN
bin/libraries/commons-lang3-3.5.jar
Normal file
Binary file not shown.
BIN
bin/libraries/jfoenix.jar
Normal file
BIN
bin/libraries/jfoenix.jar
Normal file
Binary file not shown.
BIN
bin/libraries/minimal-json-0.9.4.jar
Normal file
BIN
bin/libraries/minimal-json-0.9.4.jar
Normal file
Binary file not shown.
@ -8,6 +8,8 @@ openFolder = Ordner \u00F6ffnen
|
||||
chooseFolder = Ordner ausw\u00E4hlen
|
||||
fontSize = Schriftgr\u00F6\u00DFe:
|
||||
checkUpdates = Auf Update pr\u00FCfen
|
||||
updateBtnavail = Update verf\u00FCgbar
|
||||
updateBtnNotavail = Kein Update verf\u00FCgbar
|
||||
autoUpdate = beim Start nach Updates suchen:
|
||||
version = Version:
|
||||
columnName = Name
|
||||
|
@ -8,6 +8,8 @@ openFolder = open Folder
|
||||
chooseFolder = choose Directory
|
||||
fontSize = font size:
|
||||
checkUpdates = check for updates
|
||||
updateBtnavail = update available
|
||||
updateBtnNotavail = no update available
|
||||
autoUpdate = check at startup for updates:
|
||||
version = Version:
|
||||
columnName = Name
|
||||
|
@ -87,8 +87,8 @@ public class Main extends Application {
|
||||
mainWindowController.setLoaclUI(local);
|
||||
mainWindowController.setMode(mode);
|
||||
mainWindowController.saveSettings();
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu um Bugs zu verhindern
|
||||
System.exit(0); //beendet sich selbst
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
||||
System.exit(0); //finishes itself
|
||||
}else{
|
||||
loadSettings();
|
||||
}
|
||||
@ -102,8 +102,8 @@ public class Main extends Application {
|
||||
mainWindowController.setLoaclUI(local);
|
||||
mainWindowController.setMode(mode);
|
||||
mainWindowController.saveSettings();
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu um Bugs zu verhindern
|
||||
System.exit(0); //beendet sich selbst
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
||||
System.exit(0); //finishes itself
|
||||
}
|
||||
mainWindowController.loadStreamingSettings();
|
||||
mainWindowController.applyColor(); //setzt die Theme Farbe
|
||||
|
@ -32,6 +32,8 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.math.BigInteger;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
@ -73,6 +75,7 @@ import javafx.scene.control.ChoiceBox;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.TextArea;
|
||||
import javafx.scene.control.TreeItem;
|
||||
import javafx.scene.control.TreeTableColumn;
|
||||
import javafx.scene.control.TreeTableColumn.CellDataFeatures;
|
||||
@ -80,7 +83,9 @@ import javafx.scene.control.TreeTableView;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.Priority;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.scene.text.Font;
|
||||
@ -155,6 +160,7 @@ public class MainWindowController {
|
||||
@FXML
|
||||
private ImageView image1;
|
||||
|
||||
|
||||
@FXML
|
||||
TreeItem<streamUiData> root = new TreeItem<>(new streamUiData(1, 1, 1, 5.0,"1", "filme","1"));
|
||||
@FXML
|
||||
@ -180,12 +186,13 @@ public class MainWindowController {
|
||||
private TableColumn<streamUiData, String> dataNameEndColumn = new TableColumn<>("Datei Name mit Endung");
|
||||
|
||||
|
||||
private boolean menutrue = false; //merker f<>r menubtn (<EFBFBD>ffnen oder schlie<69>en)
|
||||
private boolean menutrue = false; //saves the position of menubtn (opened or closed)
|
||||
private boolean settingstrue = false;
|
||||
private boolean streamingSettingsTrue = false;
|
||||
private String version = "0.3.8";
|
||||
private String versionName = "half glowing bucket";
|
||||
private String versionURL = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/version.txt";
|
||||
private String version = "0.4.0";
|
||||
private String buildNumber = "100";
|
||||
private String versionName = "glowing bucket";
|
||||
private String buildURL = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/buildNumber.txt";
|
||||
private String downloadLink = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/downloadLink.txt";
|
||||
private File dir = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
|
||||
private File file = new File(dir + "/config.xml");
|
||||
@ -199,7 +206,7 @@ public class MainWindowController {
|
||||
private String infoText;
|
||||
private String linuxBugText;
|
||||
private String vlcNotInstalled;
|
||||
private String aktVersion;
|
||||
private String aktBuildNumber;
|
||||
private String path;
|
||||
private String streamingPath;
|
||||
private String color;
|
||||
@ -286,12 +293,7 @@ public class MainWindowController {
|
||||
try {
|
||||
Runtime.getRuntime().exec("vlc "+getPath()+"/"+ datPath);
|
||||
} catch (IOException e) {
|
||||
Alert alert = new Alert(AlertType.ERROR);
|
||||
alert.setHeaderText("");
|
||||
alert.setTitle("Info");
|
||||
alert.setContentText(errorPlay);
|
||||
alert.showAndWait();
|
||||
e.printStackTrace();
|
||||
showErrorMsg(errorPlay,e);
|
||||
}
|
||||
}
|
||||
}else if(SystemUtils.IS_OS_WINDOWS || SystemUtils.IS_OS_MAC_OSX){
|
||||
@ -300,30 +302,18 @@ public class MainWindowController {
|
||||
try {
|
||||
Desktop.getDesktop().open(new File(getPath()+"\\"+ datPath));
|
||||
} catch (IOException e) {
|
||||
Alert alert = new Alert(AlertType.ERROR);
|
||||
alert.setHeaderText("");
|
||||
alert.setTitle("Info");
|
||||
alert.setContentText(errorPlay);
|
||||
alert.showAndWait();
|
||||
e.printStackTrace();
|
||||
showErrorMsg(errorPlay,e);
|
||||
}
|
||||
}else if(mode.equals("streaming")){
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(datPath)); //opening streaming url in browser (other option?)
|
||||
Desktop.getDesktop().browse(new URI(datPath)); //opens the streaming url in browser (other option?)
|
||||
} catch (URISyntaxException | IOException e) {
|
||||
Alert alert = new Alert(AlertType.ERROR);
|
||||
alert.setHeaderText("");
|
||||
alert.setTitle("Error");
|
||||
alert.setContentText(errorOpenStream);
|
||||
alert.showAndWait();
|
||||
e.printStackTrace();
|
||||
showErrorMsg(errorOpenStream, (IOException) e);
|
||||
}
|
||||
}else{
|
||||
Alert alert = new Alert(AlertType.ERROR);
|
||||
alert.setHeaderText("");
|
||||
alert.setTitle("Error");
|
||||
alert.setContentText(errorMode);
|
||||
alert.showAndWait();
|
||||
IOException e = new IOException("error");
|
||||
showErrorMsg(errorMode, e);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -333,7 +323,6 @@ public class MainWindowController {
|
||||
try {
|
||||
Desktop.getDesktop().open(new File(getPath())); //<2F>ffnet den aktuellen Pfad
|
||||
} catch (IOException e) {
|
||||
// Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@ -434,8 +423,8 @@ public class MainWindowController {
|
||||
saveSettings();
|
||||
tfPath.setText(getPath());
|
||||
try {
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu
|
||||
System.exit(0); //beendet sich selbst
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||
System.exit(0); //finishes itself
|
||||
} catch (IOException e) {
|
||||
System.out.println("es ist ein Fehler aufgetreten");
|
||||
e.printStackTrace();
|
||||
@ -479,8 +468,8 @@ public class MainWindowController {
|
||||
saveSettings();
|
||||
tfStreamingPath.setText(getStreamingPath());
|
||||
try {
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu
|
||||
System.exit(0); //beendet sich selbst
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||
System.exit(0); //finishes itself
|
||||
} catch (IOException e) {
|
||||
System.out.println("es ist ein Fehler aufgetreten");
|
||||
e.printStackTrace();
|
||||
@ -515,8 +504,6 @@ public class MainWindowController {
|
||||
}else{
|
||||
autoupdateBtn.setSelected(false);
|
||||
}
|
||||
|
||||
versionlbl.setText("Version: "+version);
|
||||
|
||||
ta1.setWrapText(true);
|
||||
ta1.setEditable(false);
|
||||
@ -527,7 +514,7 @@ public class MainWindowController {
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
private void initTabel(){
|
||||
|
||||
//Filmtabelle
|
||||
//filmtabelle
|
||||
columnRating.setMaxWidth(120);
|
||||
columnTitel.setMaxWidth(240);
|
||||
columnStreamUrl.setMaxWidth(0);
|
||||
@ -633,53 +620,44 @@ public class MainWindowController {
|
||||
|
||||
//pr<70>ft auf Update und f<>rht es gegebenenfalls aus
|
||||
private void update(){
|
||||
|
||||
System.out.println("check for updates ...");
|
||||
try {
|
||||
URL url = new URL(versionURL); //URL der Datei mit aktueller Versionsnummer
|
||||
URL url = new URL(buildURL); //URL der Datei mit aktueller Versionsnummer
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
|
||||
aktVersion = in.readLine(); //schreibt inputstream in String
|
||||
aktBuildNumber = in.readLine(); //schreibt inputstream in String
|
||||
in.close();
|
||||
} catch (IOException e1) {
|
||||
Alert alert = new Alert(AlertType.ERROR);
|
||||
alert.setTitle("Error");
|
||||
alert.setHeaderText("");
|
||||
alert.setContentText(errorUpdateV);
|
||||
alert.showAndWait();
|
||||
e1.printStackTrace();
|
||||
showErrorMsg(errorUpdateV, e1);
|
||||
}
|
||||
System.out.println("Version: "+version+", Update: "+aktVersion);
|
||||
System.out.println("Build: "+buildNumber+", Update: "+aktBuildNumber);
|
||||
|
||||
|
||||
//vergleicht die Versionsnummern, bei aktversion > version wird ein Update durchgrf<72>hrt
|
||||
int iversion = Integer.parseInt(version.replace(".", ""));
|
||||
int iaktVersion = Integer.parseInt(aktVersion.replace(".", ""));
|
||||
int iversion = Integer.parseInt(buildNumber.replace(".", ""));
|
||||
int iaktVersion = Integer.parseInt(aktBuildNumber.replace(".", ""));
|
||||
|
||||
if(iversion >= iaktVersion){
|
||||
updateBtn.setText("kein Update ver<65>gbar");
|
||||
System.out.println("kein Update verf<72>gbar");
|
||||
updateBtn.setText(bundle.getString("updateBtnNotavail"));
|
||||
System.out.println("no update available");
|
||||
}else{
|
||||
updateBtn.setText("Update verf<72>gbar");
|
||||
System.out.println("Update verf<EFBFBD>gbar");
|
||||
updateBtn.setText(bundle.getString("updateBtnavail"));
|
||||
System.out.println("update available");
|
||||
try {
|
||||
URL website;
|
||||
URL downloadURL = new URL(downloadLink);
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
|
||||
updateDataURL = in.readLine();
|
||||
website = new URL(updateDataURL); //Update URL
|
||||
ReadableByteChannel rbc = Channels.newChannel(website.openStream()); //<EFBFBD>ffnet neuen Stream/Channel
|
||||
FileOutputStream fos = new FileOutputStream("ProjectHomeFlix.jar"); //neuer fileoutputstram f<EFBFBD>r ProjectHomeFLix.jar
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); //holt datei von 0 bis max gr<EFBFBD><EFBFBD>e
|
||||
fos.close(); //schlie<EFBFBD>t den fos (extrem wichtig!)
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu
|
||||
System.exit(0); //beendet sich selbst
|
||||
ReadableByteChannel rbc = Channels.newChannel(website.openStream()); //open new Stream/Channel
|
||||
FileOutputStream fos = new FileOutputStream("ProjectHomeFlix.jar"); //nea fileoutputstram for ProjectHomeFLix.jar
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); //gets file from 0 to max size
|
||||
fos.close(); //close fos (extrem wichtig!)
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||
System.exit(0); //finishes itself
|
||||
} catch (IOException e) {
|
||||
//Falls ein Fehler auftritt
|
||||
e.printStackTrace();
|
||||
Alert alert = new Alert(AlertType.ERROR);
|
||||
alert.setTitle("Error");
|
||||
alert.setHeaderText("");
|
||||
alert.setContentText(errorUpdateD);
|
||||
alert.showAndWait();
|
||||
e.printStackTrace();
|
||||
//in case there is an error
|
||||
showErrorMsg(errorUpdateD, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -890,7 +868,7 @@ public class MainWindowController {
|
||||
streamingDirectoryBtn.setText(bundle.getString("chooseFolder"));
|
||||
sizelbl.setText(bundle.getString("fontSize"));
|
||||
aulbl.setText(bundle.getString("autoUpdate"));
|
||||
versionlbl.setText(bundle.getString("version")+" "+version);
|
||||
versionlbl.setText(bundle.getString("version")+" "+version+" (Build: "+buildNumber+")");
|
||||
columnTitel.setText(bundle.getString("columnName"));
|
||||
columnRating.setText(bundle.getString("columnRating"));
|
||||
columnStreamUrl.setText(bundle.getString("columnStreamUrl"));
|
||||
@ -902,11 +880,44 @@ public class MainWindowController {
|
||||
errorPlay = bundle.getString("errorPlay");
|
||||
errorOpenStream = bundle.getString("errorOpenStream");
|
||||
errorMode = bundle.getString("errorMode");
|
||||
infoText = bundle.getString("version")+" "+version+" "+versionName+bundle.getString("infoText");
|
||||
infoText = bundle.getString("version")+" "+version+" (Build: "+buildNumber+") "+versionName+bundle.getString("infoText");
|
||||
linuxBugText = bundle.getString("linuxBug");
|
||||
vlcNotInstalled = bundle.getString("vlcNotInstalled");
|
||||
}
|
||||
|
||||
private void showErrorMsg(String msg, IOException exception){
|
||||
Alert alert = new Alert(AlertType.ERROR);
|
||||
alert.setTitle("Error");
|
||||
alert.setHeaderText("");
|
||||
alert.setContentText(msg);
|
||||
|
||||
// Create expandable Exception.
|
||||
StringWriter sw = new StringWriter();
|
||||
PrintWriter pw = new PrintWriter(sw);
|
||||
exception.printStackTrace(pw);
|
||||
String exceptionText = sw.toString();
|
||||
|
||||
TextArea textArea = new TextArea(exceptionText);
|
||||
textArea.setEditable(false);
|
||||
textArea.setWrapText(true);
|
||||
|
||||
textArea.setMaxWidth(Double.MAX_VALUE);
|
||||
textArea.setMaxHeight(Double.MAX_VALUE);
|
||||
GridPane.setVgrow(textArea, Priority.ALWAYS);
|
||||
GridPane.setHgrow(textArea, Priority.ALWAYS);
|
||||
|
||||
GridPane expContent = new GridPane();
|
||||
expContent.setMaxWidth(Double.MAX_VALUE);
|
||||
expContent.add(textArea, 0, 1);
|
||||
|
||||
// Set expandable Exception into the dialog pane.
|
||||
alert.getDialogPane().setExpandableContent(expContent);
|
||||
alert.showAndWait();
|
||||
|
||||
exception.printStackTrace();
|
||||
|
||||
}
|
||||
|
||||
//speichert die Einstellungen
|
||||
public void saveSettings(){
|
||||
try {
|
||||
|
BIN
src/libraries/commons-lang3-3.5.jar
Normal file
BIN
src/libraries/commons-lang3-3.5.jar
Normal file
Binary file not shown.
BIN
src/libraries/jfoenix.jar
Normal file
BIN
src/libraries/jfoenix.jar
Normal file
Binary file not shown.
BIN
src/libraries/minimal-json-0.9.4.jar
Normal file
BIN
src/libraries/minimal-json-0.9.4.jar
Normal file
Binary file not shown.
@ -8,6 +8,8 @@ openFolder = Ordner \u00F6ffnen
|
||||
chooseFolder = Ordner ausw\u00E4hlen
|
||||
fontSize = Schriftgr\u00F6\u00DFe:
|
||||
checkUpdates = Auf Update pr\u00FCfen
|
||||
updateBtnavail = Update verf\u00FCgbar
|
||||
updateBtnNotavail = Kein Update verf\u00FCgbar
|
||||
autoUpdate = beim Start nach Updates suchen:
|
||||
version = Version:
|
||||
columnName = Name
|
||||
|
@ -8,6 +8,8 @@ openFolder = open Folder
|
||||
chooseFolder = choose Directory
|
||||
fontSize = font size:
|
||||
checkUpdates = check for updates
|
||||
updateBtnavail = update available
|
||||
updateBtnNotavail = no update available
|
||||
autoUpdate = check at startup for updates:
|
||||
version = Version:
|
||||
columnName = Name
|
||||
|
BIN
updates/Project HomeFlix.jar
Normal file
BIN
updates/Project HomeFlix.jar
Normal file
Binary file not shown.
Binary file not shown.
1
updates/buildNumber.txt
Normal file
1
updates/buildNumber.txt
Normal file
@ -0,0 +1 @@
|
||||
100
|
@ -1 +1 @@
|
||||
0.3.8
|
||||
0.4.0
|
||||
|
Reference in New Issue
Block a user