Browse Source

Settings fxml structure cleanup & Updater supports beta channel

* the updater now supports a beta channel
* the settings Pane was reorganized for better maintenance
* code cleanup
pull/22/head
Jannik 4 years ago
parent
commit
a3efefe43f
  1. 216
      src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java
  2. 126
      src/main/resources/fxml/MainWindow.fxml
  3. 13
      src/main/resources/locals/HomeFlix-Local_de_DE.properties
  4. 13
      src/main/resources/locals/HomeFlix-Local_en_US.properties

216
src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java

@ -96,76 +96,121 @@ import kellerkinder.HomeFlix.controller.apiQuery;
import kellerkinder.HomeFlix.datatypes.tableData;
public class MainWindowController {
@FXML
private AnchorPane anpane;
@FXML
private AnchorPane settingsAnchor;
private AnchorPane mainAnchorPane;
@FXML
private AnchorPane streamingSettingsAnchor;
private AnchorPane streamingSettingsAnchorPane;
@FXML
private ScrollPane settingsScrollPane;
@FXML
private ScrollPane textScrollPane;
@FXML
private HBox topHBox;
@FXML
private VBox sideMenuVBox;
@FXML
private TreeTableView<tableData> treeTableViewfilm;
@FXML
private TableView<tableData> tableViewStreamingdata;
@FXML
private TextFlow textFlow;
@FXML
ScrollPane scrollPane;
@FXML
private JFXButton playbtn;
@FXML
private JFXButton openfolderbtn;
@FXML
private JFXButton returnBtn;
@FXML
private JFXButton forwardBtn;
@FXML
private JFXButton infoBtn;
@FXML
private JFXButton settingsBtn;
@FXML
private JFXButton streamingSettingsBtn;
@FXML
private JFXButton switchBtn;
@FXML
private JFXButton debugBtn;
@FXML
public JFXButton updateBtn;
@FXML
private JFXButton directoryBtn;
@FXML
private JFXButton streamingDirectoryBtn;
@FXML
private JFXHamburger menuHam;
@FXML
private JFXToggleButton autoUpdateToggleBtn;
@FXML
public JFXTextField tfPath;
@FXML
public JFXTextField tfStreamingPath;
@FXML
private JFXTextField tfsearch;
@FXML
public JFXColorPicker mainColor;
@FXML
public ChoiceBox<String> cbLocal = new ChoiceBox<>();
public JFXTextField filmDirTextField;
@FXML
public JFXSlider sliderFontSize;
public JFXTextField streamingPathTextField;
@FXML
private Label versionLabel;
private JFXTextField searchTextField;
@FXML
private Label fontsizeLabel;
public JFXColorPicker colorPicker;
@FXML
public ChoiceBox<String> languageChoisBox = new ChoiceBox<>();
@FXML
public ChoiceBox<String> branchChoisBox = new ChoiceBox<>();
@FXML
public JFXSlider fontsizeSlider;
@FXML
private Label autoUpdateLabel;
private Label homeflixSettingsLbl;
@FXML
private Label settingsHead1Label;
private Label filmDirectoryLbl;
@FXML
private Label mainColorLabel;
private Label mainColorLbl;
@FXML
private Label fontsizeLbl;
@FXML
private Label localLabel;
private Label languageLbl;
@FXML
private Label updateLbl;
@FXML
private Label branchLbl;
@FXML
private Label versionLbl;
@FXML
private ImageView image1;
@ -232,7 +277,8 @@ public class MainWindowController {
private ResourceBundle bundle;
private ObservableList<tableData> filterData = FXCollections.observableArrayList();
private ObservableList<String> locals = FXCollections.observableArrayList("English (en_US)", "Deutsch (de_DE)");
private ObservableList<String> languages = FXCollections.observableArrayList("English (en_US)", "Deutsch (de_DE)");
private ObservableList<String> branches = FXCollections.observableArrayList("stable", "beta");
private ObservableList<tableData> localFilms = FXCollections.observableArrayList();
private ObservableList<tableData> streamingFilms = FXCollections.observableArrayList();
private ObservableList<tableData> streamingData = FXCollections.observableArrayList();
@ -364,19 +410,19 @@ public class MainWindowController {
menuTrue = false;
}
if(settingsTrue == true){
settingsAnchor.setVisible(false);
setPath(tfPath.getText());
settingsScrollPane.setVisible(false);
setPath(filmDirTextField.getText());
saveSettings();
settingsTrue = false;
}
if(streamingSettingsTrue == true){
streamingSettingsAnchor.setVisible(false);
streamingSettingsAnchorPane.setVisible(false);
streamingSettingsTrue = false;
}
});
tfsearch.textProperty().addListener(new ChangeListener<String>() {
searchTextField.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable,String oldValue, String newValue) {
ObservableList<tableData> helpData;
@ -390,7 +436,7 @@ public class MainWindowController {
}
for(int i = 0; i < helpData.size(); i++){
if(helpData.get(i).getTitle().toLowerCase().contains(tfsearch.getText().toLowerCase())){
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
}
}
@ -398,17 +444,17 @@ public class MainWindowController {
for(int i = 0; i < filterData.size(); i++){
root.getChildren().add(new TreeItem<tableData>(filterData.get(i))); //add filtered data to root node after search
}
if(tfsearch.getText().hashCode()== hashA){
if(searchTextField.getText().hashCode()== hashA){
setColor("000000");
applyColor();
}
}
});
cbLocal.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
languageChoisBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov, Number value, Number new_value) {
String local = cbLocal.getItems().get((int) new_value).toString();
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)
setLocal(local);
setLocalUI();
@ -416,10 +462,22 @@ public class MainWindowController {
}
});
sliderFontSize.valueProperty().addListener(new ChangeListener<Number>() {
branchChoisBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov, Number value, Number new_value) {
if (branchChoisBox.getItems().get((int) new_value).toString() == "beta") {
setUseBeta(true);
} else {
setUseBeta(false);
}
saveSettings();
}
});
fontsizeSlider.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov,Number old_val, Number new_val) {
setSize(sliderFontSize.getValue());
setSize(fontsizeSlider.getValue());
if(name != null){
dbController.readCache(datPath);
@ -530,13 +588,20 @@ public class MainWindowController {
debugBtn.setDisable(true); // debugging button for tests
debugBtn.setVisible(false);
tfPath.setText(getPath());
sliderFontSize.setValue(getSize());
mainColor.setValue(Color.valueOf(getColor()));
filmDirTextField.setText(getPath());
fontsizeSlider.setValue(getSize());
colorPicker.setValue(Color.valueOf(getColor()));
updateBtn.setFont(Font.font("System", 12));
autoUpdateToggleBtn.setSelected(isAutoUpdate());
cbLocal.setItems(locals);
languageChoisBox.setItems(languages);
branchChoisBox.setItems(branches);
if (isUseBeta()) {
branchChoisBox.getSelectionModel().select(1);
} else {
branchChoisBox.getSelectionModel().select(0);
}
setLocalUI();
applyColor();
@ -634,14 +699,14 @@ public class MainWindowController {
private void settingsBtnclicked(){
if(settingsTrue == false){
if(streamingSettingsTrue == true){
streamingSettingsAnchor.setVisible(false);
streamingSettingsAnchorPane.setVisible(false);
streamingSettingsTrue = false;
}
settingsAnchor.setVisible(true);
settingsScrollPane.setVisible(true);
settingsTrue = true;
}else{
settingsAnchor.setVisible(false);
setPath(tfPath.getText());
settingsScrollPane.setVisible(false);
setPath(filmDirTextField.getText());
saveSettings();
settingsTrue = false;
}
@ -654,13 +719,13 @@ public class MainWindowController {
private void streamingSettingsBtnclicked(){
if(streamingSettingsTrue == false){
if(settingsTrue == true){
settingsAnchor.setVisible(false);
settingsScrollPane.setVisible(false);
settingsTrue = false;
}
streamingSettingsAnchor.setVisible(true);
streamingSettingsAnchorPane.setVisible(true);
streamingSettingsTrue = true;
}else{
streamingSettingsAnchor.setVisible(false);
streamingSettingsAnchorPane.setVisible(false);
streamingSettingsTrue = false;
}
}
@ -677,8 +742,8 @@ public class MainWindowController {
saveSettings();
root.getChildren().remove(0,root.getChildren().size());
addDataUI();
settingsAnchor.setVisible(false);
streamingSettingsAnchor.setVisible(false);
settingsScrollPane.setVisible(false);
streamingSettingsAnchorPane.setVisible(false);
sideMenuSlideOut(); //disables side-menu
menuTrue = false;
settingsTrue = false;
@ -692,8 +757,8 @@ public class MainWindowController {
@FXML
private void tfPathAction(){
setPath(tfPath.getText());
private void filmDirTextFieldAction(){
setPath(filmDirTextField.getText());
saveSettings();
}
@ -705,7 +770,7 @@ public class MainWindowController {
}else{
setPath(selectedFolder.getAbsolutePath());
saveSettings();
tfPath.setText(getPath());
filmDirTextField.setText(getPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
System.exit(0); //finishes itself
@ -716,8 +781,8 @@ public class MainWindowController {
}
@FXML
private void mainColorAction(){
editColor(mainColor.getValue().toString());
private void colorPickerAction(){
editColor(colorPicker.getValue().toString());
applyColor();
}
@ -740,7 +805,7 @@ public class MainWindowController {
}
@FXML
private void tfStreamingPathAction(){
private void streamingPathTextFieldAction(){
//
}
@ -752,7 +817,7 @@ public class MainWindowController {
}else{
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
saveSettings();
tfStreamingPath.setText(getStreamingPath());
streamingPathTextField.setText(getStreamingPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
System.exit(0); //finishes itself
@ -836,8 +901,8 @@ public class MainWindowController {
sideMenuVBox.setStyle(style);
topHBox.setStyle(style);
tfsearch.setFocusColor(Color.valueOf(getColor()));
tfPath.setFocusColor(Color.valueOf(getColor()));
searchTextField.setFocusColor(Color.valueOf(getColor()));
filmDirTextField.setFocusColor(Color.valueOf(getColor()));
if (icolor.compareTo(ccolor) == -1) {
settingsBtn.setStyle("-fx-text-fill: WHITE;");
@ -918,33 +983,34 @@ public class MainWindowController {
switch (getLocal()) {
case "en_US":
setBundle(ResourceBundle.getBundle("locals.HomeFlix-Local", Locale.US)); // us_English
cbLocal.getSelectionModel().select(0);
languageChoisBox.getSelectionModel().select(0);
break;
case "de_DE":
setBundle(ResourceBundle.getBundle("locals.HomeFlix-Local", Locale.GERMAN)); // German
cbLocal.getSelectionModel().select(1);
languageChoisBox.getSelectionModel().select(1);
break;
default:
setBundle(ResourceBundle.getBundle("locals.HomeFlix-Local", Locale.US)); // default local
cbLocal.getSelectionModel().select(0);
languageChoisBox.getSelectionModel().select(0);
break;
}
infoBtn.setText(getBundle().getString("info"));
settingsBtn.setText(getBundle().getString("settings"));
streamingSettingsBtn.setText(getBundle().getString("streamingSettings"));
tfPath.setPromptText(getBundle().getString("tfPath"));
tfStreamingPath.setPromptText(getBundle().getString("tfPath"));
tfsearch.setPromptText(getBundle().getString("tfSearch"));
filmDirTextField.setPromptText(getBundle().getString("filmDirTextField"));
streamingPathTextField.setPromptText(getBundle().getString("filmDirTextField"));
searchTextField.setPromptText(getBundle().getString("tfSearch"));
openfolderbtn.setText(getBundle().getString("openFolder"));
updateBtn.setText(getBundle().getString("checkUpdates"));
directoryBtn.setText(getBundle().getString("chooseFolder"));
streamingDirectoryBtn.setText(getBundle().getString("chooseFolder"));
settingsHead1Label.setText(getBundle().getString("settingsHead1Label"));
mainColorLabel.setText(getBundle().getString("mainColorLabel"));
fontsizeLabel.setText(getBundle().getString("fontsizeLabel"));
localLabel.setText(getBundle().getString("localLabel"));
autoUpdateLabel.setText(getBundle().getString("autoUpdateLabel"));
versionLabel.setText(getBundle().getString("version") + " " + version + " (Build: " + buildNumber + ")");
homeflixSettingsLbl.setText(getBundle().getString("homeflixSettingsLbl"));
mainColorLbl.setText(getBundle().getString("mainColorLbl"));
fontsizeLbl.setText(getBundle().getString("fontsizeLbl"));
languageLbl.setText(getBundle().getString("languageLbl"));
autoUpdateToggleBtn.setText(getBundle().getString("autoUpdate"));
branchLbl.setText(getBundle().getString("branchLbl"));
versionLbl.setText(getBundle().getString("version") + " " + version + " (Build: " + buildNumber + ")");
columnTitel.setText(getBundle().getString("columnName"));
columnRating.setText(getBundle().getString("columnRating"));
columnStreamUrl.setText(getBundle().getString("columnStreamUrl"));
@ -999,6 +1065,7 @@ public class MainWindowController {
props.setProperty("path", getPath()); // writes path into property
props.setProperty("color", getColor());
props.setProperty("autoUpdate", String.valueOf(isAutoUpdate()));
props.setProperty("useBeta", String.valueOf(isUseBeta()));
props.setProperty("size", getSize().toString());
props.setProperty("local", getLocal());
props.setProperty("streamingPath", getStreamingPath());
@ -1055,6 +1122,13 @@ public class MainWindowController {
LOGGER.error("cloud not load autoUpdate", e);
setAutoUpdate(false);
}
try {
setUseBeta(Boolean.parseBoolean(props.getProperty("useBeta")));
} catch (Exception e) {
LOGGER.error("cloud not load autoUpdate", e);
setUseBeta(false);
}
try {
setLocal(props.getProperty("local"));
@ -1159,6 +1233,14 @@ public class MainWindowController {
return autoUpdate;
}
public boolean isUseBeta() {
return useBeta;
}
public void setUseBeta(boolean useBeta) {
this.useBeta = useBeta;
}
public void setLocal(String input) {
this.local = input;
}

126
src/main/resources/fxml/MainWindow.fxml

@ -10,6 +10,7 @@
<?import javafx.scene.control.ChoiceBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TreeTableView?>
<?import javafx.scene.image.Image?>
@ -20,9 +21,9 @@
<?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/9" xmlns:fx="http://javafx.com/fxml/1" fx:controller="kellerkinder.HomeFlix.application.MainWindowController">
<AnchorPane fx:id="mainAnchorPane" prefHeight="600.0" prefWidth="950.0" xmlns="http://javafx.com/javafx/9" xmlns:fx="http://javafx.com/fxml/1" fx:controller="kellerkinder.HomeFlix.application.MainWindowController">
<children>
<ScrollPane fx:id="scrollPane" fitToWidth="true" layoutX="408.0" layoutY="44.0" prefHeight="544.0" prefWidth="320.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="408.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0">
<ScrollPane fx:id="textScrollPane" fitToWidth="true" layoutX="408.0" layoutY="44.0" prefHeight="544.0" prefWidth="320.0" AnchorPane.bottomAnchor="12.0" AnchorPane.leftAnchor="408.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0">
<content>
<TextFlow fx:id="textFlow" accessibleRole="TEXT_AREA" maxHeight="544.0" maxWidth="320.0" visible="true" />
</content>
@ -36,7 +37,7 @@
<font>
<Font name="System Bold" size="14.0" />
</font></JFXButton>
<JFXTextField fx:id="tfsearch" layoutX="12.0" layoutY="44.0" maxWidth="477.0" minWidth="359.0" prefHeight="31.0" prefWidth="370.0" promptText="Suche ..." AnchorPane.leftAnchor="12.0" AnchorPane.rightAnchor="568.0" AnchorPane.topAnchor="44.0">
<JFXTextField fx:id="searchTextField" layoutX="12.0" layoutY="44.0" maxWidth="477.0" minWidth="359.0" prefHeight="31.0" prefWidth="370.0" promptText="search ..." AnchorPane.leftAnchor="12.0" AnchorPane.rightAnchor="568.0" AnchorPane.topAnchor="44.0">
<font>
<Font name="Arial" size="12.0" />
</font></JFXTextField>
@ -84,32 +85,105 @@
</JFXButton>
</children>
</VBox>
<AnchorPane fx:id="streamingSettingsAnchor" layoutX="138.0" layoutY="33.0" prefHeight="566.0" prefWidth="760.0" style="-fx-background-color: #FFFFFF;" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="150.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="38.0">
<ScrollPane fx:id="settingsScrollPane" style="-fx-background: white;" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="150.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="32.0">
<content>
<AnchorPane fx:id="settingsAnchorPane" style="-fx-background-color: white;">
<children>
<VBox spacing="30.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<padding>
<Insets bottom="14.0" top="14.0" />
</padding>
<children>
<VBox prefHeight="193.0" prefWidth="797.0" spacing="25.0">
<padding>
<Insets left="24.0" />
</padding>
<children>
<VBox>
<children>
<Label fx:id="homeflixSettingsLbl" text="HomeFlix Settings">
<font>
<Font name="System Bold" size="14.0" />
</font>
</Label>
<Separator prefWidth="200.0">
<padding>
<Insets right="5.0" />
</padding>
</Separator>
</children>
<padding>
<Insets left="-14.0" />
</padding>
</VBox>
<VBox spacing="7.0">
<padding>
<Insets right="5.0" />
</padding>
<children>
<Label fx:id="filmDirectoryLbl" text="Film Directory" />
<HBox spacing="10.0">
<children>
<JFXTextField fx:id="filmDirTextField" maxWidth="305.0" minWidth="305.0" onAction="#filmDirTextFieldAction" prefHeight="32.0" prefWidth="305.0" promptText="Film Directory" />
<JFXButton fx:id="directoryBtn" onAction="#directoryBtnAction" prefHeight="32.0" text="choose directory" />
</children>
</HBox>
</children>
</VBox>
<HBox minHeight="25.0" spacing="10.0">
<children>
<Label fx:id="mainColorLbl" prefHeight="25.0" text="Main-Color" />
<JFXColorPicker fx:id="colorPicker" onAction="#colorPickerAction" />
</children>
</HBox>
<HBox spacing="10.0">
<children>
<Label fx:id="fontsizeLbl" text="Fontsize" />
<JFXSlider fx:id="fontsizeSlider" max="48.0" min="2.0" prefWidth="250.0" />
</children>
</HBox>
<HBox prefHeight="100.0" prefWidth="200.0" spacing="10.0">
<children>
<Label fx:id="languageLbl" prefHeight="25.0" text="Language" />
<ChoiceBox fx:id="languageChoisBox" prefWidth="150.0" />
</children>
</HBox>
<VBox spacing="10.0">
<children>
<Label fx:id="updateLbl" text="Updates" />
<HBox spacing="10.0">
<children>
<JFXButton fx:id="updateBtn" onAction="#updateBtnAction" text="check now" />
<Label fx:id="branchLbl" prefHeight="25.0" text="Branch">
<padding>
<Insets right="-5.0" />
</padding>
</Label>
<ChoiceBox fx:id="branchChoisBox" prefWidth="150.0" />
</children>
</HBox>
<JFXToggleButton fx:id="autoUpdateToggleBtn" onAction="#autoUpdateToggleBtnAction" text="check for updates on startup" />
</children>
</VBox>
<Label fx:id="versionLbl" text="Version" />
</children>
</VBox>
<VBox spacing="25.0">
<padding>
<Insets left="24.0" />
</padding>
</VBox>
</children>
</VBox>
</children>
</AnchorPane>
</content>
</ScrollPane>
<AnchorPane fx:id="streamingSettingsAnchorPane" layoutX="138.0" layoutY="33.0" prefHeight="566.0" prefWidth="760.0" style="-fx-background-color: #FFFFFF;" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="150.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="38.0">
<children>
<JFXTextField fx:id="tfStreamingPath" layoutX="14.0" layoutY="14.0" onAction="#tfStreamingPathAction" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="5.0" />
<JFXTextField fx:id="streamingPathTextField" layoutX="14.0" layoutY="14.0" onAction="#streamingPathTextFieldAction" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="5.0" />
<JFXButton fx:id="streamingDirectoryBtn" layoutX="263.0" layoutY="2.0" onAction="#streamingDirectoryBtnAction" prefHeight="25.0" prefWidth="115.0" AnchorPane.leftAnchor="260.0" AnchorPane.topAnchor="5.0" />
<TableView fx:id="tableViewStreamingdata" layoutX="14.0" layoutY="44.0" prefHeight="517.0" prefWidth="370.0" AnchorPane.bottomAnchor="5.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="40.0" />
</children></AnchorPane>
<AnchorPane fx:id="settingsAnchor" layoutX="160.0" layoutY="44.0" prefHeight="566.0" prefWidth="760.0" style="-fx-background-color: #FFFFFF;" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="150.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="38.0">
<children>
<JFXTextField fx:id="tfPath" layoutX="14.0" layoutY="81.0" onAction="#tfPathAction" prefWidth="250.0" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="79.0" />
<JFXButton fx:id="directoryBtn" layoutX="276.0" layoutY="82.0" onAction="#directoryBtnAction" prefHeight="25.0" AnchorPane.leftAnchor="269.0" AnchorPane.topAnchor="82.0" />
<JFXColorPicker fx:id="mainColor" layoutX="118.0" layoutY="130.0" onAction="#mainColorAction" AnchorPane.leftAnchor="118.0" AnchorPane.topAnchor="130.0" />
<Label fx:id="fontsizeLabel" layoutX="14.0" layoutY="179.0" text="Fontsize" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="175.0" />
<JFXSlider fx:id="sliderFontSize" layoutX="118.0" layoutY="177.0" max="48.0" min="2.0" prefWidth="250.0" AnchorPane.leftAnchor="118.0" AnchorPane.topAnchor="177.0" />
<ChoiceBox fx:id="cbLocal" layoutX="118.0" layoutY="208.0" prefWidth="150.0" AnchorPane.leftAnchor="118.0" AnchorPane.topAnchor="208.0" />
<JFXButton fx:id="updateBtn" layoutX="16.0" layoutY="269.0" onAction="#updateBtnAction" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="253.0" />
<Label fx:id="autoUpdateLabel" layoutX="14.0" layoutY="310.0" prefHeight="17.0" text="check at startup for updates:" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="298.0" />
<JFXToggleButton fx:id="autoUpdateToggleBtn" layoutX="14.0" layoutY="336.0" onAction="#autoUpdateToggleBtnAction" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="320.0" />
<Label fx:id="versionLabel" layoutX="14.0" layoutY="418.0" text="Label" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="396.0" />
<Label fx:id="settingsHead1Label" layoutX="14.0" layoutY="24.0" text="HomeFlix Settings" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="24.0">
<font>
<Font name="System Bold" size="14.0" />
</font>
</Label>
<Label fx:id="mainColorLabel" layoutX="14.0" layoutY="134.0" prefHeight="25.0" text="Main-Color" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="130.0" />
<Label fx:id="localLabel" layoutX="14.0" layoutY="207.0" text="Local" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="212.0" />
</children>
</AnchorPane>
</children>
</AnchorPane>

13
src/main/resources/locals/HomeFlix-Local_de_DE.properties

@ -8,17 +8,18 @@ tfSearch = Suche...
openFolder = Ordner \u00F6ffnen
#settings translations
settingsHead1Label = HomeFlix Einstellungen
tfPath = Pfad...
homeflixSettingsLbl = HomeFlix Einstellungen
filmDirTextField = Pfad...
chooseFolder = Ordner ausw\u00E4hlen
mainColorLabel = Hauptfarbe:
fontsizeLabel = Schriftgr\u00F6\u00DFe:
localLabel = Sprache:
mainColorLbl = Hauptfarbe:
fontsizeLbl = Schriftgr\u00F6\u00DFe:
languageLbl = Sprache:
checkUpdates = Auf Update pr\u00FCfen
updateBtnChecking = Es wird nach Updates gesucht...
updateBtnUpdateAvailable = Update verf\u00FCgbar
updateBtnNoUpdateAvailable = Kein Update verf\u00FCgbar
autoUpdateLabel = beim Start nach Updates suchen:
autoUpdate = beim Start nach Updates suchen:
branchLbl = Updatezweig
version = Version:
#column translations

13
src/main/resources/locals/HomeFlix-Local_en_US.properties

@ -8,17 +8,18 @@ tfSearch = Search...
openFolder = open Folder
#settings translations
settingsHead1Label = HomeFlix Settings
tfPath = Path...
homeflixSettingsLbl = HomeFlix Settings
filmDirTextField = Path...
chooseFolder = choose Directory
mainColorLabel = main color:
fontsizeLabel = font size:
localLabel = local:
mainColorLbl = main color:
fontsizeLbl = font size:
languageLbl = local:
checkUpdates = check for updates
updateBtnChecking = checking for updates...
updateBtnUpdateAvailable = update available
updateBtnNoUpdateAvailable = no update available
autoUpdateLabel = check at startup for updates:
autoUpdate = check at startup for updates:
branchLbl = Branch
version = Version:
#column translations

Loading…
Cancel
Save

Du besuchst diese Seite mit einem veralteten IPv4-Internetzugang. Möglicherweise treten in Zukunft Probleme mit der Erreichbarkeit und Performance auf. Bitte frage deinen Internetanbieter oder Netzwerkadministrator nach IPv6-Unterstützung.
You are visiting this site with an outdated IPv4 internet access. You may experience problems with accessibility and performance in the future. Please ask your ISP or network administrator for IPv6 support.
Weitere Infos | More Information
Klicke zum schließen | Click to close