12 Commits
0.3.8 ... 0.4.0

Author SHA1 Message Date
c23d5f4905 Update version.txt 2016-11-18 09:50:25 +01:00
1645cda489 updated to 0.4.0 2016-11-18 09:44:50 +01:00
56feef8935 updated to 0.4.0 2016-11-18 09:43:24 +01:00
1077ff304a updated to 0.4.0 2016-11-18 09:41:38 +01:00
684fb45df4 Delete Main.java 2016-11-18 09:41:16 +01:00
44f4fc7481 Delete MainWindowController.java 2016-11-18 09:41:08 +01:00
cccff67399 updated to 0.4.0 2016-11-18 09:40:48 +01:00
83de2423e5 Create buildNumber.txt 2016-11-18 09:15:34 +01:00
c8fd267159 updated to 0.3.9 2016-11-12 15:08:52 +01:00
42f13f37b0 updated to 0.3.9 2016-11-12 15:02:55 +01:00
985ca4c8fe updated jfoenix library and moved all libraries to /src/libraries 2016-11-12 13:52:37 +01:00
20e8215055 updated apache commons-lang to versione 3.5 2016-11-12 13:47:57 +01:00
23 changed files with 96 additions and 80 deletions

View File

@ -3,8 +3,8 @@
<classpathentry kind="src" path="src"/> <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.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="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/src/libraries/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/src/libraries/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/commons-lang3-3.5.jar"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

4
.gitignore vendored
View File

@ -45,9 +45,5 @@ $RECYCLE.BIN/
Network Trash Folder Network Trash Folder
Temporary Items Temporary Items
.apdisk .apdisk
jfoenix.jar
minimal-json-0.9.4.jar
config.xml config.xml
config.xml
commons-lang3-3.4.jar

Binary file not shown.

BIN
bin/libraries/jfoenix.jar Normal file

Binary file not shown.

Binary file not shown.

View File

@ -8,6 +8,8 @@ openFolder = Ordner \u00F6ffnen
chooseFolder = Ordner ausw\u00E4hlen chooseFolder = Ordner ausw\u00E4hlen
fontSize = Schriftgr\u00F6\u00DFe: fontSize = Schriftgr\u00F6\u00DFe:
checkUpdates = Auf Update pr\u00FCfen checkUpdates = Auf Update pr\u00FCfen
updateBtnavail = Update verf\u00FCgbar
updateBtnNotavail = Kein Update verf\u00FCgbar
autoUpdate = beim Start nach Updates suchen: autoUpdate = beim Start nach Updates suchen:
version = Version: version = Version:
columnName = Name columnName = Name

View File

@ -8,6 +8,8 @@ openFolder = open Folder
chooseFolder = choose Directory chooseFolder = choose Directory
fontSize = font size: fontSize = font size:
checkUpdates = check for updates checkUpdates = check for updates
updateBtnavail = update available
updateBtnNotavail = no update available
autoUpdate = check at startup for updates: autoUpdate = check at startup for updates:
version = Version: version = Version:
columnName = Name columnName = Name

View File

@ -87,8 +87,8 @@ public class Main extends Application {
mainWindowController.setLoaclUI(local); mainWindowController.setLoaclUI(local);
mainWindowController.setMode(mode); mainWindowController.setMode(mode);
mainWindowController.saveSettings(); mainWindowController.saveSettings();
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu um Bugs zu verhindern Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
System.exit(0); //beendet sich selbst System.exit(0); //finishes itself
}else{ }else{
loadSettings(); loadSettings();
} }
@ -102,8 +102,8 @@ public class Main extends Application {
mainWindowController.setLoaclUI(local); mainWindowController.setLoaclUI(local);
mainWindowController.setMode(mode); mainWindowController.setMode(mode);
mainWindowController.saveSettings(); mainWindowController.saveSettings();
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu um Bugs zu verhindern Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
System.exit(0); //beendet sich selbst System.exit(0); //finishes itself
} }
mainWindowController.loadStreamingSettings(); mainWindowController.loadStreamingSettings();
mainWindowController.applyColor(); //setzt die Theme Farbe mainWindowController.applyColor(); //setzt die Theme Farbe

View File

@ -32,6 +32,8 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.math.BigInteger; import java.math.BigInteger;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
@ -73,6 +75,7 @@ import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label; import javafx.scene.control.Label;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView; import javafx.scene.control.TableView;
import javafx.scene.control.TextArea;
import javafx.scene.control.TreeItem; import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeTableColumn; import javafx.scene.control.TreeTableColumn;
import javafx.scene.control.TreeTableColumn.CellDataFeatures; import javafx.scene.control.TreeTableColumn.CellDataFeatures;
@ -80,7 +83,9 @@ import javafx.scene.control.TreeTableView;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane; import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox; import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox; import javafx.scene.layout.VBox;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import javafx.scene.text.Font; import javafx.scene.text.Font;
@ -155,6 +160,7 @@ public class MainWindowController {
@FXML @FXML
private ImageView image1; private ImageView image1;
@FXML @FXML
TreeItem<streamUiData> root = new TreeItem<>(new streamUiData(1, 1, 1, 5.0,"1", "filme","1")); TreeItem<streamUiData> root = new TreeItem<>(new streamUiData(1, 1, 1, 5.0,"1", "filme","1"));
@FXML @FXML
@ -180,12 +186,13 @@ public class MainWindowController {
private TableColumn<streamUiData, String> dataNameEndColumn = new TableColumn<>("Datei Name mit Endung"); 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 settingstrue = false;
private boolean streamingSettingsTrue = false; private boolean streamingSettingsTrue = false;
private String version = "0.3.8"; private String version = "0.4.0";
private String versionName = "half glowing bucket"; private String buildNumber = "100";
private String versionURL = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/version.txt"; 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 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 dir = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
private File file = new File(dir + "/config.xml"); private File file = new File(dir + "/config.xml");
@ -199,7 +206,7 @@ public class MainWindowController {
private String infoText; private String infoText;
private String linuxBugText; private String linuxBugText;
private String vlcNotInstalled; private String vlcNotInstalled;
private String aktVersion; private String aktBuildNumber;
private String path; private String path;
private String streamingPath; private String streamingPath;
private String color; private String color;
@ -286,12 +293,7 @@ public class MainWindowController {
try { try {
Runtime.getRuntime().exec("vlc "+getPath()+"/"+ datPath); Runtime.getRuntime().exec("vlc "+getPath()+"/"+ datPath);
} catch (IOException e) { } catch (IOException e) {
Alert alert = new Alert(AlertType.ERROR); showErrorMsg(errorPlay,e);
alert.setHeaderText("");
alert.setTitle("Info");
alert.setContentText(errorPlay);
alert.showAndWait();
e.printStackTrace();
} }
} }
}else if(SystemUtils.IS_OS_WINDOWS || SystemUtils.IS_OS_MAC_OSX){ }else if(SystemUtils.IS_OS_WINDOWS || SystemUtils.IS_OS_MAC_OSX){
@ -300,30 +302,18 @@ public class MainWindowController {
try { try {
Desktop.getDesktop().open(new File(getPath()+"\\"+ datPath)); Desktop.getDesktop().open(new File(getPath()+"\\"+ datPath));
} catch (IOException e) { } catch (IOException e) {
Alert alert = new Alert(AlertType.ERROR); showErrorMsg(errorPlay,e);
alert.setHeaderText("");
alert.setTitle("Info");
alert.setContentText(errorPlay);
alert.showAndWait();
e.printStackTrace();
} }
}else if(mode.equals("streaming")){ }else if(mode.equals("streaming")){
try { 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) { } catch (URISyntaxException | IOException e) {
Alert alert = new Alert(AlertType.ERROR); showErrorMsg(errorOpenStream, (IOException) e);
alert.setHeaderText("");
alert.setTitle("Error");
alert.setContentText(errorOpenStream);
alert.showAndWait();
e.printStackTrace();
} }
}else{ }else{
Alert alert = new Alert(AlertType.ERROR); IOException e = new IOException("error");
alert.setHeaderText(""); showErrorMsg(errorMode, e);
alert.setTitle("Error");
alert.setContentText(errorMode);
alert.showAndWait();
} }
} }
} }
@ -333,7 +323,6 @@ public class MainWindowController {
try { try {
Desktop.getDesktop().open(new File(getPath())); //<2F>ffnet den aktuellen Pfad Desktop.getDesktop().open(new File(getPath())); //<2F>ffnet den aktuellen Pfad
} catch (IOException e) { } catch (IOException e) {
// Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
} }
@ -434,8 +423,8 @@ public class MainWindowController {
saveSettings(); saveSettings();
tfPath.setText(getPath()); tfPath.setText(getPath());
try { try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
System.exit(0); //beendet sich selbst System.exit(0); //finishes itself
} catch (IOException e) { } catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten"); System.out.println("es ist ein Fehler aufgetreten");
e.printStackTrace(); e.printStackTrace();
@ -479,8 +468,8 @@ public class MainWindowController {
saveSettings(); saveSettings();
tfStreamingPath.setText(getStreamingPath()); tfStreamingPath.setText(getStreamingPath());
try { try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
System.exit(0); //beendet sich selbst System.exit(0); //finishes itself
} catch (IOException e) { } catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten"); System.out.println("es ist ein Fehler aufgetreten");
e.printStackTrace(); e.printStackTrace();
@ -516,8 +505,6 @@ public class MainWindowController {
autoupdateBtn.setSelected(false); autoupdateBtn.setSelected(false);
} }
versionlbl.setText("Version: "+version);
ta1.setWrapText(true); ta1.setWrapText(true);
ta1.setEditable(false); ta1.setEditable(false);
ta1.setFont(Font.font("System", getSize())); ta1.setFont(Font.font("System", getSize()));
@ -527,7 +514,7 @@ public class MainWindowController {
@SuppressWarnings({ "unchecked", "rawtypes" }) @SuppressWarnings({ "unchecked", "rawtypes" })
private void initTabel(){ private void initTabel(){
//Filmtabelle //filmtabelle
columnRating.setMaxWidth(120); columnRating.setMaxWidth(120);
columnTitel.setMaxWidth(240); columnTitel.setMaxWidth(240);
columnStreamUrl.setMaxWidth(0); columnStreamUrl.setMaxWidth(0);
@ -633,53 +620,44 @@ public class MainWindowController {
//pr<70>ft auf Update und f<>rht es gegebenenfalls aus //pr<70>ft auf Update und f<>rht es gegebenenfalls aus
private void update(){ private void update(){
System.out.println("check for updates ..."); System.out.println("check for updates ...");
try { 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())); BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
aktVersion = in.readLine(); //schreibt inputstream in String aktBuildNumber = in.readLine(); //schreibt inputstream in String
in.close(); in.close();
} catch (IOException e1) { } catch (IOException e1) {
Alert alert = new Alert(AlertType.ERROR); showErrorMsg(errorUpdateV, e1);
alert.setTitle("Error");
alert.setHeaderText("");
alert.setContentText(errorUpdateV);
alert.showAndWait();
e1.printStackTrace();
} }
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 //vergleicht die Versionsnummern, bei aktversion > version wird ein Update durchgrf<72>hrt
int iversion = Integer.parseInt(version.replace(".", "")); int iversion = Integer.parseInt(buildNumber.replace(".", ""));
int iaktVersion = Integer.parseInt(aktVersion.replace(".", "")); int iaktVersion = Integer.parseInt(aktBuildNumber.replace(".", ""));
if(iversion >= iaktVersion){ if(iversion >= iaktVersion){
updateBtn.setText("kein Update ver<65>gbar"); updateBtn.setText(bundle.getString("updateBtnNotavail"));
System.out.println("kein Update verf<72>gbar"); System.out.println("no update available");
}else{ }else{
updateBtn.setText("Update verf<72>gbar"); updateBtn.setText(bundle.getString("updateBtnavail"));
System.out.println("Update verf<EFBFBD>gbar"); System.out.println("update available");
try { try {
URL website; URL website;
URL downloadURL = new URL(downloadLink); URL downloadURL = new URL(downloadLink);
BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream())); BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
updateDataURL = in.readLine(); updateDataURL = in.readLine();
website = new URL(updateDataURL); //Update URL website = new URL(updateDataURL); //Update URL
ReadableByteChannel rbc = Channels.newChannel(website.openStream()); //<EFBFBD>ffnet neuen Stream/Channel ReadableByteChannel rbc = Channels.newChannel(website.openStream()); //open new Stream/Channel
FileOutputStream fos = new FileOutputStream("ProjectHomeFlix.jar"); //neuer fileoutputstram f<EFBFBD>r ProjectHomeFLix.jar FileOutputStream fos = new FileOutputStream("ProjectHomeFlix.jar"); //nea fileoutputstram for ProjectHomeFLix.jar
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); //holt datei von 0 bis max gr<EFBFBD><EFBFBD>e fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); //gets file from 0 to max size
fos.close(); //schlie<EFBFBD>t den fos (extrem wichtig!) fos.close(); //close fos (extrem wichtig!)
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
System.exit(0); //beendet sich selbst System.exit(0); //finishes itself
} catch (IOException e) { } catch (IOException e) {
//Falls ein Fehler auftritt //in case there is an error
e.printStackTrace(); showErrorMsg(errorUpdateD, e);
Alert alert = new Alert(AlertType.ERROR);
alert.setTitle("Error");
alert.setHeaderText("");
alert.setContentText(errorUpdateD);
alert.showAndWait();
e.printStackTrace();
} }
} }
} }
@ -890,7 +868,7 @@ public class MainWindowController {
streamingDirectoryBtn.setText(bundle.getString("chooseFolder")); streamingDirectoryBtn.setText(bundle.getString("chooseFolder"));
sizelbl.setText(bundle.getString("fontSize")); sizelbl.setText(bundle.getString("fontSize"));
aulbl.setText(bundle.getString("autoUpdate")); aulbl.setText(bundle.getString("autoUpdate"));
versionlbl.setText(bundle.getString("version")+" "+version); versionlbl.setText(bundle.getString("version")+" "+version+" (Build: "+buildNumber+")");
columnTitel.setText(bundle.getString("columnName")); columnTitel.setText(bundle.getString("columnName"));
columnRating.setText(bundle.getString("columnRating")); columnRating.setText(bundle.getString("columnRating"));
columnStreamUrl.setText(bundle.getString("columnStreamUrl")); columnStreamUrl.setText(bundle.getString("columnStreamUrl"));
@ -902,11 +880,44 @@ public class MainWindowController {
errorPlay = bundle.getString("errorPlay"); errorPlay = bundle.getString("errorPlay");
errorOpenStream = bundle.getString("errorOpenStream"); errorOpenStream = bundle.getString("errorOpenStream");
errorMode = bundle.getString("errorMode"); 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"); linuxBugText = bundle.getString("linuxBug");
vlcNotInstalled = bundle.getString("vlcNotInstalled"); 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 //speichert die Einstellungen
public void saveSettings(){ public void saveSettings(){
try { try {

Binary file not shown.

BIN
src/libraries/jfoenix.jar Normal file

Binary file not shown.

Binary file not shown.

View File

@ -8,6 +8,8 @@ openFolder = Ordner \u00F6ffnen
chooseFolder = Ordner ausw\u00E4hlen chooseFolder = Ordner ausw\u00E4hlen
fontSize = Schriftgr\u00F6\u00DFe: fontSize = Schriftgr\u00F6\u00DFe:
checkUpdates = Auf Update pr\u00FCfen checkUpdates = Auf Update pr\u00FCfen
updateBtnavail = Update verf\u00FCgbar
updateBtnNotavail = Kein Update verf\u00FCgbar
autoUpdate = beim Start nach Updates suchen: autoUpdate = beim Start nach Updates suchen:
version = Version: version = Version:
columnName = Name columnName = Name

View File

@ -8,6 +8,8 @@ openFolder = open Folder
chooseFolder = choose Directory chooseFolder = choose Directory
fontSize = font size: fontSize = font size:
checkUpdates = check for updates checkUpdates = check for updates
updateBtnavail = update available
updateBtnNotavail = no update available
autoUpdate = check at startup for updates: autoUpdate = check at startup for updates:
version = Version: version = Version:
columnName = Name columnName = Name

Binary file not shown.

Binary file not shown.

1
updates/buildNumber.txt Normal file
View File

@ -0,0 +1 @@
100

View File

@ -1 +1 @@
0.3.8 0.4.0