added sort by favourite
*added sort by favourite *fixed a fwe minor bugs
This commit is contained in:
parent
03debb4180
commit
e88e7087ac
@ -7,5 +7,6 @@
|
|||||||
<classpathentry kind="lib" path="src/libraries/commons-lang3-3.5.jar"/>
|
<classpathentry kind="lib" path="src/libraries/commons-lang3-3.5.jar"/>
|
||||||
<classpathentry kind="lib" path="src/libraries/jfoenix-1.1.0.jar"/>
|
<classpathentry kind="lib" path="src/libraries/jfoenix-1.1.0.jar"/>
|
||||||
<classpathentry kind="lib" path="src/libraries/sqlite-jdbc-3.16.1.jar"/>
|
<classpathentry kind="lib" path="src/libraries/sqlite-jdbc-3.16.1.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/Jannik/Downloads/flow-8.0.7.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -16,11 +16,13 @@
|
|||||||
<?import javafx.scene.layout.HBox?>
|
<?import javafx.scene.layout.HBox?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
<?import javafx.scene.text.TextFlow?>
|
||||||
|
|
||||||
<AnchorPane fx:id="anpane" prefHeight="600.0" prefWidth="950.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainWindowController">
|
<AnchorPane fx:id="anpane" prefHeight="600.0" prefWidth="950.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainWindowController">
|
||||||
<children>
|
<children>
|
||||||
<TreeTableView fx:id="treeTableViewfilm" layoutX="14.0" layoutY="88.0" prefHeight="400.0" prefWidth="360.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="12.0" AnchorPane.rightAnchor="553.0" AnchorPane.topAnchor="88.0" />
|
<TreeTableView fx:id="treeTableViewfilm" layoutX="14.0" layoutY="88.0" prefHeight="400.0" prefWidth="360.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="12.0" AnchorPane.rightAnchor="553.0" AnchorPane.topAnchor="88.0" />
|
||||||
<JFXTextArea fx:id="ta1" layoutX="385.0" layoutY="42.0" maxWidth="503.0" minWidth="275.0" prefHeight="546.0" prefWidth="293.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="410.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0" />
|
<JFXTextArea fx:id="ta1" layoutX="385.0" layoutY="42.0" maxWidth="503.0" minWidth="275.0" prefHeight="546.0" prefWidth="293.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="410.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0" />
|
||||||
|
<TextFlow fx:id="textFlow" layoutX="496.0" layoutY="131.0" prefHeight="200.0" prefWidth="200.0" visible="false" AnchorPane.bottomAnchor="15.0" AnchorPane.leftAnchor="410.0" AnchorPane.rightAnchor="220.0" AnchorPane.topAnchor="44.0" />
|
||||||
<JFXButton fx:id="playbtn" contentDisplay="CENTER" layoutX="690.0" layoutY="363.0" onAction="#playbtnclicked" prefHeight="25.0" prefWidth="198.0" AnchorPane.bottomAnchor="212.0" AnchorPane.rightAnchor="12.0">
|
<JFXButton fx:id="playbtn" contentDisplay="CENTER" layoutX="690.0" layoutY="363.0" onAction="#playbtnclicked" prefHeight="25.0" prefWidth="198.0" AnchorPane.bottomAnchor="212.0" AnchorPane.rightAnchor="12.0">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="14.0" />
|
<Font name="System Bold" size="14.0" />
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/application/MainWindowController$7.class
Normal file
BIN
bin/application/MainWindowController$7.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -195,7 +195,7 @@ public class DBController {
|
|||||||
ps.close();
|
ps.close();
|
||||||
psS.close();
|
psS.close();
|
||||||
}catch (SQLException ea) {
|
}catch (SQLException ea) {
|
||||||
System.err.println("Konnte nicht ausgef<EFBFBD>hrt werden");
|
System.err.println("Konnte nicht ausgeführt werden");
|
||||||
ea.printStackTrace();
|
ea.printStackTrace();
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
|
@ -25,7 +25,6 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Properties;
|
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
@ -41,7 +40,7 @@ import javafx.stage.Stage;
|
|||||||
|
|
||||||
public class Main extends Application {
|
public class Main extends Application {
|
||||||
|
|
||||||
public Stage primaryStage;
|
private Stage primaryStage;
|
||||||
private String path;
|
private String path;
|
||||||
private String streamingPathWin = System.getProperty("user.home") + "\\Documents\\HomeFlix";
|
private String streamingPathWin = System.getProperty("user.home") + "\\Documents\\HomeFlix";
|
||||||
private String streamingPathLinux = System.getProperty("user.home") + "/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 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 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
|
private File fileLinux = new File(dirLinux + "/config.xml"); //Linux: /home/"User"/HomeFlix/config.xml
|
||||||
Properties props = new Properties();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) {
|
public void start(Stage primaryStage) {
|
||||||
@ -64,7 +62,7 @@ public class Main extends Application {
|
|||||||
mainWindow();
|
mainWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void mainWindow(){
|
private void mainWindow(){
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml"));
|
FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml"));
|
||||||
@ -91,7 +89,7 @@ public class Main extends Application {
|
|||||||
mainWindowController.setAutoUpdate(autoUpdate);
|
mainWindowController.setAutoUpdate(autoUpdate);
|
||||||
mainWindowController.setLocal(local);
|
mainWindowController.setLocal(local);
|
||||||
mainWindowController.setMode(mode);
|
mainWindowController.setMode(mode);
|
||||||
mainWindowController.saveSettings("l");
|
mainWindowController.saveSettings();
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); //finishes itself
|
||||||
}
|
}
|
||||||
@ -107,7 +105,7 @@ public class Main extends Application {
|
|||||||
mainWindowController.setAutoUpdate(autoUpdate);
|
mainWindowController.setAutoUpdate(autoUpdate);
|
||||||
mainWindowController.setLocal(local);
|
mainWindowController.setLocal(local);
|
||||||
mainWindowController.setMode(mode);
|
mainWindowController.setMode(mode);
|
||||||
mainWindowController.saveSettings("k");
|
mainWindowController.saveSettings();
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); //finishes itself
|
||||||
}
|
}
|
||||||
@ -141,7 +139,7 @@ public class Main extends Application {
|
|||||||
switch(System.getProperty("user.language")+"_"+System.getProperty("user.country")){
|
switch(System.getProperty("user.language")+"_"+System.getProperty("user.country")){
|
||||||
case "en_US": bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_english
|
case "en_US": bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_english
|
||||||
break;
|
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;
|
break;
|
||||||
default: bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //default local
|
default: bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //default local
|
||||||
break;
|
break;
|
||||||
|
@ -16,11 +16,13 @@
|
|||||||
<?import javafx.scene.layout.HBox?>
|
<?import javafx.scene.layout.HBox?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
<?import javafx.scene.text.TextFlow?>
|
||||||
|
|
||||||
<AnchorPane fx:id="anpane" prefHeight="600.0" prefWidth="950.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainWindowController">
|
<AnchorPane fx:id="anpane" prefHeight="600.0" prefWidth="950.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainWindowController">
|
||||||
<children>
|
<children>
|
||||||
<TreeTableView fx:id="treeTableViewfilm" layoutX="14.0" layoutY="88.0" prefHeight="400.0" prefWidth="360.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="12.0" AnchorPane.rightAnchor="553.0" AnchorPane.topAnchor="88.0" />
|
<TreeTableView fx:id="treeTableViewfilm" layoutX="14.0" layoutY="88.0" prefHeight="400.0" prefWidth="360.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="12.0" AnchorPane.rightAnchor="553.0" AnchorPane.topAnchor="88.0" />
|
||||||
<JFXTextArea fx:id="ta1" layoutX="385.0" layoutY="42.0" maxWidth="503.0" minWidth="275.0" prefHeight="546.0" prefWidth="293.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="410.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0" />
|
<JFXTextArea fx:id="ta1" layoutX="385.0" layoutY="42.0" maxWidth="503.0" minWidth="275.0" prefHeight="546.0" prefWidth="293.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="410.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0" />
|
||||||
|
<TextFlow fx:id="textFlow" layoutX="496.0" layoutY="131.0" prefHeight="200.0" prefWidth="200.0" visible="false" AnchorPane.bottomAnchor="15.0" AnchorPane.leftAnchor="410.0" AnchorPane.rightAnchor="220.0" AnchorPane.topAnchor="44.0" />
|
||||||
<JFXButton fx:id="playbtn" contentDisplay="CENTER" layoutX="690.0" layoutY="363.0" onAction="#playbtnclicked" prefHeight="25.0" prefWidth="198.0" AnchorPane.bottomAnchor="212.0" AnchorPane.rightAnchor="12.0">
|
<JFXButton fx:id="playbtn" contentDisplay="CENTER" layoutX="690.0" layoutY="363.0" onAction="#playbtnclicked" prefHeight="25.0" prefWidth="198.0" AnchorPane.bottomAnchor="212.0" AnchorPane.rightAnchor="12.0">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="14.0" />
|
<Font name="System Bold" size="14.0" />
|
||||||
|
@ -32,19 +32,19 @@ import java.io.InputStreamReader;
|
|||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
|
import java.lang.Thread.State;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import org.apache.commons.lang3.SystemUtils;
|
import org.apache.commons.lang3.SystemUtils;
|
||||||
|
|
||||||
import com.jfoenix.controls.JFXButton;
|
import com.jfoenix.controls.JFXButton;
|
||||||
import com.jfoenix.controls.JFXColorPicker;
|
import com.jfoenix.controls.JFXColorPicker;
|
||||||
import com.jfoenix.controls.JFXDialog;
|
|
||||||
import com.jfoenix.controls.JFXSlider;
|
import com.jfoenix.controls.JFXSlider;
|
||||||
import com.jfoenix.controls.JFXTextArea;
|
import com.jfoenix.controls.JFXTextArea;
|
||||||
import com.jfoenix.controls.JFXTextField;
|
import com.jfoenix.controls.JFXTextField;
|
||||||
@ -66,11 +66,13 @@ import javafx.scene.control.ChoiceBox;
|
|||||||
import javafx.scene.control.ContextMenu;
|
import javafx.scene.control.ContextMenu;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.MenuItem;
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.ScrollPane;
|
||||||
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.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.SortType;
|
||||||
import javafx.scene.control.TreeTableView;
|
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;
|
||||||
@ -81,12 +83,11 @@ 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;
|
||||||
|
import javafx.scene.text.TextFlow;
|
||||||
import javafx.stage.DirectoryChooser;
|
import javafx.stage.DirectoryChooser;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
public class MainWindowController {
|
public class MainWindowController {
|
||||||
private ObservableList<String> locals = FXCollections.observableArrayList("english (en_US)", "deutsch (de_DE)");
|
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private AnchorPane anpane;
|
private AnchorPane anpane;
|
||||||
@FXML
|
@FXML
|
||||||
@ -104,6 +105,10 @@ public class MainWindowController {
|
|||||||
@FXML
|
@FXML
|
||||||
JFXTextArea ta1;
|
JFXTextArea ta1;
|
||||||
@FXML
|
@FXML
|
||||||
|
TextFlow textFlow;
|
||||||
|
@FXML
|
||||||
|
ScrollPane scrollPane;
|
||||||
|
@FXML
|
||||||
private JFXButton menubtn;
|
private JFXButton menubtn;
|
||||||
@FXML
|
@FXML
|
||||||
private JFXButton playbtn;
|
private JFXButton playbtn;
|
||||||
@ -140,12 +145,10 @@ public class MainWindowController {
|
|||||||
@FXML
|
@FXML
|
||||||
public JFXColorPicker mainColor;
|
public JFXColorPicker mainColor;
|
||||||
@FXML
|
@FXML
|
||||||
public ChoiceBox<String> cbLocal = new ChoiceBox<>(locals);
|
public ChoiceBox<String> cbLocal = new ChoiceBox<>();
|
||||||
@FXML
|
@FXML
|
||||||
public JFXSlider sliderFontSize;
|
public JFXSlider sliderFontSize;
|
||||||
@FXML
|
@FXML
|
||||||
private JFXDialog dialog = new JFXDialog();
|
|
||||||
@FXML
|
|
||||||
private Label versionlbl;
|
private Label versionlbl;
|
||||||
@FXML
|
@FXML
|
||||||
private Label sizelbl;
|
private Label sizelbl;
|
||||||
@ -155,7 +158,6 @@ public class MainWindowController {
|
|||||||
ImageView image1;
|
ImageView image1;
|
||||||
private ImageView imv1;
|
private ImageView imv1;
|
||||||
|
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
TreeItem<streamUiData> root = new TreeItem<>(new streamUiData(1, 1, 1, 5.0,"1", "filme","1", imv1));
|
TreeItem<streamUiData> root = new TreeItem<>(new streamUiData(1, 1, 1, 5.0,"1", "filme","1", imv1));
|
||||||
@FXML
|
@FXML
|
||||||
@ -186,9 +188,9 @@ public class MainWindowController {
|
|||||||
private boolean streamingSettingsTrue = false;
|
private boolean streamingSettingsTrue = false;
|
||||||
static boolean firststart = false;
|
static boolean firststart = false;
|
||||||
private int hashA = -2055934614;
|
private int hashA = -2055934614;
|
||||||
private String version = "0.4.99";
|
private String version = "0.5.0";
|
||||||
private String buildNumber = "114";
|
private String buildNumber = "117";
|
||||||
private String versionName = "plasma cow (pre Release)";
|
private String versionName = "plasma cow";
|
||||||
private String buildURL = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/buildNumber.txt";
|
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 dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
|
private File dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
|
||||||
@ -243,8 +245,9 @@ public class MainWindowController {
|
|||||||
ResourceBundle bundle;
|
ResourceBundle bundle;
|
||||||
|
|
||||||
private ObservableList<streamUiData> filterData = FXCollections.observableArrayList();
|
private ObservableList<streamUiData> filterData = FXCollections.observableArrayList();
|
||||||
ObservableList<streamUiData> newData = FXCollections.observableArrayList();
|
private ObservableList<String> locals = FXCollections.observableArrayList("english (en_US)", "deutsch (de_DE)");
|
||||||
ObservableList<streamUiData> streamData = FXCollections.observableArrayList();
|
ObservableList<streamUiData> newData = FXCollections.observableArrayList(); //TODO rename to localFilms
|
||||||
|
ObservableList<streamUiData> streamData = FXCollections.observableArrayList(); //TODO rename to streamingFilms
|
||||||
ObservableList<streamUiData> streamingData = FXCollections.observableArrayList();
|
ObservableList<streamUiData> streamingData = FXCollections.observableArrayList();
|
||||||
private ImageView menu_icon_black = new ImageView(new Image("recources/icons/menu_icon_black.png"));
|
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"));
|
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){
|
if(settingstrue == true){
|
||||||
settingsAnchor.setVisible(false);
|
settingsAnchor.setVisible(false);
|
||||||
setPath(tfPath.getText());
|
setPath(tfPath.getText());
|
||||||
saveSettings("a");
|
saveSettings();
|
||||||
settingstrue = false;
|
settingstrue = false;
|
||||||
}
|
}
|
||||||
if(streamingSettingsTrue == true){
|
if(streamingSettingsTrue == true){
|
||||||
@ -387,7 +390,7 @@ public class MainWindowController {
|
|||||||
}else{
|
}else{
|
||||||
settingsAnchor.setVisible(false);
|
settingsAnchor.setVisible(false);
|
||||||
setPath(tfPath.getText());
|
setPath(tfPath.getText());
|
||||||
saveSettings("b");
|
saveSettings();
|
||||||
settingstrue = false;
|
settingstrue = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -419,7 +422,7 @@ public class MainWindowController {
|
|||||||
setMode("local");
|
setMode("local");
|
||||||
switchBtn.setText("streaming");
|
switchBtn.setText("streaming");
|
||||||
}
|
}
|
||||||
saveSettings("c");
|
saveSettings();
|
||||||
root.getChildren().remove(0,root.getChildren().size());
|
root.getChildren().remove(0,root.getChildren().size());
|
||||||
addDataUI();
|
addDataUI();
|
||||||
settingsAnchor.setVisible(false);
|
settingsAnchor.setVisible(false);
|
||||||
@ -439,7 +442,7 @@ public class MainWindowController {
|
|||||||
@FXML
|
@FXML
|
||||||
private void tfPathAction(){
|
private void tfPathAction(){
|
||||||
setPath(tfPath.getText());
|
setPath(tfPath.getText());
|
||||||
saveSettings("d");
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
@ -449,7 +452,7 @@ public class MainWindowController {
|
|||||||
System.out.println("No Directory selected");
|
System.out.println("No Directory selected");
|
||||||
}else{
|
}else{
|
||||||
setPath(selectedFolder.getAbsolutePath());
|
setPath(selectedFolder.getAbsolutePath());
|
||||||
saveSettings("e");
|
saveSettings();
|
||||||
tfPath.setText(getPath());
|
tfPath.setText(getPath());
|
||||||
try {
|
try {
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||||
@ -469,7 +472,13 @@ public class MainWindowController {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void updateBtnAction(){
|
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
|
@FXML
|
||||||
@ -479,7 +488,7 @@ public class MainWindowController {
|
|||||||
}else{
|
}else{
|
||||||
setAutoUpdate("0");
|
setAutoUpdate("0");
|
||||||
}
|
}
|
||||||
saveSettings("f");
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
@ -494,7 +503,7 @@ public class MainWindowController {
|
|||||||
System.out.println("No Directory selected");
|
System.out.println("No Directory selected");
|
||||||
}else{
|
}else{
|
||||||
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
|
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
|
||||||
saveSettings("g");
|
saveSettings();
|
||||||
tfStreamingPath.setText(getStreamingPath());
|
tfStreamingPath.setText(getStreamingPath());
|
||||||
try {
|
try {
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
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
|
//"Main" Method called in Main.java main() when starting
|
||||||
public void setMain(Main main) {
|
void setMain(Main main) {
|
||||||
Updater = new updater(this);
|
Updater = new updater(this,buildURL, downloadLink, aktBuildNumber, buildNumber);
|
||||||
ApiQuery = new apiQuery(this);
|
ApiQuery = new apiQuery(this);
|
||||||
dbController = new DBController(this);
|
dbController = new DBController(this);
|
||||||
}
|
}
|
||||||
@ -572,17 +581,22 @@ public class MainWindowController {
|
|||||||
//Initializing the actions
|
//Initializing the actions
|
||||||
void initActions(){
|
void initActions(){
|
||||||
|
|
||||||
//TODO unterscheiden zwischen streaming und local
|
|
||||||
tfsearch.textProperty().addListener(new ChangeListener<String>() {
|
tfsearch.textProperty().addListener(new ChangeListener<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void changed(ObservableValue<? extends String> observable,String oldValue, String newValue) {
|
public void changed(ObservableValue<? extends String> observable,String oldValue, String newValue) {
|
||||||
int counter = newData.size();
|
ObservableList<streamUiData> helpData;
|
||||||
filterData.removeAll(filterData);
|
filterData.removeAll(filterData);
|
||||||
root.getChildren().remove(0,root.getChildren().size());
|
root.getChildren().remove(0,root.getChildren().size());
|
||||||
|
|
||||||
for(int i = 0; i < counter; i++){
|
if(mode.equals("local")){
|
||||||
if(newData.get(i).getTitel().toLowerCase().contains(tfsearch.getText().toLowerCase())){
|
helpData = newData;
|
||||||
filterData.add(newData.get(i)); //add data from newDaten to filteredData where title contains search input
|
}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);
|
local = local.substring(local.length()-6,local.length()-1);
|
||||||
setLocal(local);
|
setLocal(local);
|
||||||
setLocalUI();
|
setLocalUI();
|
||||||
saveSettings("h");
|
saveSettings();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -611,7 +625,7 @@ public class MainWindowController {
|
|||||||
public void changed(ObservableValue<? extends Number> ov,Number old_val, Number new_val) {
|
public void changed(ObservableValue<? extends Number> ov,Number old_val, Number new_val) {
|
||||||
setSize(sliderFontSize.getValue());
|
setSize(sliderFontSize.getValue());
|
||||||
ta1.setFont(Font.font("System", size));
|
ta1.setFont(Font.font("System", size));
|
||||||
saveSettings("i");
|
saveSettings();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -658,6 +672,58 @@ public class MainWindowController {
|
|||||||
refreshTable();
|
refreshTable();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO fix bug when sort by ASCENDING, wrong order
|
||||||
|
*/
|
||||||
|
columnRating.sortTypeProperty().addListener(new ChangeListener<SortType>() {
|
||||||
|
@Override
|
||||||
|
public void changed(ObservableValue<? extends SortType> paramObservableValue, SortType paramT1, SortType paramT2) {
|
||||||
|
System.out.println("NAME Clicked -- sortType = " + paramT1 + ", SortType=" + paramT2);
|
||||||
|
ArrayList<Integer> fav_true = new ArrayList<Integer>();
|
||||||
|
ArrayList<Integer> fav_false = new ArrayList<Integer>();
|
||||||
|
ObservableList<streamUiData> 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<helpData.size();i++){
|
||||||
|
if(helpData.get(i).getRating()==1.0){
|
||||||
|
fav_true.add(i);
|
||||||
|
}else{
|
||||||
|
fav_false.add(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(paramT2.toString().equals("DESCENDING")){
|
||||||
|
System.out.println("Absteigend");
|
||||||
|
for(int i = 0;i<fav_true.size();i++){
|
||||||
|
filterData.add(helpData.get(fav_true.get(i)));
|
||||||
|
}
|
||||||
|
for(int i = 0;i<fav_false.size();i++){
|
||||||
|
filterData.add(helpData.get(fav_false.get(i)));
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
for(int i = 0;i<fav_false.size();i++){
|
||||||
|
filterData.add(helpData.get(fav_false.get(i)));
|
||||||
|
}
|
||||||
|
for(int i = 0;i<fav_true.size();i++){
|
||||||
|
filterData.add(helpData.get(fav_true.get(i)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(filterData.size());
|
||||||
|
for(int i = 0; i < filterData.size(); i++){
|
||||||
|
// System.out.println(filterData.get(i).getTitel()+"; "+filterData.get(i).getRating());
|
||||||
|
root.getChildren().add(new TreeItem<streamUiData>(filterData.get(i))); //add filtered data to root node after search
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//initialize UI elements
|
//initialize UI elements
|
||||||
@ -671,11 +737,12 @@ public class MainWindowController {
|
|||||||
mainColor.setValue(Color.valueOf(getColor()));
|
mainColor.setValue(Color.valueOf(getColor()));
|
||||||
|
|
||||||
updateBtn.setFont(Font.font("System", 12));
|
updateBtn.setFont(Font.font("System", 12));
|
||||||
|
cbLocal.setItems(locals);
|
||||||
|
|
||||||
//TODO rework!
|
//TODO rework!
|
||||||
if(autoUpdate.equals("1")){
|
if(autoUpdate.equals("1")){
|
||||||
autoupdateBtn.setSelected(true);
|
autoupdateBtn.setSelected(true);
|
||||||
Updater.update(buildURL, downloadLink, aktBuildNumber, buildNumber);
|
Updater.start();
|
||||||
}else{
|
}else{
|
||||||
autoupdateBtn.setSelected(false);
|
autoupdateBtn.setSelected(false);
|
||||||
}
|
}
|
||||||
@ -834,7 +901,7 @@ public class MainWindowController {
|
|||||||
parallelTransition.play();
|
parallelTransition.play();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLocalUI(){
|
void setLocalUI(){
|
||||||
switch(getLocal()){
|
switch(getLocal()){
|
||||||
case "en_US":
|
case "en_US":
|
||||||
bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_english
|
bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_english
|
||||||
@ -898,7 +965,7 @@ public class MainWindowController {
|
|||||||
type = bundle.getString("type");
|
type = bundle.getString("type");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showErrorMsg(String msg, IOException exception){
|
void showErrorMsg(String msg, IOException exception){
|
||||||
Alert alert = new Alert(AlertType.ERROR);
|
Alert alert = new Alert(AlertType.ERROR);
|
||||||
alert.setTitle("Error");
|
alert.setTitle("Error");
|
||||||
alert.setHeaderText("");
|
alert.setHeaderText("");
|
||||||
@ -932,8 +999,7 @@ public class MainWindowController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//saves the Settings
|
//saves the Settings
|
||||||
public void saveSettings(String a){
|
public void saveSettings(){
|
||||||
System.out.println("saving, "+a);
|
|
||||||
OutputStream outputStream; //new output-stream
|
OutputStream outputStream; //new output-stream
|
||||||
try {
|
try {
|
||||||
props.setProperty("path", getPath()); //writes path into property
|
props.setProperty("path", getPath()); //writes path into property
|
||||||
@ -993,7 +1059,7 @@ public class MainWindowController {
|
|||||||
StringBuilder sb = new StringBuilder(input);
|
StringBuilder sb = new StringBuilder(input);
|
||||||
sb.delete(0, 2);
|
sb.delete(0, 2);
|
||||||
this.color = sb.toString();
|
this.color = sb.toString();
|
||||||
saveSettings("j");
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
//getter and setter
|
//getter and setter
|
||||||
|
@ -14,7 +14,13 @@ import java.util.Scanner;
|
|||||||
import com.eclipsesource.json.Json;
|
import com.eclipsesource.json.Json;
|
||||||
import com.eclipsesource.json.JsonObject;
|
import com.eclipsesource.json.JsonObject;
|
||||||
|
|
||||||
|
import javafx.collections.ObservableList;
|
||||||
|
import javafx.scene.Node;
|
||||||
import javafx.scene.image.Image;
|
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{
|
public class apiQuery{
|
||||||
|
|
||||||
@ -24,6 +30,8 @@ public class apiQuery{
|
|||||||
|
|
||||||
private MainWindowController mainWindowController;
|
private MainWindowController mainWindowController;
|
||||||
private Image im;
|
private Image im;
|
||||||
|
private int fontSize = 20;
|
||||||
|
private String fontFamily = "System";
|
||||||
|
|
||||||
@SuppressWarnings("deprecation") //TODO
|
@SuppressWarnings("deprecation") //TODO
|
||||||
void startQuery(String input){
|
void startQuery(String input){
|
||||||
@ -78,7 +86,7 @@ public class apiQuery{
|
|||||||
String languageV = object.getString("Language", "");
|
String languageV = object.getString("Language", "");
|
||||||
String countryV = object.getString("Country", "");
|
String countryV = object.getString("Country", "");
|
||||||
String awardsV = object.getString("Awards", "");
|
String awardsV = object.getString("Awards", "");
|
||||||
String posterURL = object.getString("Poster", "");
|
|
||||||
String metascoreV = object.getString("Metascore", "");
|
String metascoreV = object.getString("Metascore", "");
|
||||||
String imdbRatingV = object.getString("imdbRating", "");
|
String imdbRatingV = object.getString("imdbRating", "");
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@ -86,15 +94,56 @@ public class apiQuery{
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
String imdbIDV = object.getString("imdbID", "");
|
String imdbIDV = object.getString("imdbID", "");
|
||||||
String typeV = object.getString("Type", "");
|
String typeV = object.getString("Type", "");
|
||||||
|
|
||||||
|
String posterURL = object.getString("Poster", "");
|
||||||
String response = object.getString("Response", "");
|
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")){
|
if(response.equals("False")){
|
||||||
mainWindowController.ta1.appendText(mainWindowController.noFilmFound);
|
mainWindowController.ta1.appendText(mainWindowController.noFilmFound);
|
||||||
im = new Image("recources/icons/close_black_2048x2048.png");
|
im = new Image("recources/icons/close_black_2048x2048.png");
|
||||||
mainWindowController.image1.setImage(im);
|
mainWindowController.image1.setImage(im);
|
||||||
}else{
|
}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.title+": "+titelV+"\n");
|
||||||
mainWindowController.ta1.appendText(mainWindowController.year+": "+ yearV+"\n");
|
mainWindowController.ta1.appendText(mainWindowController.year+": "+ yearV+"\n");
|
||||||
mainWindowController.ta1.appendText(mainWindowController.rating+": "+ratedV+"\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.metascore+": "+metascoreV+"\n");
|
||||||
mainWindowController.ta1.appendText(mainWindowController.imdbRating+": "+imdbRatingV+"\n");
|
mainWindowController.ta1.appendText(mainWindowController.imdbRating+": "+imdbRatingV+"\n");
|
||||||
mainWindowController.ta1.appendText(mainWindowController.type+": "+typeV+"\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<Node> 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")){
|
if(posterURL.equals("N/A")){
|
||||||
im = new Image("recources/icons/close_black_2048x2048.png");
|
im = new Image("recources/icons/close_black_2048x2048.png");
|
||||||
|
@ -16,7 +16,7 @@ public class streamUiData {
|
|||||||
private final IntegerProperty episode = new SimpleIntegerProperty();
|
private final IntegerProperty episode = new SimpleIntegerProperty();
|
||||||
private final DoubleProperty rating = new SimpleDoubleProperty();
|
private final DoubleProperty rating = new SimpleDoubleProperty();
|
||||||
private final StringProperty resolution = new SimpleStringProperty();
|
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 StringProperty streamUrl = new SimpleStringProperty();
|
||||||
private final SimpleObjectProperty<ImageView> image = new SimpleObjectProperty<>();
|
private final SimpleObjectProperty<ImageView> image = new SimpleObjectProperty<>();
|
||||||
|
|
||||||
|
@ -12,15 +12,23 @@ import java.net.URL;
|
|||||||
import java.nio.channels.Channels;
|
import java.nio.channels.Channels;
|
||||||
import java.nio.channels.ReadableByteChannel;
|
import java.nio.channels.ReadableByteChannel;
|
||||||
|
|
||||||
public class updater {
|
public class updater extends Thread{
|
||||||
|
|
||||||
public updater(MainWindowController m){
|
|
||||||
mainWindowController=m;
|
|
||||||
}
|
|
||||||
|
|
||||||
private MainWindowController mainWindowController;
|
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 ...");
|
System.out.println("check for updates ...");
|
||||||
try {
|
try {
|
||||||
URL url = new URL(buildURL); //URL der Datei mit aktueller Versionsnummer
|
URL url = new URL(buildURL); //URL der Datei mit aktueller Versionsnummer
|
||||||
@ -37,27 +45,27 @@ public class updater {
|
|||||||
int iaktVersion = Integer.parseInt(aktBuildNumber.replace(".", ""));
|
int iaktVersion = Integer.parseInt(aktBuildNumber.replace(".", ""));
|
||||||
|
|
||||||
if(iversion >= iaktVersion){
|
if(iversion >= iaktVersion){
|
||||||
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnNotavail"));
|
// mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnNotavail"));
|
||||||
System.out.println("no update available");
|
System.out.println("no update available");
|
||||||
}else{
|
}else{
|
||||||
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail"));
|
// mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail"));
|
||||||
System.out.println("update available");
|
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()));
|
||||||
String updateDataURL = in.readLine();
|
String updateDataURL = in.readLine();
|
||||||
website = new URL(updateDataURL); //Update URL
|
website = new URL(updateDataURL); //Update URL
|
||||||
ReadableByteChannel rbc = Channels.newChannel(website.openStream()); //open new Stream/Channel
|
ReadableByteChannel rbc = Channels.newChannel(website.openStream()); //open new Stream/Channel
|
||||||
FileOutputStream fos = new FileOutputStream("ProjectHomeFlix.jar"); //nea fileoutputstram for ProjectHomeFLix.jar
|
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.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); //gets file from 0 to max size
|
||||||
fos.close(); //close fos (extrem wichtig!)
|
fos.close(); //close fos (extrem wichtig!)
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); //finishes itself
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
//in case there is an error
|
//in case there is an error
|
||||||
mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e);
|
mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
104
|
117
|
||||||
|
Loading…
Reference in New Issue
Block a user