diff --git a/.classpath b/.classpath
index e9f161f..18bfe3a 100644
--- a/.classpath
+++ b/.classpath
@@ -7,5 +7,6 @@
+
diff --git a/bin/application/DBController.class b/bin/application/DBController.class
index 6f74b57..4a9c489 100644
Binary files a/bin/application/DBController.class and b/bin/application/DBController.class differ
diff --git a/bin/application/Main.class b/bin/application/Main.class
index 5d0638e..04ee8bc 100644
Binary files a/bin/application/Main.class and b/bin/application/Main.class differ
diff --git a/bin/application/MainWindow.fxml b/bin/application/MainWindow.fxml
index eb15ef1..a455653 100644
--- a/bin/application/MainWindow.fxml
+++ b/bin/application/MainWindow.fxml
@@ -16,11 +16,13 @@
+
+
diff --git a/bin/application/MainWindowController$1.class b/bin/application/MainWindowController$1.class
index f13e05a..68b1b57 100644
Binary files a/bin/application/MainWindowController$1.class and b/bin/application/MainWindowController$1.class differ
diff --git a/bin/application/MainWindowController$2.class b/bin/application/MainWindowController$2.class
index 7823df7..24ed899 100644
Binary files a/bin/application/MainWindowController$2.class and b/bin/application/MainWindowController$2.class differ
diff --git a/bin/application/MainWindowController$3.class b/bin/application/MainWindowController$3.class
index 5615eea..05dc50b 100644
Binary files a/bin/application/MainWindowController$3.class and b/bin/application/MainWindowController$3.class differ
diff --git a/bin/application/MainWindowController$4.class b/bin/application/MainWindowController$4.class
index 190ef97..dbce121 100644
Binary files a/bin/application/MainWindowController$4.class and b/bin/application/MainWindowController$4.class differ
diff --git a/bin/application/MainWindowController$5.class b/bin/application/MainWindowController$5.class
index e7a8d0e..1e47f18 100644
Binary files a/bin/application/MainWindowController$5.class and b/bin/application/MainWindowController$5.class differ
diff --git a/bin/application/MainWindowController$6.class b/bin/application/MainWindowController$6.class
index 6e5851e..ea12f4a 100644
Binary files a/bin/application/MainWindowController$6.class and b/bin/application/MainWindowController$6.class differ
diff --git a/bin/application/MainWindowController$7.class b/bin/application/MainWindowController$7.class
new file mode 100644
index 0000000..176f270
Binary files /dev/null and b/bin/application/MainWindowController$7.class differ
diff --git a/bin/application/MainWindowController.class b/bin/application/MainWindowController.class
index 6513af9..76ac617 100644
Binary files a/bin/application/MainWindowController.class and b/bin/application/MainWindowController.class differ
diff --git a/bin/application/apiQuery.class b/bin/application/apiQuery.class
index f80cffc..9de2779 100644
Binary files a/bin/application/apiQuery.class and b/bin/application/apiQuery.class differ
diff --git a/bin/application/streamUiData.class b/bin/application/streamUiData.class
index 0f5156d..034c7a2 100644
Binary files a/bin/application/streamUiData.class and b/bin/application/streamUiData.class differ
diff --git a/bin/application/updater.class b/bin/application/updater.class
index fc84263..dd8ed1e 100644
Binary files a/bin/application/updater.class and b/bin/application/updater.class differ
diff --git a/src/application/DBController.java b/src/application/DBController.java
index 1180f93..3dc251a 100644
--- a/src/application/DBController.java
+++ b/src/application/DBController.java
@@ -195,7 +195,7 @@ public class DBController {
ps.close();
psS.close();
}catch (SQLException ea) {
- System.err.println("Konnte nicht ausgef�hrt werden");
+ System.err.println("Konnte nicht ausgeführt werden");
ea.printStackTrace();
}
}else {
diff --git a/src/application/Main.java b/src/application/Main.java
index 0b7c4c6..33d26ee 100644
--- a/src/application/Main.java
+++ b/src/application/Main.java
@@ -25,7 +25,6 @@ import java.io.File;
import java.io.IOException;
import java.util.Locale;
import java.util.Optional;
-import java.util.Properties;
import java.util.ResourceBundle;
import javafx.application.Application;
@@ -41,7 +40,7 @@ import javafx.stage.Stage;
public class Main extends Application {
- public Stage primaryStage;
+ private Stage primaryStage;
private String path;
private String streamingPathWin = System.getProperty("user.home") + "\\Documents\\HomeFlix";
private String streamingPathLinux = System.getProperty("user.home") + "/HomeFlix";
@@ -56,7 +55,6 @@ public class Main extends Application {
private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix"); //Linux: /home/"User"/HomeFlix
private File fileWin = new File(dirWin + "/config.xml"); //Windows: C:/Users/"User"/Documents/HomeFlix/config.xml
private File fileLinux = new File(dirLinux + "/config.xml"); //Linux: /home/"User"/HomeFlix/config.xml
- Properties props = new Properties();
@Override
public void start(Stage primaryStage) {
@@ -64,7 +62,7 @@ public class Main extends Application {
mainWindow();
}
- public void mainWindow(){
+ private void mainWindow(){
try {
FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml"));
@@ -91,7 +89,7 @@ public class Main extends Application {
mainWindowController.setAutoUpdate(autoUpdate);
mainWindowController.setLocal(local);
mainWindowController.setMode(mode);
- mainWindowController.saveSettings("l");
+ mainWindowController.saveSettings();
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
System.exit(0); //finishes itself
}
@@ -107,7 +105,7 @@ public class Main extends Application {
mainWindowController.setAutoUpdate(autoUpdate);
mainWindowController.setLocal(local);
mainWindowController.setMode(mode);
- mainWindowController.saveSettings("k");
+ mainWindowController.saveSettings();
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
System.exit(0); //finishes itself
}
@@ -141,7 +139,7 @@ public class Main extends Application {
switch(System.getProperty("user.language")+"_"+System.getProperty("user.country")){
case "en_US": bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_english
break;
- case "de_DE": bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.GERMAN); //german
+ case "de_DE": bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.GERMAN); //German
break;
default: bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //default local
break;
diff --git a/src/application/MainWindow.fxml b/src/application/MainWindow.fxml
index eb15ef1..a455653 100644
--- a/src/application/MainWindow.fxml
+++ b/src/application/MainWindow.fxml
@@ -16,11 +16,13 @@
+
+
diff --git a/src/application/MainWindowController.java b/src/application/MainWindowController.java
index 1f70d31..7cc553b 100644
--- a/src/application/MainWindowController.java
+++ b/src/application/MainWindowController.java
@@ -32,19 +32,19 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
+import java.lang.Thread.State;
import java.math.BigInteger;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle;
-
import org.apache.commons.lang3.SystemUtils;
import com.jfoenix.controls.JFXButton;
import com.jfoenix.controls.JFXColorPicker;
-import com.jfoenix.controls.JFXDialog;
import com.jfoenix.controls.JFXSlider;
import com.jfoenix.controls.JFXTextArea;
import com.jfoenix.controls.JFXTextField;
@@ -66,11 +66,13 @@ import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.Label;
import javafx.scene.control.MenuItem;
+import javafx.scene.control.ScrollPane;
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.SortType;
import javafx.scene.control.TreeTableView;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
@@ -81,12 +83,11 @@ import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
+import javafx.scene.text.TextFlow;
import javafx.stage.DirectoryChooser;
import javafx.util.Duration;
-public class MainWindowController {
- private ObservableList locals = FXCollections.observableArrayList("english (en_US)", "deutsch (de_DE)");
-
+public class MainWindowController {
@FXML
private AnchorPane anpane;
@FXML
@@ -104,6 +105,10 @@ public class MainWindowController {
@FXML
JFXTextArea ta1;
@FXML
+ TextFlow textFlow;
+ @FXML
+ ScrollPane scrollPane;
+ @FXML
private JFXButton menubtn;
@FXML
private JFXButton playbtn;
@@ -140,12 +145,10 @@ public class MainWindowController {
@FXML
public JFXColorPicker mainColor;
@FXML
- public ChoiceBox cbLocal = new ChoiceBox<>(locals);
+ public ChoiceBox cbLocal = new ChoiceBox<>();
@FXML
public JFXSlider sliderFontSize;
@FXML
- private JFXDialog dialog = new JFXDialog();
- @FXML
private Label versionlbl;
@FXML
private Label sizelbl;
@@ -155,7 +158,6 @@ public class MainWindowController {
ImageView image1;
private ImageView imv1;
-
@FXML
TreeItem root = new TreeItem<>(new streamUiData(1, 1, 1, 5.0,"1", "filme","1", imv1));
@FXML
@@ -186,9 +188,9 @@ public class MainWindowController {
private boolean streamingSettingsTrue = false;
static boolean firststart = false;
private int hashA = -2055934614;
- private String version = "0.4.99";
- private String buildNumber = "114";
- private String versionName = "plasma cow (pre Release)";
+ private String version = "0.5.0";
+ private String buildNumber = "117";
+ private String versionName = "plasma cow";
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 dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
@@ -243,8 +245,9 @@ public class MainWindowController {
ResourceBundle bundle;
private ObservableList filterData = FXCollections.observableArrayList();
- ObservableList newData = FXCollections.observableArrayList();
- ObservableList streamData = FXCollections.observableArrayList();
+ private ObservableList locals = FXCollections.observableArrayList("english (en_US)", "deutsch (de_DE)");
+ ObservableList newData = FXCollections.observableArrayList(); //TODO rename to localFilms
+ ObservableList streamData = FXCollections.observableArrayList(); //TODO rename to streamingFilms
ObservableList streamingData = FXCollections.observableArrayList();
private ImageView menu_icon_black = new ImageView(new Image("recources/icons/menu_icon_black.png"));
private ImageView menu_icon_white = new ImageView(new Image("recources/icons/menu_icon_white.png"));
@@ -279,7 +282,7 @@ public class MainWindowController {
if(settingstrue == true){
settingsAnchor.setVisible(false);
setPath(tfPath.getText());
- saveSettings("a");
+ saveSettings();
settingstrue = false;
}
if(streamingSettingsTrue == true){
@@ -387,7 +390,7 @@ public class MainWindowController {
}else{
settingsAnchor.setVisible(false);
setPath(tfPath.getText());
- saveSettings("b");
+ saveSettings();
settingstrue = false;
}
}
@@ -419,7 +422,7 @@ public class MainWindowController {
setMode("local");
switchBtn.setText("streaming");
}
- saveSettings("c");
+ saveSettings();
root.getChildren().remove(0,root.getChildren().size());
addDataUI();
settingsAnchor.setVisible(false);
@@ -439,7 +442,7 @@ public class MainWindowController {
@FXML
private void tfPathAction(){
setPath(tfPath.getText());
- saveSettings("d");
+ saveSettings();
}
@FXML
@@ -449,7 +452,7 @@ public class MainWindowController {
System.out.println("No Directory selected");
}else{
setPath(selectedFolder.getAbsolutePath());
- saveSettings("e");
+ saveSettings();
tfPath.setText(getPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
@@ -469,7 +472,13 @@ public class MainWindowController {
@FXML
private void updateBtnAction(){
- Updater.update(buildURL, downloadLink, aktBuildNumber, buildNumber);
+// Updater.update(buildURL, downloadLink, aktBuildNumber, buildNumber);
+ System.out.println(Updater.getState());
+ if(Updater.getState() == State.NEW){
+ Updater.start();
+ }else{
+ Updater.run();
+ }
}
@FXML
@@ -479,7 +488,7 @@ public class MainWindowController {
}else{
setAutoUpdate("0");
}
- saveSettings("f");
+ saveSettings();
}
@FXML
@@ -494,7 +503,7 @@ public class MainWindowController {
System.out.println("No Directory selected");
}else{
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
- saveSettings("g");
+ saveSettings();
tfStreamingPath.setText(getStreamingPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
@@ -508,8 +517,8 @@ public class MainWindowController {
//"Main" Method called in Main.java main() when starting
- public void setMain(Main main) {
- Updater = new updater(this);
+ void setMain(Main main) {
+ Updater = new updater(this,buildURL, downloadLink, aktBuildNumber, buildNumber);
ApiQuery = new apiQuery(this);
dbController = new DBController(this);
}
@@ -572,17 +581,22 @@ public class MainWindowController {
//Initializing the actions
void initActions(){
- //TODO unterscheiden zwischen streaming und local
tfsearch.textProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue extends String> observable,String oldValue, String newValue) {
- int counter = newData.size();
+ ObservableList helpData;
filterData.removeAll(filterData);
root.getChildren().remove(0,root.getChildren().size());
- for(int i = 0; i < counter; i++){
- if(newData.get(i).getTitel().toLowerCase().contains(tfsearch.getText().toLowerCase())){
- filterData.add(newData.get(i)); //add data from newDaten to filteredData where title contains search input
+ if(mode.equals("local")){
+ helpData = newData;
+ }else{
+ helpData = streamData;
+ }
+
+ for(int i = 0; i < helpData.size(); i++){
+ if(helpData.get(i).getTitel().toLowerCase().contains(tfsearch.getText().toLowerCase())){
+ filterData.add(helpData.get(i)); //add data from newDaten to filteredData where title contains search input
}
}
@@ -602,7 +616,7 @@ public class MainWindowController {
local = local.substring(local.length()-6,local.length()-1);
setLocal(local);
setLocalUI();
- saveSettings("h");
+ saveSettings();
}
});
@@ -611,7 +625,7 @@ public class MainWindowController {
public void changed(ObservableValue extends Number> ov,Number old_val, Number new_val) {
setSize(sliderFontSize.getValue());
ta1.setFont(Font.font("System", size));
- saveSettings("i");
+ saveSettings();
}
});
@@ -658,6 +672,58 @@ public class MainWindowController {
refreshTable();
}
});
+
+ /**
+ * TODO fix bug when sort by ASCENDING, wrong order
+ */
+ columnRating.sortTypeProperty().addListener(new ChangeListener() {
+ @Override
+ public void changed(ObservableValue extends SortType> paramObservableValue, SortType paramT1, SortType paramT2) {
+ System.out.println("NAME Clicked -- sortType = " + paramT1 + ", SortType=" + paramT2);
+ ArrayList fav_true = new ArrayList();
+ ArrayList fav_false = new ArrayList();
+ ObservableList helpData;
+ filterData.removeAll(filterData);
+ root.getChildren().remove(0,root.getChildren().size());
+
+ if(mode.equals("local")){
+ helpData = newData;
+ }else{
+ helpData = streamData;
+ }
+
+
+ for(int i = 0;i(filterData.get(i))); //add filtered data to root node after search
+ }
+ }
+ });
}
//initialize UI elements
@@ -671,11 +737,12 @@ public class MainWindowController {
mainColor.setValue(Color.valueOf(getColor()));
updateBtn.setFont(Font.font("System", 12));
+ cbLocal.setItems(locals);
//TODO rework!
if(autoUpdate.equals("1")){
autoupdateBtn.setSelected(true);
- Updater.update(buildURL, downloadLink, aktBuildNumber, buildNumber);
+ Updater.start();
}else{
autoupdateBtn.setSelected(false);
}
@@ -834,7 +901,7 @@ public class MainWindowController {
parallelTransition.play();
}
- public void setLocalUI(){
+ void setLocalUI(){
switch(getLocal()){
case "en_US":
bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_english
@@ -898,7 +965,7 @@ public class MainWindowController {
type = bundle.getString("type");
}
- public void showErrorMsg(String msg, IOException exception){
+ void showErrorMsg(String msg, IOException exception){
Alert alert = new Alert(AlertType.ERROR);
alert.setTitle("Error");
alert.setHeaderText("");
@@ -932,8 +999,7 @@ public class MainWindowController {
}
//saves the Settings
- public void saveSettings(String a){
- System.out.println("saving, "+a);
+ public void saveSettings(){
OutputStream outputStream; //new output-stream
try {
props.setProperty("path", getPath()); //writes path into property
@@ -993,7 +1059,7 @@ public class MainWindowController {
StringBuilder sb = new StringBuilder(input);
sb.delete(0, 2);
this.color = sb.toString();
- saveSettings("j");
+ saveSettings();
}
//getter and setter
diff --git a/src/application/apiQuery.java b/src/application/apiQuery.java
index a6eb0b6..dc66933 100644
--- a/src/application/apiQuery.java
+++ b/src/application/apiQuery.java
@@ -14,7 +14,13 @@ import java.util.Scanner;
import com.eclipsesource.json.Json;
import com.eclipsesource.json.JsonObject;
+import javafx.collections.ObservableList;
+import javafx.scene.Node;
import javafx.scene.image.Image;
+import javafx.scene.paint.Color;
+import javafx.scene.text.Font;
+import javafx.scene.text.FontWeight;
+import javafx.scene.text.Text;
public class apiQuery{
@@ -24,6 +30,8 @@ public class apiQuery{
private MainWindowController mainWindowController;
private Image im;
+ private int fontSize = 20;
+ private String fontFamily = "System";
@SuppressWarnings("deprecation") //TODO
void startQuery(String input){
@@ -78,7 +86,7 @@ public class apiQuery{
String languageV = object.getString("Language", "");
String countryV = object.getString("Country", "");
String awardsV = object.getString("Awards", "");
- String posterURL = object.getString("Poster", "");
+
String metascoreV = object.getString("Metascore", "");
String imdbRatingV = object.getString("imdbRating", "");
@SuppressWarnings("unused")
@@ -86,15 +94,56 @@ public class apiQuery{
@SuppressWarnings("unused")
String imdbIDV = object.getString("imdbID", "");
String typeV = object.getString("Type", "");
+
+ String posterURL = object.getString("Poster", "");
String response = object.getString("Response", "");
+// Text titelR = new Text (object.getString("Title", "")+"\n");
+// titelR.setFont(Font.font (fontFamily, fontSize));
+// Text yearR = new Text (object.getString("Year", "")+"\n");
+// yearR.setFont(Font.font (fontFamily, fontSize));
+// Text ratedR = new Text (object.getString("Rated", "")+"\n");
+// ratedR.setFont(Font.font (fontFamily, fontSize));
+// Text releasedR = new Text (object.getString("Released", "")+"\n");
+// releasedR.setFont(Font.font (fontFamily, fontSize));
+// Text runtimeR = new Text (object.getString("Runtime", "")+"\n");
+// runtimeR.setFont(Font.font (fontFamily, fontSize));
+// Text genreR = new Text (object.getString("Genre", ""));
+// genreR.setFont(Font.font (fontFamily, fontSize));
+// Text directorR = new Text (object.getString("Director", "")+"\n");
+// directorR.setFont(Font.font (fontFamily, fontSize));
+// Text writerR = new Text (object.getString("Writer", "")+"\n");
+// writerR.setFont(Font.font (fontFamily, fontSize));
+// Text actorsR = new Text (object.getString("Actors", "")+"\n");
+// actorsR.setFont(Font.font (fontFamily, fontSize));
+// Text plotR = new Text (object.getString("Plot", "")+"\n");
+// plotR.setFont(Font.font (fontFamily, fontSize));
+// Text languageR = new Text (object.getString("Language", "")+"\n");
+// languageR.setFont(Font.font (fontFamily, fontSize));
+// Text countryR = new Text (object.getString("Country", "")+"\n");
+// countryR.setFont(Font.font (fontFamily, fontSize));
+// Text awardsR = new Text (object.getString("Awards", "")+"\n");
+// awardsR.setFont(Font.font (fontFamily, fontSize));
+// Text metascoreR = new Text (object.getString("Metascore", "")+"\n");
+// metascoreR.setFont(Font.font (fontFamily, fontSize));
+// Text imdbRatingR = new Text (object.getString("imdbRating", "")+"\n");
+// imdbRatingR.setFont(Font.font (fontFamily, fontSize));
+// @SuppressWarnings("unused")
+// Text imdbVotesR = new Text (object.getString("imdbVotes", "")+"\n");
+// imdbVotesR.setFont(Font.font (fontFamily, fontSize));
+// @SuppressWarnings("unused")
+// Text imdbIDR = new Text (object.getString("imdbID", "")+"\n");
+// imdbIDR.setFont(Font.font (fontFamily, fontSize));
+// Text typeR = new Text (object.getString("Type", "")+"\n");
+// typeR.setFont(Font.font (fontFamily, fontSize));
+
if(response.equals("False")){
mainWindowController.ta1.appendText(mainWindowController.noFilmFound);
im = new Image("recources/icons/close_black_2048x2048.png");
mainWindowController.image1.setImage(im);
}else{
- //ausgabe des Textes in ta1 in jeweils neuer Zeile //TODO formatting
+ //ausgabe des Textes in ta1 in jeweils neuer Zeile
mainWindowController.ta1.appendText(mainWindowController.title+": "+titelV+"\n");
mainWindowController.ta1.appendText(mainWindowController.year+": "+ yearV+"\n");
mainWindowController.ta1.appendText(mainWindowController.rating+": "+ratedV+"\n");
@@ -111,6 +160,51 @@ public class apiQuery{
mainWindowController.ta1.appendText(mainWindowController.metascore+": "+metascoreV+"\n");
mainWindowController.ta1.appendText(mainWindowController.imdbRating+": "+imdbRatingV+"\n");
mainWindowController.ta1.appendText(mainWindowController.type+": "+typeV+"\n");
+
+// mainWindowController.ta1.setVisible(false);
+
+// Text title = new Text(15, 20, mainWindowController.title+": ");
+// title.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text year = new Text(15, 20, mainWindowController.year+": ");
+// year.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text rating = new Text(15, 20, mainWindowController.rating+": ");
+// rating.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text publishedOn = new Text(15, 20, mainWindowController.publishedOn+": ");
+// publishedOn.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text duration = new Text(15, 20, mainWindowController.duration+": ");
+// duration.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text genre = new Text(15, 20, mainWindowController.genre+": ");
+// genre.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text director = new Text(15, 20, mainWindowController.director+": ");
+// director.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text writer = new Text(15, 20, mainWindowController.writer+": ");
+// writer.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text actors = new Text(15, 20, mainWindowController.actors+": ");
+// actors.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text plot = new Text(15, 20, mainWindowController.plot+": ");
+// plot.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text language = new Text(15, 20, mainWindowController.language+": ");
+// language.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text country = new Text(15, 20, mainWindowController.country+": ");
+// country.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text awards = new Text(15, 20, mainWindowController.awards+": ");
+// awards.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text metascore = new Text(15, 20, mainWindowController.metascore+": ");
+// metascore.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text imdbRating = new Text(15, 20, mainWindowController.imdbRating+": ");
+// imdbRating.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+// Text type = new Text(15, 20, mainWindowController.type+": ");
+// type.setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
+//
+// mainWindowController.textFlow.getChildren().remove(0, mainWindowController.textFlow.getChildren().size());
+//
+// ObservableList list = mainWindowController.textFlow.getChildren();
+//
+// list.addAll(title,titelR,year,yearR,rating,ratedR,
+// publishedOn,releasedR,duration,runtimeR,genre,genreR,director,directorR,writer,writerR,
+// actors,actorsR,plot,plotR,language,languageR,country,countryR,awards,awardsR,metascore,
+// metascoreR,imdbRating,imdbRatingR,type,typeR);
+//
if(posterURL.equals("N/A")){
im = new Image("recources/icons/close_black_2048x2048.png");
diff --git a/src/application/streamUiData.java b/src/application/streamUiData.java
index c4c4d97..8f801c5 100644
--- a/src/application/streamUiData.java
+++ b/src/application/streamUiData.java
@@ -16,7 +16,7 @@ public class streamUiData {
private final IntegerProperty episode = new SimpleIntegerProperty();
private final DoubleProperty rating = new SimpleDoubleProperty();
private final StringProperty resolution = new SimpleStringProperty();
- final StringProperty titel = new SimpleStringProperty();
+ private final StringProperty titel = new SimpleStringProperty();
private final StringProperty streamUrl = new SimpleStringProperty();
private final SimpleObjectProperty image = new SimpleObjectProperty<>();
diff --git a/src/application/updater.java b/src/application/updater.java
index e02844f..5425c8f 100644
--- a/src/application/updater.java
+++ b/src/application/updater.java
@@ -12,15 +12,23 @@ import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
-public class updater {
+public class updater extends Thread{
- public updater(MainWindowController m){
- mainWindowController=m;
- }
-
private MainWindowController mainWindowController;
+ private String buildURL;
+ private String downloadLink;
+ private String aktBuildNumber;
+ private String buildNumber;
- void update(String buildURL,String downloadLink,String aktBuildNumber,String buildNumber){
+ public updater(MainWindowController m, String buildURL,String downloadLink,String aktBuildNumber,String buildNumber){
+ mainWindowController=m;
+ this.buildURL=buildURL;
+ this.downloadLink=downloadLink;
+ this.aktBuildNumber=aktBuildNumber;
+ this.buildNumber=buildNumber;
+ }
+
+ public void run(){
System.out.println("check for updates ...");
try {
URL url = new URL(buildURL); //URL der Datei mit aktueller Versionsnummer
@@ -37,27 +45,27 @@ public class updater {
int iaktVersion = Integer.parseInt(aktBuildNumber.replace(".", ""));
if(iversion >= iaktVersion){
- mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnNotavail"));
+// mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnNotavail"));
System.out.println("no update available");
}else{
- mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail"));
+// mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail"));
System.out.println("update available");
- try {
- URL website;
- URL downloadURL = new URL(downloadLink);
- BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
- String updateDataURL = in.readLine();
- website = new URL(updateDataURL); //Update URL
- 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) {
- //in case there is an error
- mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e);
- }
+ try {
+ URL website;
+ URL downloadURL = new URL(downloadLink);
+ BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
+ String updateDataURL = in.readLine();
+ website = new URL(updateDataURL); //Update URL
+ 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) {
+ //in case there is an error
+ mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e);
+ }
}
}
}
diff --git a/updates/ProjectHomeFlix.jar b/updates/ProjectHomeFlix.jar
index a73f5a9..b2974ab 100644
Binary files a/updates/ProjectHomeFlix.jar and b/updates/ProjectHomeFlix.jar differ
diff --git a/updates/buildNumber.txt b/updates/buildNumber.txt
index b16e5f7..5bc6609 100644
--- a/updates/buildNumber.txt
+++ b/updates/buildNumber.txt
@@ -1 +1 @@
-104
+117