parent
46cd28a642
commit
fdb39ea2f5
|
@ -37,6 +37,7 @@ import java.util.Locale;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
@ -55,12 +56,8 @@ import com.jfoenix.transitions.hamburger.HamburgerBackArrowBasicTransition;
|
||||||
|
|
||||||
import javafx.animation.TranslateTransition;
|
import javafx.animation.TranslateTransition;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.value.ChangeListener;
|
|
||||||
import javafx.beans.value.ObservableValue;
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.event.ActionEvent;
|
|
||||||
import javafx.event.EventHandler;
|
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.ChoiceBox;
|
import javafx.scene.control.ChoiceBox;
|
||||||
|
@ -246,8 +243,8 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the tables (treeTableViewfilm and sourcesTable)
|
* Initialize the tables (treeTableViewfilm and sourcesTable) only needed for
|
||||||
* only needed for Tabel-Mode
|
* Tabel-Mode
|
||||||
*/
|
*/
|
||||||
private void initTabel() {
|
private void initTabel() {
|
||||||
|
|
||||||
|
@ -283,7 +280,6 @@ public class MainWindowController {
|
||||||
burgerTask.setRate(-1.0);
|
burgerTask.setRate(-1.0);
|
||||||
burgerTask.play();
|
burgerTask.play();
|
||||||
menuTrue = false;
|
menuTrue = false;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
sideMenuSlideIn();
|
sideMenuSlideIn();
|
||||||
burgerTask.setRate(1.0);
|
burgerTask.setRate(1.0);
|
||||||
|
@ -295,91 +291,62 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
languageChoisBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
|
languageChoisBox.getSelectionModel().selectedIndexProperty().addListener((e, oldValue, newValue) -> {
|
||||||
@Override
|
String local = languageChoisBox.getItems().get((int) newValue).toString();
|
||||||
public void changed(ObservableValue<? extends Number> ov, Number value, Number new_value) {
|
|
||||||
String local = languageChoisBox.getItems().get((int) new_value).toString();
|
|
||||||
local = local.substring(local.length() - 6, local.length() - 1); // reading only en_US from English (en_US)
|
local = local.substring(local.length() - 6, local.length() - 1); // reading only en_US from English (en_US)
|
||||||
XMLController.setUsrLocal(local);
|
XMLController.setUsrLocal(local);
|
||||||
setLocalUI();
|
setLocalUI();
|
||||||
xmlController.saveSettings();
|
xmlController.saveSettings();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
branchChoisBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
|
branchChoisBox.getSelectionModel().selectedIndexProperty().addListener((e, oldValue, newValue) -> {
|
||||||
@Override
|
if (branchChoisBox.getItems().get((int) newValue).toString() == "beta") {
|
||||||
public void changed(ObservableValue<? extends Number> ov, Number value, Number new_value) {
|
|
||||||
if (branchChoisBox.getItems().get((int) new_value).toString() == "beta") {
|
|
||||||
XMLController.setUseBeta(true);
|
XMLController.setUseBeta(true);
|
||||||
} else {
|
} else {
|
||||||
XMLController.setUseBeta(false);
|
XMLController.setUseBeta(false);
|
||||||
}
|
}
|
||||||
xmlController.saveSettings();
|
xmlController.saveSettings();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
fontsizeSlider.valueProperty().addListener(new ChangeListener<Number>() {
|
fontsizeSlider.valueProperty().addListener(e -> {
|
||||||
@Override
|
|
||||||
public void changed(ObservableValue<? extends Number> ov, Number old_val, Number new_val) {
|
|
||||||
XMLController.setFontSize(fontsizeSlider.getValue());
|
XMLController.setFontSize(fontsizeSlider.getValue());
|
||||||
if (!getCurrentTitle().isEmpty()) {
|
if (!getCurrentTitle().isEmpty()) {
|
||||||
setSelectedFilmInfo(dbController.readCache(getCurrentStreamUrl()));
|
setSelectedFilmInfo(dbController.readCache(getCurrentStreamUrl()));
|
||||||
}
|
}
|
||||||
xmlController.saveSettings();
|
xmlController.saveSettings();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Table-Mode actions
|
// Table-Mode actions
|
||||||
searchTextField.textProperty().addListener(new ChangeListener<String>() {
|
searchTextField.textProperty().addListener((e, oldValue, newValue) -> {
|
||||||
@Override
|
|
||||||
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
|
|
||||||
ObservableList<FilmTabelDataType> helpData;
|
|
||||||
filterData.clear();
|
|
||||||
filmRoot.getChildren().clear();
|
filmRoot.getChildren().clear();
|
||||||
|
filterData.clear();
|
||||||
|
filterData = filmsList.stream()
|
||||||
|
.filter(x -> x.getTitle().toLowerCase().contains(searchTextField.getText().toLowerCase()))
|
||||||
|
.collect(Collectors.toCollection(FXCollections::observableArrayList));
|
||||||
|
|
||||||
helpData = filmsList;
|
addFilmsToTable(filterData);
|
||||||
|
|
||||||
for (int i = 0; i < helpData.size(); i++) {
|
|
||||||
if (helpData.get(i).getTitle().toLowerCase().contains(searchTextField.getText().toLowerCase())) {
|
|
||||||
filterData.add(helpData.get(i)); // add data from newDaten to filteredData where title contains search input
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < filterData.size(); i++) {
|
|
||||||
filmRoot.getChildren().add(new TreeItem<FilmTabelDataType>(filterData.get(i))); // add filtered data to root node after search
|
|
||||||
}
|
|
||||||
if (searchTextField.getText().hashCode() == hashA) {
|
if (searchTextField.getText().hashCode() == hashA) {
|
||||||
XMLController.setColor("000000");
|
XMLController.setColor("000000");
|
||||||
colorPicker.setValue(new Color(0, 0, 0, 1));
|
colorPicker.setValue(new Color(0, 0, 0, 1));
|
||||||
applyColor();
|
applyColor();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
like.setOnAction(new EventHandler<ActionEvent>() {
|
like.setOnAction(e -> {
|
||||||
@Override
|
|
||||||
public void handle(ActionEvent event) {
|
|
||||||
dbController.like(getCurrentStreamUrl());
|
dbController.like(getCurrentStreamUrl());
|
||||||
filmsList.set(indexList, dbController.getDatabaseFilm(getCurrentStreamUrl()));
|
filmsList.set(indexList, dbController.getDatabaseFilm(getCurrentStreamUrl()));
|
||||||
refreshTableElement();
|
refreshTableElement();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
dislike.setOnAction(new EventHandler<ActionEvent>() {
|
dislike.setOnAction(e -> {
|
||||||
@Override
|
|
||||||
public void handle(ActionEvent event) {
|
|
||||||
dbController.dislike(getCurrentStreamUrl());
|
dbController.dislike(getCurrentStreamUrl());
|
||||||
filmsList.set(indexList, dbController.getDatabaseFilm(getCurrentStreamUrl()));
|
filmsList.set(indexList, dbController.getDatabaseFilm(getCurrentStreamUrl()));
|
||||||
refreshTableElement();
|
refreshTableElement();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
// FIXME fix bug when sort by ASCENDING, wrong order
|
||||||
* FIXME fix bug when sort by ASCENDING, wrong order
|
columnFavorite.sortTypeProperty().addListener((e, paramT1, paramT2) -> {
|
||||||
*/
|
|
||||||
columnFavorite.sortTypeProperty().addListener(new ChangeListener<SortType>() {
|
|
||||||
@Override
|
|
||||||
public void changed(ObservableValue<? extends SortType> paramObservableValue, SortType paramT1, SortType paramT2) {
|
|
||||||
filmRoot.getChildren().clear();
|
filmRoot.getChildren().clear();
|
||||||
filterData.clear();
|
filterData.clear();
|
||||||
|
|
||||||
|
@ -404,13 +371,10 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
addFilmsToTable(filterData);
|
addFilmsToTable(filterData);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Change-listener for treeTableViewfilm
|
// Change-listener for treeTableViewfilm
|
||||||
filmsTreeTable.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Object>() {
|
filmsTreeTable.getSelectionModel().selectedItemProperty().addListener((e, paramT1, paramT2) -> {
|
||||||
@Override
|
|
||||||
public void changed(ObservableValue<?> observable, Object oldVal, Object newVal) {
|
|
||||||
if (filmsTreeTable.getSelectionModel().getSelectedItem() == null) {
|
if (filmsTreeTable.getSelectionModel().getSelectedItem() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -426,17 +390,12 @@ public class MainWindowController {
|
||||||
last = indexTable - 1;
|
last = indexTable - 1;
|
||||||
next = indexTable + 1;
|
next = indexTable + 1;
|
||||||
|
|
||||||
|
if ((currentTableFilm.getCached().isAfter(lastValidCache)) && dbController.searchCacheByURL(getCurrentStreamUrl())) {
|
||||||
if ((currentTableFilm.getCached().isAfter(lastValidCache) )|| dbController.searchCacheByURL(getCurrentStreamUrl())) {
|
|
||||||
LOGGER.info("loading from cache: " + getCurrentTitle());
|
LOGGER.info("loading from cache: " + getCurrentTitle());
|
||||||
setSelectedFilmInfo(dbController.readCache(getCurrentStreamUrl()));
|
setSelectedFilmInfo(dbController.readCache(getCurrentStreamUrl()));
|
||||||
// System.out.println("cache date is: " + currentTableFilm.getCached().toString());
|
|
||||||
} else {
|
} else {
|
||||||
// System.out.println("either not cached or to old!");
|
|
||||||
// System.out.println("cache date is: " + currentTableFilm.getCached().toString());
|
|
||||||
// this is not perfect!
|
// this is not perfect!
|
||||||
new Thread(new Runnable() {
|
new Thread(() -> {
|
||||||
public void run() {
|
|
||||||
Thread omdbAPIThread = new Thread(new OMDbAPIController(dbController, currentTableFilm, XMLController.getOmdbAPIKey()));
|
Thread omdbAPIThread = new Thread(new OMDbAPIController(dbController, currentTableFilm, XMLController.getOmdbAPIKey()));
|
||||||
omdbAPIThread.setName("OMDbAPI");
|
omdbAPIThread.setName("OMDbAPI");
|
||||||
omdbAPIThread.start();
|
omdbAPIThread.start();
|
||||||
|
@ -444,18 +403,16 @@ public class MainWindowController {
|
||||||
synchronized (omdbAPIThread) {
|
synchronized (omdbAPIThread) {
|
||||||
try {
|
try {
|
||||||
omdbAPIThread.wait();
|
omdbAPIThread.wait();
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e1) {
|
||||||
LOGGER.error(e);
|
LOGGER.error(e1);
|
||||||
}
|
}
|
||||||
// update the GUI for the selected film
|
// update the GUI for the selected film
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
setSelectedFilmInfo(dbController.readCache(getCurrentStreamUrl()));
|
setSelectedFilmInfo(dbController.readCache(getCurrentStreamUrl()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Poster-Mode actions
|
// Poster-Mode actions
|
||||||
|
@ -491,8 +448,7 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
if (output.contains("which: no vlc") || output == "") {
|
if (output.contains("which: no vlc") || output == "") {
|
||||||
JFXInfoAlert vlcInfoAlert = new JFXInfoAlert("Info",
|
JFXInfoAlert vlcInfoAlert = new JFXInfoAlert("Info",
|
||||||
XMLController.getLocalBundle().getString("vlcNotInstalled"),
|
XMLController.getLocalBundle().getString("vlcNotInstalled"), btnStyle, primaryStage);
|
||||||
btnStyle, primaryStage);
|
|
||||||
vlcInfoAlert.showAndWait();
|
vlcInfoAlert.showAndWait();
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
|
@ -529,20 +485,20 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void returnBtnclicked(){
|
private void returnBtnclicked() {
|
||||||
filmsTreeTable.getSelectionModel().select(last);
|
filmsTreeTable.getSelectionModel().select(last);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void forwardBtnclicked(){
|
private void forwardBtnclicked() {
|
||||||
filmsTreeTable.getSelectionModel().select(next);
|
filmsTreeTable.getSelectionModel().select(next);
|
||||||
}
|
}
|
||||||
|
|
||||||
// general fxml actions
|
// general fxml actions
|
||||||
@FXML
|
@FXML
|
||||||
private void aboutBtnAction() {
|
private void aboutBtnAction() {
|
||||||
String bodyText = "Project HomeFlix \nVersion: " + version + " (Build: " + buildNumber + ") \""
|
String bodyText = "Project HomeFlix \nVersion: " + version + " (Build: " + buildNumber + ") \"" + versionName
|
||||||
+ versionName + "\" \n" + XMLController.getLocalBundle().getString("infoText");
|
+ "\" \n" + XMLController.getLocalBundle().getString("infoText");
|
||||||
JFXInfoAlert infoAlert = new JFXInfoAlert("Project HomeFlix", bodyText, btnStyle, primaryStage);
|
JFXInfoAlert infoAlert = new JFXInfoAlert("Project HomeFlix", bodyText, btnStyle, primaryStage);
|
||||||
infoAlert.showAndWait();
|
infoAlert.showAndWait();
|
||||||
}
|
}
|
||||||
|
@ -557,7 +513,7 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void addDirectoryBtnAction(){
|
private void addDirectoryBtnAction() {
|
||||||
DirectoryChooser directoryChooser = new DirectoryChooser();
|
DirectoryChooser directoryChooser = new DirectoryChooser();
|
||||||
directoryChooser.setTitle(XMLController.getLocalBundle().getString("addDirectory"));
|
directoryChooser.setTitle(XMLController.getLocalBundle().getString("addDirectory"));
|
||||||
File selectedFolder = directoryChooser.showDialog(primaryStage);
|
File selectedFolder = directoryChooser.showDialog(primaryStage);
|
||||||
|
@ -569,7 +525,7 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void addStreamSourceBtnAction(){
|
private void addStreamSourceBtnAction() {
|
||||||
FileChooser fileChooser = new FileChooser();
|
FileChooser fileChooser = new FileChooser();
|
||||||
fileChooser.setTitle(XMLController.getLocalBundle().getString("addStreamSource"));
|
fileChooser.setTitle(XMLController.getLocalBundle().getString("addStreamSource"));
|
||||||
File selectedFile = fileChooser.showOpenDialog(primaryStage);
|
File selectedFile = fileChooser.showOpenDialog(primaryStage);
|
||||||
|
@ -602,7 +558,7 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void autoplayToggleBtnAction(){
|
private void autoplayToggleBtnAction() {
|
||||||
XMLController.setAutoplay(!XMLController.isAutoplay());
|
XMLController.setAutoplay(!XMLController.isAutoplay());
|
||||||
xmlController.saveSettings();
|
xmlController.saveSettings();
|
||||||
}
|
}
|
||||||
|
@ -613,8 +569,8 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* refresh all films in filmsList and in filmsTable
|
* refresh all films in filmsList and in filmsTable clear the FilmsList and
|
||||||
* clear the FilmsList and FilmRoot children, then update the database
|
* FilmRoot children, then update the database
|
||||||
*/
|
*/
|
||||||
private void refreshAllFilms() {
|
private void refreshAllFilms() {
|
||||||
filmsList.clear();
|
filmsList.clear();
|
||||||
|
@ -625,7 +581,9 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add data from films-list to films-table
|
* TODO rework! add data from a ObservableList to the films-table
|
||||||
|
*
|
||||||
|
* @param elementsList a list of elements you want to add
|
||||||
*/
|
*/
|
||||||
public void addFilmsToTable(ObservableList<FilmTabelDataType> elementsList) {
|
public void addFilmsToTable(ObservableList<FilmTabelDataType> elementsList) {
|
||||||
|
|
||||||
|
@ -634,22 +592,40 @@ public class MainWindowController {
|
||||||
// only if the entry contains a season and a episode it's a valid series
|
// only if the entry contains a season and a episode it's a valid series
|
||||||
if (!element.getSeason().isEmpty() && !element.getEpisode().isEmpty()) {
|
if (!element.getSeason().isEmpty() && !element.getEpisode().isEmpty()) {
|
||||||
|
|
||||||
// check if there is a series node to add the item
|
// if there is any node check if it's the root node to the episode
|
||||||
|
// else there is no node at all so we must create a new
|
||||||
|
if (filmRoot.getChildren().size() > 0) {
|
||||||
for (int i = 0; i < filmRoot.getChildren().size(); i++) {
|
for (int i = 0; i < filmRoot.getChildren().size(); i++) {
|
||||||
|
// if a root node exists, add element
|
||||||
|
// else create a new root node and add the element (if rootNode is the last
|
||||||
|
// node) (works since we edit the element!)
|
||||||
if (filmRoot.getChildren().get(i).getValue().getTitle().equals(element.getTitle())) {
|
if (filmRoot.getChildren().get(i).getValue().getTitle().equals(element.getTitle())) {
|
||||||
// if a root node exists, add element as child
|
TreeItem<FilmTabelDataType> episodeNode = new TreeItem<>(
|
||||||
TreeItem<FilmTabelDataType> episodeNode = new TreeItem<>(new FilmTabelDataType(
|
new FilmTabelDataType(element.getStreamUrl(), element.getTitle(),
|
||||||
element.getStreamUrl(), element.getTitle(), element.getSeason(), element.getEpisode(),
|
element.getSeason(), element.getEpisode(), element.getFavorite(),
|
||||||
element.getFavorite(), element.getCached(), element.getImage()));
|
element.getCached(), element.getImage()));
|
||||||
filmRoot.getChildren().get(i).getChildren().add(episodeNode);
|
filmRoot.getChildren().get(i).getChildren().add(episodeNode);
|
||||||
} else if (filmRoot.getChildren().get(i).nextSibling() == null) {
|
} else if (filmRoot.getChildren().get(i).nextSibling() == null) {
|
||||||
// if no root node exists, create one and add element as child
|
TreeItem<FilmTabelDataType> seriesRootNode = new TreeItem<>(
|
||||||
TreeItem<FilmTabelDataType> seriesRootNode = new TreeItem<>(new FilmTabelDataType(
|
new FilmTabelDataType(element.getTitle() + "_rootNode", element.getTitle(), "", "",
|
||||||
element.getTitle() + "_rootNode", element.getTitle(), "", "", element.getFavorite(),
|
element.getFavorite(), element.getCached(), element.getImage()));
|
||||||
element.getCached() , element.getImage()));
|
|
||||||
filmRoot.getChildren().add(seriesRootNode);
|
filmRoot.getChildren().add(seriesRootNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// add new root node
|
||||||
|
TreeItem<FilmTabelDataType> seriesRootNode = new TreeItem<>(
|
||||||
|
new FilmTabelDataType(element.getTitle() + "_rootNode", element.getTitle(), "", "",
|
||||||
|
element.getFavorite(), element.getCached(), element.getImage()));
|
||||||
|
filmRoot.getChildren().add(seriesRootNode);
|
||||||
|
|
||||||
|
// add new element
|
||||||
|
TreeItem<FilmTabelDataType> episodeNode = new TreeItem<>(new FilmTabelDataType(
|
||||||
|
element.getStreamUrl(), element.getTitle(), element.getSeason(), element.getEpisode(),
|
||||||
|
element.getFavorite(), element.getCached(), element.getImage()));
|
||||||
|
filmRoot.getChildren().get(0).getChildren().add(episodeNode);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// if season and episode are empty, we can assume the object is a film
|
// if season and episode are empty, we can assume the object is a film
|
||||||
filmRoot.getChildren().add(new TreeItem<FilmTabelDataType>(element));
|
filmRoot.getChildren().add(new TreeItem<FilmTabelDataType>(element));
|
||||||
|
@ -659,18 +635,18 @@ public class MainWindowController {
|
||||||
|
|
||||||
// add a all elements of sourcesList to the sources table on the settings pane
|
// add a all elements of sourcesList to the sources table on the settings pane
|
||||||
public void addSourceToTable() {
|
public void addSourceToTable() {
|
||||||
for (SourceDataType source: sourcesList) {
|
for (SourceDataType source : sourcesList) {
|
||||||
sourceRoot.getChildren().add(new TreeItem<SourceDataType>(source)); // add data to root-node
|
sourceRoot.getChildren().add(new TreeItem<SourceDataType>(source)); // add data to root-node
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add a source to the newsources list
|
* add a source to the newsources list
|
||||||
|
*
|
||||||
* @param path to the source
|
* @param path to the source
|
||||||
* @param mode of the source (local or streaming)
|
* @param mode of the source (local or streaming)
|
||||||
*/
|
*/
|
||||||
public void addSource(String path, String mode) {
|
public void addSource(String path, String mode) {
|
||||||
JsonObject source = null;
|
|
||||||
JsonArray newsources = null;
|
JsonArray newsources = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -683,7 +659,7 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
// add new source
|
// add new source
|
||||||
source = Json.object().add("path", path).add("mode", mode);
|
JsonObject source = Json.object().add("path", path).add("mode", mode);
|
||||||
newsources.add(source);
|
newsources.add(source);
|
||||||
Writer writer = new FileWriter(XMLController.getDirHomeFlix() + "/sources.json");
|
Writer writer = new FileWriter(XMLController.getDirHomeFlix() + "/sources.json");
|
||||||
newsources.writeTo(writer);
|
newsources.writeTo(writer);
|
||||||
|
@ -696,15 +672,13 @@ public class MainWindowController {
|
||||||
getSourcesList().clear();
|
getSourcesList().clear();
|
||||||
sourceRoot.getChildren().clear();
|
sourceRoot.getChildren().clear();
|
||||||
|
|
||||||
// clear the FilmsList and FilmRoot children, then update the database
|
refreshAllFilms(); // refresh the FilmsList
|
||||||
refreshAllFilms();
|
|
||||||
|
|
||||||
checkAllPosters(); // check if there is anything to cache
|
checkAllPosters(); // check if there is anything to cache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the color of the GUI-Elements
|
* set the color of the GUI-Elements if usedColor is less than checkColor set
|
||||||
* if usedColor is less than checkColor set text fill white, else black
|
* text fill white, else black
|
||||||
*/
|
*/
|
||||||
private void applyColor() {
|
private void applyColor() {
|
||||||
String menuBtnStyle;
|
String menuBtnStyle;
|
||||||
|
@ -712,7 +686,8 @@ public class MainWindowController {
|
||||||
BigInteger checkColor = new BigInteger("78909cff", 16);
|
BigInteger checkColor = new BigInteger("78909cff", 16);
|
||||||
|
|
||||||
if (usedColor.compareTo(checkColor) == -1) {
|
if (usedColor.compareTo(checkColor) == -1) {
|
||||||
btnStyle = "-fx-button-type: RAISED; -fx-background-color: #" + XMLController.getColor() + "; -fx-text-fill: WHITE;";
|
btnStyle = "-fx-button-type: RAISED; -fx-background-color: #" + XMLController.getColor()
|
||||||
|
+ "; -fx-text-fill: WHITE;";
|
||||||
menuBtnStyle = "-fx-text-fill: WHITE;";
|
menuBtnStyle = "-fx-text-fill: WHITE;";
|
||||||
|
|
||||||
playbtn.setGraphic(new ImageView(new Image("icons/ic_play_arrow_white_18dp_1x.png")));
|
playbtn.setGraphic(new ImageView(new Image("icons/ic_play_arrow_white_18dp_1x.png")));
|
||||||
|
@ -722,7 +697,8 @@ public class MainWindowController {
|
||||||
menuHam.getStyleClass().clear();
|
menuHam.getStyleClass().clear();
|
||||||
menuHam.getStyleClass().add("jfx-hamburgerW");
|
menuHam.getStyleClass().add("jfx-hamburgerW");
|
||||||
} else {
|
} else {
|
||||||
btnStyle = "-fx-button-type: RAISED; -fx-background-color: #" + XMLController.getColor() + "; -fx-text-fill: BLACK;";
|
btnStyle = "-fx-button-type: RAISED; -fx-background-color: #" + XMLController.getColor()
|
||||||
|
+ "; -fx-text-fill: BLACK;";
|
||||||
menuBtnStyle = "-fx-text-fill: BLACK;";
|
menuBtnStyle = "-fx-text-fill: BLACK;";
|
||||||
|
|
||||||
playbtn.setGraphic(new ImageView(new Image("icons/ic_play_arrow_black_18dp_1x.png")));
|
playbtn.setGraphic(new ImageView(new Image("icons/ic_play_arrow_black_18dp_1x.png")));
|
||||||
|
@ -845,10 +821,10 @@ public class MainWindowController {
|
||||||
textFlow.clear();
|
textFlow.clear();
|
||||||
|
|
||||||
// TODO rework
|
// TODO rework
|
||||||
for(int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
if (cacheData[i] != null && (i == 5 || i == 6) && cacheData[5].length() == 0) {
|
if (cacheData[i] != null && (i == 5 || i == 6) && cacheData[5].length() == 0) {
|
||||||
// do nothing
|
// do nothing
|
||||||
} else if(cacheData[i] != null){
|
} else if (cacheData[i] != null) {
|
||||||
textFlow.addAll(nameText[i], new Text(cacheData[i] + "\n"));
|
textFlow.addAll(nameText[i], new Text(cacheData[i] + "\n"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -886,8 +862,9 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* check if a film is supported by the HomeFlixPlayer or not
|
* check if a film is supported by the HomeFlixPlayer or not this is the case if
|
||||||
* this is the case if the mime type is mp4
|
* the mime type is mp4
|
||||||
|
*
|
||||||
* @param entry the film you want to check
|
* @param entry the film you want to check
|
||||||
* @return true if so, false if not
|
* @return true if so, false if not
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue