3 Commits
0.3.7 ... 0.3.8

Author SHA1 Message Date
84b7e2b7a1 updated to 0.3.8 2016-10-10 16:55:26 +02:00
9de3e6a3f1 code cleanup part 2 2016-10-09 18:35:55 +02:00
c6a78bb345 code cleanup
better style and overview
2016-10-09 16:05:44 +02:00
31 changed files with 488 additions and 470 deletions

View File

@ -1,16 +0,0 @@
# HomeFlix-Local_de_DE.properties German Local
info = Info
settings = Einstellungen
play = play
openFolder = Ordner \u00F6ffnen
chooseFolder = Ordner ausw\u00E4hlen
fontSize = Schriftgr\u00F6\u00DFe:
checkUpdates = Auf Update pr\u00FCfen
autoUpdate = beim Start nach Updates suchen:
version = Version:
columnName = Name
columnRating = Bewertung
columnDatName = Datei Name
errorUpdateV = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not check update version (nvc)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorUpdateD = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not download update files (ndf)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
infoText = \nMaintainer: seilo@kellerkinder.xyz und \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

View File

@ -1,16 +0,0 @@
# HomeFlix-Local_en_US.properties US-English Local and default
info = Info
settings = Settings
play = play
openFolder = open Folder
chooseFolder = choose Directory
fontSize = font size:
checkUpdates = check for updates
autoUpdate = check at startup for updates:
version = Version:
columnName = Name
columnRating = Rating
columnDatName = File Name
errorUpdateV = An error has occurred during update! \nError: could not check update version (nvc) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorUpdateD = An error has occurred during update! \nError: could not download update files (ndf) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
infoText = \nMaintainer: seilo@kellerkinder.xyz and \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

View File

@ -1,21 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXColorPicker?>
<?import com.jfoenix.controls.JFXSlider?>
<?import com.jfoenix.controls.JFXTextArea?>
<?import com.jfoenix.controls.JFXTextField?>
<?import com.jfoenix.controls.JFXToggleButton?>
<?import javafx.scene.control.ChoiceBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TreeTableView?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<AnchorPane fx:id="anpane" prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainWindowController">
<children>
<VBox fx:id="topVBox" prefHeight="32.0" prefWidth="800.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<JFXButton fx:id="menubtn" onAction="#menubtnclicked" prefHeight="32.0" prefWidth="67.0" text="Menu" />
</children>
</VBox>
<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.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="385.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0" />
<JFXButton fx:id="playbtn" layoutX="690.0" layoutY="363.0" onAction="#playbtnclicked" prefHeight="25.0" prefWidth="198.0" text="play" AnchorPane.bottomAnchor="212.0" AnchorPane.rightAnchor="12.0">
@ -30,8 +33,65 @@
<font>
<Font name="Arial" size="12.0" />
</font></JFXTextField>
<ImageView fx:id="image1" fitHeight="297.0" fitWidth="198.0" layoutX="481.0" layoutY="46.0" pickOnBounds="true" preserveRatio="true" AnchorPane.rightAnchor="12.0" AnchorPane.topAnchor="44.0" />
<ImageView fx:id="image1" fitHeight="297.0" fitWidth="198.0" layoutX="481.0" layoutY="46.0" pickOnBounds="true" preserveRatio="true" AnchorPane.rightAnchor="12.0" AnchorPane.topAnchor="44.0">
<image>
<Image url="@../recources/Homeflix_Poster.png" />
</image></ImageView>
<JFXButton fx:id="returnBtn" layoutX="690.0" layoutY="443.0" onAction="#returnBtnclicked" prefHeight="25.0" prefWidth="90.0" text="&lt;&lt;" AnchorPane.bottomAnchor="132.0" AnchorPane.rightAnchor="120.0" />
<JFXButton fx:id="forwardBtn" layoutX="798.0" layoutY="443.0" onAction="#forwardBtnclicked" prefHeight="25.0" prefWidth="90.0" text="&gt;&gt;" AnchorPane.bottomAnchor="132.0" AnchorPane.rightAnchor="12.0" />
<HBox fx:id="topHBox" layoutY="12.0" prefHeight="32.0" prefWidth="900.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<JFXButton fx:id="menubtn" onAction="#menubtnclicked" prefHeight="32.0" prefWidth="32.0" />
</children>
</HBox>
<VBox fx:id="sideMenuVBox" layoutY="32.0" prefHeight="660.0" prefWidth="150.0" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="38.0">
<children>
<JFXButton fx:id="infoBtn" onAction="#infoBtnclicked" prefHeight="32.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="settingsBtn" onAction="#settingsBtnclicked" prefHeight="37.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="streamingSettingsBtn" onAction="#streamingSettingsBtnclicked" prefHeight="32.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="switchBtn" onAction="#switchBtnclicked" prefHeight="32.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="debugBtn" onAction="#debugBtnclicked" prefHeight="32.0" prefWidth="150.0" text="debugging" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</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">
<children>
<JFXTextField fx:id="tfStreamingPath" layoutX="14.0" layoutY="14.0" onAction="#tfStreamingPathAction" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="5.0" />
<JFXButton fx:id="streamingDirectoryBtn" layoutX="263.0" layoutY="2.0" onAction="#streamingDirectoryBtnAction" AnchorPane.leftAnchor="260.0" AnchorPane.topAnchor="5.0" />
<TableView fx:id="tableViewStreamingdata" layoutX="14.0" layoutY="44.0" prefHeight="200.0" prefWidth="300.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="14.0" onAction="#tfPathAction" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="5.0" />
<JFXButton fx:id="directoryBtn" layoutX="255.0" layoutY="8.0" onAction="#directoryBtnAction" prefHeight="25.0" AnchorPane.leftAnchor="260.0" />
<JFXColorPicker fx:id="mainColor" layoutX="14.0" layoutY="45.0" onAction="#mainColorAction" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="40.0" />
<Label fx:id="sizelbl" layoutY="73.0" text="Label" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="75.0" />
<JFXSlider fx:id="sliderFontSize" layoutX="10.0" layoutY="99.0" max="48.0" min="2.0" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="110.0" />
<ChoiceBox fx:id="cbLocal" layoutX="14.0" layoutY="131.0" prefWidth="150.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="145.0" />
<JFXButton fx:id="updateBtn" layoutX="7.0" layoutY="177.0" onAction="#updateBtnAction" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="180.0" />
<Label fx:id="aulbl" layoutX="43.0" layoutY="219.0" text="Label" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="215.0" />
<JFXToggleButton fx:id="autoupdateBtn" layoutX="19.0" layoutY="215.0" onAction="#autoupdateBtnAction" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="230.0" />
<Label fx:id="versionlbl" layoutX="29.0" layoutY="297.0" text="Label" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="280.0" />
</children>
</AnchorPane>
</children>
</AnchorPane>

Binary file not shown.

View File

@ -1,7 +1,9 @@
# HomeFlix-Local_de_DE.properties German Local
info = Info
settings = Einstellungen
streamingSettings = Stream Einst.
play = play
tfPath = Pfad...
openFolder = Ordner \u00F6ffnen
chooseFolder = Ordner ausw\u00E4hlen
fontSize = Schriftgr\u00F6\u00DFe:
@ -10,10 +12,15 @@ autoUpdate = beim Start nach Updates suchen:
version = Version:
columnName = Name
columnRating = Bewertung
columnDatName = Datei Name
columnStreamUrl = Datei Name
columnResolution = Aufl\u00F6sung
columnSeason = Staffel
columnYear = Jahr
errorUpdateV = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not check update version (nvc)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorUpdateD = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not download update files (ndf)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorPlay = Beim \u00F6ffnen der Datei ist ein Fehler aufgetreten! \nError: could not open file (nof) \nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorMode = Oh, da lief etwas falsch! Da hat jemand einen falschen Modus verwendet. \nError: mode unknow (muk)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorOpenStream = Beim \u00F6ffnen des Streams ist ein Fehler aufgetreten!
linuxBug = Zurzeit werden unter Linux leider keine Dateien mit Leerzeichen unterst\u00FCtzt!
vlcNotInstalled = Um einen Film abspielen wird der VLC Media Player ben\u00F6tigt!
infoText = \nMaintainer: seilo@kellerkinder.xyz und \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

View File

@ -1,7 +1,9 @@
# HomeFlix-Local_en_US.properties US-English Local and default
info = Info
settings = Settings
streamingSettings = Stream Settings
play = play
tfPath = Path...
openFolder = open Folder
chooseFolder = choose Directory
fontSize = font size:
@ -10,10 +12,15 @@ autoUpdate = check at startup for updates:
version = Version:
columnName = Name
columnRating = Rating
columnDatName = File Name
columnStreamUrl = File Name
columnResolution = Resolution
columnSeason = Season
columnYear = Year
errorUpdateV = An error has occurred during update! \nError: could not check update version (nvc) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorUpdateD = An error has occurred during update! \nError: could not download update files (ndf) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorPlay = An error has occurred during opening the file! \nError: could not open file (nof) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorMode = Oh, something went wrong! It seems someone has used a wrong mode. \nError: mode unknow (muk) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorOpenStream = An error has occurred during opening the stream!
linuxBug = Currently no files are supported with additional space under Linux unfortunately!
vlcNotInstalled = VLC Media Player is required to play a movie!
infoText = \nMaintainer: seilo@kellerkinder.xyz and \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

View File

@ -1,16 +0,0 @@
# HomeFlix-Local_de_DE.properties German Local
info = Info
settings = Einstellungen
play = play
openFolder = Ordner \u00F6ffnen
chooseFolder = Ordner ausw\u00E4hlen
fontSize = Schriftgr\u00F6\u00DFe:
checkUpdates = Auf Update pr\u00FCfen
autoUpdate = beim Start nach Updates suchen:
version = Version:
columnName = Name
columnRating = Bewertung
columnDatName = Datei Name
errorUpdateV = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not check update version (nvc)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorUpdateD = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not download update files (ndf)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
infoText = \nMaintainer: seilo@kellerkinder.xyz und \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

View File

@ -1,16 +0,0 @@
# HomeFlix-Local_en_US.properties US-English Local and default
info = Info
settings = Settings
play = play
openFolder = open Folder
chooseFolder = choose Directory
fontSize = font size:
checkUpdates = check for updates
autoUpdate = check at startup for updates:
version = Version:
columnName = Name
columnRating = Rating
columnDatName = File Name
errorUpdateV = An error has occurred during update! \nError: could not check update version (nvc) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorUpdateD = An error has occurred during update! \nError: could not download update files (ndf) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
infoText = \nMaintainer: seilo@kellerkinder.xyz and \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

View File

@ -1,21 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXColorPicker?>
<?import com.jfoenix.controls.JFXSlider?>
<?import com.jfoenix.controls.JFXTextArea?>
<?import com.jfoenix.controls.JFXTextField?>
<?import com.jfoenix.controls.JFXToggleButton?>
<?import javafx.scene.control.ChoiceBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TreeTableView?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<AnchorPane fx:id="anpane" prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainWindowController">
<children>
<VBox fx:id="topVBox" prefHeight="32.0" prefWidth="800.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<JFXButton fx:id="menubtn" onAction="#menubtnclicked" prefHeight="32.0" prefWidth="67.0" text="Menu" />
</children>
</VBox>
<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.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="385.0" AnchorPane.rightAnchor="222.0" AnchorPane.topAnchor="44.0" />
<JFXButton fx:id="playbtn" layoutX="690.0" layoutY="363.0" onAction="#playbtnclicked" prefHeight="25.0" prefWidth="198.0" text="play" AnchorPane.bottomAnchor="212.0" AnchorPane.rightAnchor="12.0">
@ -30,8 +33,65 @@
<font>
<Font name="Arial" size="12.0" />
</font></JFXTextField>
<ImageView fx:id="image1" fitHeight="297.0" fitWidth="198.0" layoutX="481.0" layoutY="46.0" pickOnBounds="true" preserveRatio="true" AnchorPane.rightAnchor="12.0" AnchorPane.topAnchor="44.0" />
<ImageView fx:id="image1" fitHeight="297.0" fitWidth="198.0" layoutX="481.0" layoutY="46.0" pickOnBounds="true" preserveRatio="true" AnchorPane.rightAnchor="12.0" AnchorPane.topAnchor="44.0">
<image>
<Image url="@../recources/Homeflix_Poster.png" />
</image></ImageView>
<JFXButton fx:id="returnBtn" layoutX="690.0" layoutY="443.0" onAction="#returnBtnclicked" prefHeight="25.0" prefWidth="90.0" text="&lt;&lt;" AnchorPane.bottomAnchor="132.0" AnchorPane.rightAnchor="120.0" />
<JFXButton fx:id="forwardBtn" layoutX="798.0" layoutY="443.0" onAction="#forwardBtnclicked" prefHeight="25.0" prefWidth="90.0" text="&gt;&gt;" AnchorPane.bottomAnchor="132.0" AnchorPane.rightAnchor="12.0" />
<HBox fx:id="topHBox" layoutY="12.0" prefHeight="32.0" prefWidth="900.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<JFXButton fx:id="menubtn" onAction="#menubtnclicked" prefHeight="32.0" prefWidth="32.0" />
</children>
</HBox>
<VBox fx:id="sideMenuVBox" layoutY="32.0" prefHeight="660.0" prefWidth="150.0" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="38.0">
<children>
<JFXButton fx:id="infoBtn" onAction="#infoBtnclicked" prefHeight="32.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="settingsBtn" onAction="#settingsBtnclicked" prefHeight="37.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="streamingSettingsBtn" onAction="#streamingSettingsBtnclicked" prefHeight="32.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="switchBtn" onAction="#switchBtnclicked" prefHeight="32.0" prefWidth="150.0" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</JFXButton>
<JFXButton fx:id="debugBtn" onAction="#debugBtnclicked" prefHeight="32.0" prefWidth="150.0" text="debugging" textAlignment="CENTER">
<font>
<Font name="System Bold" size="15.0" />
</font>
</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">
<children>
<JFXTextField fx:id="tfStreamingPath" layoutX="14.0" layoutY="14.0" onAction="#tfStreamingPathAction" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="5.0" />
<JFXButton fx:id="streamingDirectoryBtn" layoutX="263.0" layoutY="2.0" onAction="#streamingDirectoryBtnAction" AnchorPane.leftAnchor="260.0" AnchorPane.topAnchor="5.0" />
<TableView fx:id="tableViewStreamingdata" layoutX="14.0" layoutY="44.0" prefHeight="200.0" prefWidth="300.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="14.0" onAction="#tfPathAction" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="5.0" />
<JFXButton fx:id="directoryBtn" layoutX="255.0" layoutY="8.0" onAction="#directoryBtnAction" prefHeight="25.0" AnchorPane.leftAnchor="260.0" />
<JFXColorPicker fx:id="mainColor" layoutX="14.0" layoutY="45.0" onAction="#mainColorAction" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="40.0" />
<Label fx:id="sizelbl" layoutY="73.0" text="Label" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="75.0" />
<JFXSlider fx:id="sliderFontSize" layoutX="10.0" layoutY="99.0" max="48.0" min="2.0" prefWidth="250.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="110.0" />
<ChoiceBox fx:id="cbLocal" layoutX="14.0" layoutY="131.0" prefWidth="150.0" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="145.0" />
<JFXButton fx:id="updateBtn" layoutX="7.0" layoutY="177.0" onAction="#updateBtnAction" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="180.0" />
<Label fx:id="aulbl" layoutX="43.0" layoutY="219.0" text="Label" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="215.0" />
<JFXToggleButton fx:id="autoupdateBtn" layoutX="19.0" layoutY="215.0" onAction="#autoupdateBtnAction" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="230.0" />
<Label fx:id="versionlbl" layoutX="29.0" layoutY="297.0" text="Label" AnchorPane.leftAnchor="5.0" AnchorPane.topAnchor="280.0" />
</children>
</AnchorPane>
</children>
</AnchorPane>

View File

@ -57,16 +57,16 @@ import com.jfoenix.controls.JFXTextArea;
import com.jfoenix.controls.JFXTextField;
import com.jfoenix.controls.JFXToggleButton;
import javafx.animation.FadeTransition;
import javafx.animation.ParallelTransition;
import javafx.animation.TranslateTransition;
import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.geometry.Insets;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ChoiceBox;
@ -80,31 +80,28 @@ import javafx.scene.control.TreeTableView;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.DirectoryChooser;
import javafx.util.Duration;
public class MainWindowController {
@FXML
private AnchorPane anpane;
@FXML
private AnchorPane settingsan = new AnchorPane();
private AnchorPane settingsAnchor;
@FXML
private AnchorPane streamingSettingsan = new AnchorPane();
private AnchorPane streamingSettingsAnchor;
@FXML
private VBox topVBox;
private HBox topHBox;
@FXML
private VBox menuBox = new VBox();
@FXML
private VBox settingsBox = new VBox();
@FXML
private VBox streamingSettingsBox = new VBox();
private VBox sideMenuVBox;
@FXML
private TreeTableView<streamUiData> treeTableViewfilm;
@FXML
private TableView<streamUiData> treeViewStreamingdata = new TableView<>();
private TableView<streamUiData> tableViewStreamingdata;
@FXML
private JFXTextArea ta1;
@FXML
@ -118,48 +115,48 @@ public class MainWindowController {
@FXML
private JFXButton forwardBtn;
@FXML
private JFXButton infoBtn = new JFXButton("Info");
private JFXButton infoBtn;
@FXML
private JFXButton demoBtn = new JFXButton("Debugging");
private JFXButton settingsBtn;
@FXML
private JFXButton settingsBtn = new JFXButton("Settings");
private JFXButton streamingSettingsBtn;
@FXML
private JFXButton streamingSettingsBtn = new JFXButton("Streaming-Settings");
private JFXButton switchBtn;
@FXML
private JFXButton switchBtn = new JFXButton("local");
private JFXButton debugBtn;
@FXML
private JFXButton updateBtn = new JFXButton("Auf Update pr<70>fen");
private JFXButton updateBtn;
@FXML
private JFXButton directoryBtn = new JFXButton("Ordner ausw<73>hlen");
private JFXButton directoryBtn;
@FXML
private JFXButton streamingDirectoryBtn = new JFXButton("Ordner ausw<73>hlen");
private JFXButton streamingDirectoryBtn;
@FXML
private JFXToggleButton autoupdateBtn = new JFXToggleButton();
private JFXToggleButton autoupdateBtn;
@FXML
public JFXTextField tfPfad = new JFXTextField();
public JFXTextField tfPath;
@FXML
public JFXTextField streamingtfPfad = new JFXTextField();
public JFXTextField tfStreamingPath;
@FXML
private JFXTextField tfsearch;
@FXML
public JFXColorPicker mainColor = new JFXColorPicker();
public JFXColorPicker mainColor;
@FXML
public ChoiceBox<String> cbLocal = new ChoiceBox<String>();
public ChoiceBox<String> cbLocal;
@FXML
public JFXSlider sl1 = new JFXSlider();
public JFXSlider sliderFontSize;
@FXML
private JFXDialog dialog = new JFXDialog();
@FXML
private Label versionlbl = new Label();
private Label versionlbl;
@FXML
private Label sizelbl = new Label("Schriftgr<EFBFBD><EFBFBD>e:");
private Label sizelbl;
@FXML
private Label aulbl = new Label("beim starten nach Updates suchen:");
private Label aulbl;
@FXML
private ImageView image1;
@FXML
TreeItem<streamUiData> root = new TreeItem<>(new streamUiData(1, 1, 5.0,"1", "filme","1"));
TreeItem<streamUiData> root = new TreeItem<>(new streamUiData(1, 1, 1, 5.0,"1", "filme","1"));
@FXML
TreeTableColumn<streamUiData, Double> columnRating = new TreeTableColumn<>("Bewertung");
@FXML
@ -167,24 +164,27 @@ public class MainWindowController {
@FXML
TreeTableColumn<streamUiData, String> columnStreamUrl = new TreeTableColumn<>("Datei Name");
@FXML
TreeTableColumn<streamUiData, String> columnResolution = new TreeTableColumn<>("Aufl<EFBFBD>sung"); //TODO translate
TreeTableColumn<streamUiData, String> columnResolution = new TreeTableColumn<>("Aufl<EFBFBD>sung");
@FXML
TreeTableColumn<streamUiData, Integer> columnYear = new TreeTableColumn<>("Jahr"); //TODO translate
TreeTableColumn<streamUiData, Integer> columnYear = new TreeTableColumn<>("Jahr");
@FXML
TreeTableColumn<streamUiData, Integer> columnSeason = new TreeTableColumn<>("Staffel"); //TODO translate
TreeTableColumn<streamUiData, Integer> columnSeason = new TreeTableColumn<>("Staffel");
@FXML
TreeTableColumn<streamUiData, Integer> columnEpisode = new TreeTableColumn<>("Episode");
@FXML
private TreeItem<streamUiData> streamingRoot =new TreeItem<>(new streamUiData(1 ,1 ,1.0 ,"1" ,"filme" ,"1"));
private TreeItem<streamUiData> streamingRoot =new TreeItem<>(new streamUiData(1 ,1 ,1 ,1.0 ,"1" ,"filme" ,"1"));
@FXML
private TableColumn<streamUiData, String> dataNameColumn = new TableColumn<>("Datei Name");
@FXML
private TableColumn<streamUiData, String> dataNameEndColumn = new TableColumn<>("Datei Name mit Endung");
private boolean menutrue = false; //merker f<>r menubtn (<28>ffnen oder schlie<69>en)
private boolean menutrue = false; //merker f<>r menubtn (<28>ffnen oder schlie<69>en)
private boolean settingstrue = false;
private boolean streamingSettingsTrue = false;
private String version = "0.3.7";
private String version = "0.3.8";
private String versionName = "half glowing bucket";
private String versionURL = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/version.txt";
private String downloadLink = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/downloadLink.txt";
private File dir = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
@ -194,6 +194,8 @@ public class MainWindowController {
private String errorUpdateD;
private String errorUpdateV;
private String errorPlay;
private String errorOpenStream;
private String errorMode;
private String infoText;
private String linuxBugText;
private String vlcNotInstalled;
@ -219,7 +221,6 @@ public class MainWindowController {
private ObservableList<streamUiData> streamData = FXCollections.observableArrayList();
private ObservableList<String> locals = FXCollections.observableArrayList("english", "deutsch");
private ObservableList<streamUiData> streamingData = FXCollections.observableArrayList();
private Image imHF = new Image("recources/Homeflix_Poster.png");
private ImageView menu_icon_black = new ImageView(new Image("recources/menu_icon_black.png"));
private ImageView menu_icon_white = new ImageView(new Image("recources/menu_icon_white.png"));
private DirectoryChooser directoryChooser = new DirectoryChooser();
@ -228,26 +229,24 @@ public class MainWindowController {
//wenn menubtn clicked
/**
* TODO change value of Text-color change
* TODO animation of side menu
*/
@FXML
private void menubtnclicked(){
if(menutrue == false){
anpane.getChildren().addAll(menuBox);
sideMenuSlideIn();
menutrue = true;
}else{
anpane.getChildren().removeAll(menuBox);
sideMenuSlideOut();
menutrue = false;
}
if(settingstrue == true){
anpane.getChildren().removeAll(settingsBox);
setPath(tfPfad.getText());
settingsAnchor.setVisible(false);
setPath(tfPath.getText());
saveSettings();
settingstrue = false;
}
if(streamingSettingsTrue == true){
System.out.println("close settings");
anpane.getChildren().removeAll(streamingSettingsBox);
streamingSettingsAnchor.setVisible(false);
streamingSettingsTrue = false;
}
}
@ -310,13 +309,21 @@ public class MainWindowController {
}
}else if(mode.equals("streaming")){
try {
Desktop.getDesktop().browse(new URI(datPath)); //TODO muss noch <20>berarbeite werden!
Desktop.getDesktop().browse(new URI(datPath)); //opening streaming url in browser (other option?)
} catch (URISyntaxException | IOException e) {
//Auto-generated catch block
Alert alert = new Alert(AlertType.ERROR);
alert.setHeaderText("");
alert.setTitle("Error");
alert.setContentText(errorOpenStream);
alert.showAndWait();
e.printStackTrace();
}
}else{
System.out.println("error"); //TODO richtige fehlermeldung mode
Alert alert = new Alert(AlertType.ERROR);
alert.setHeaderText("");
alert.setTitle("Error");
alert.setContentText(errorMode);
alert.showAndWait();
}
}
}
@ -341,67 +348,167 @@ public class MainWindowController {
treeTableViewfilm.getSelectionModel().select(next);
}
@FXML
private void infoBtnclicked(){
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Info");
alert.setHeaderText("Project HomeFlix");
alert.setContentText(infoText);
alert.showAndWait();
}
@FXML
private void settingsBtnclicked(){
if(settingstrue == false){
if(streamingSettingsTrue == true){
streamingSettingsAnchor.setVisible(false);
streamingSettingsTrue = false;
}
settingsAnchor.setVisible(true);
settingstrue = true;
}else{
settingsAnchor.setVisible(false);
setPath(tfPath.getText());
saveSettings();
settingstrue = false;
}
}
/**
* TODO zus<75>tzliche infos <20>ber die dateien
*/
@FXML
private void streamingSettingsBtnclicked(){
if(streamingSettingsTrue == false){
if(settingstrue == true){
settingsAnchor.setVisible(false);
settingstrue = false;
}
streamingSettingsAnchor.setVisible(true);
streamingSettingsTrue = true;
}else{
streamingSettingsAnchor.setVisible(false);
streamingSettingsTrue = false;
}
}
@FXML
private void switchBtnclicked(){
if(mode.equals("local")){ //switch to streaming mode
setMode("streaming");
switchBtn.setText("local");
}else if(mode.equals("streaming")){ //switch to local mode
setMode("local");
switchBtn.setText("streaming");
}
saveSettings();
root.getChildren().remove(0,root.getChildren().size());
addDataUI();
settingsAnchor.setVisible(false);
streamingSettingsAnchor.setVisible(false);
sideMenuSlideOut(); //disables sidemenu
menutrue = false;
settingstrue = false;
streamingSettingsTrue = false;
}
@FXML
private void debugBtnclicked(){
//for testing
}
@FXML
private void tfPathAction(){
setPath(tfPath.getText());
saveSettings();
}
@FXML
private void directoryBtnAction(){
selectedFolder = directoryChooser.showDialog(null);
if(selectedFolder == null){
System.out.println("No Directory selected");
}else{
setPath(selectedFolder.getAbsolutePath());
saveSettings();
tfPath.setText(getPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu
System.exit(0); //beendet sich selbst
} catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten");
e.printStackTrace();
}
}
}
@FXML
private void mainColorAction(){
editColor(mainColor.getValue().toString());
applyColor();
}
@FXML
private void updateBtnAction(){
update();
}
@FXML
private void autoupdateBtnAction(){
if(autoUpdate.equals("0")){
setAutoUpdate("1");
}else{
setAutoUpdate("0");
}
saveSettings();
}
@FXML
private void tfStreamingPathAction(){
//
}
@FXML
private void streamingDirectoryBtnAction(){
selectedStreamingFolder = directoryChooser.showDialog(null);
if(selectedStreamingFolder == null){
System.out.println("No Directory selected");
}else{
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
saveSettings();
tfStreamingPath.setText(getStreamingPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu
System.exit(0); //beendet sich selbst
} catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten");
e.printStackTrace();
}
}
}
//"Main" Methode die beim start von der Klasse Main aufgerufen wird, initialiesirung der einzellnen UI-Objekte
@SuppressWarnings({ "static-access"})
public void setMain(Main main) {
loadSettings();
// loadStreamingSettings();
initTabel();
initBtnAction();
initActions();
System.out.println("Mode: "+mode);
infoBtn.setPrefWidth(130);
infoBtn.setPrefHeight(32);
infoBtn.setFont(Font.font("System", FontWeight.BOLD, 15));
debugBtn.setDisable(true); //debugging btn for tests
debugBtn.setVisible(false);
settingsBtn.setPrefWidth(130);
settingsBtn.setPrefHeight(32);
settingsBtn.setFont(Font.font("System", FontWeight.BOLD, 15));
tfPath.setText(getPath());
streamingSettingsBtn.setPrefWidth(130);
streamingSettingsBtn.setPrefHeight(32);
streamingSettingsBtn.setFont(Font.font("System", FontWeight.BOLD, 15));
switchBtn.setPrefWidth(130);
switchBtn.setPrefHeight(32);
switchBtn.setFont(Font.font("System", FontWeight.BOLD, 15));
demoBtn.setPrefWidth(130);
demoBtn.setPrefHeight(32);
demoBtn.setFont(Font.font("System", FontWeight.BOLD, 15));
demoBtn.setDisable(false);
menubtn.setText("");
menubtn.setMaxSize(32, 32);
tfPfad.setPrefWidth(250);
tfPfad.setPromptText("Pfad");
tfPfad.setText(getPath());
streamingtfPfad.setPrefWidth(250);
streamingtfPfad.setPromptText("Pfad");
streamingtfPfad.setText(getStreamingPath());
sl1.setMaxWidth(250);
sl1.setMin(2);
sl1.setMax(48);
sl1.setValue(getSize());
sliderFontSize.setValue(getSize());
cbLocal.setItems(locals);
updateBtn.setFont(Font.font("System", 12));
directoryBtn.setFont(Font.font("System", 12));
directoryBtn.setMaxSize(180, 25);
streamingDirectoryBtn.setFont(Font.font("System", 12));
streamingDirectoryBtn.setMaxSize(180, 25);
treeViewStreamingdata.setPrefHeight(533);
treeViewStreamingdata.setPrefWidth(370);
if(autoUpdate.equals("1")){
autoupdateBtn.setSelected(true);
update();
@ -411,111 +518,9 @@ public class MainWindowController {
versionlbl.setText("Version: "+version);
menuBox.setSpacing(2.5); //Zeilenabstand
menuBox.setPadding(new Insets(2.5,0,0,2.5)); // abstand zum Rand
menuBox.getChildren().addAll(infoBtn, settingsBtn, streamingSettingsBtn, switchBtn, demoBtn);
menuBox.setFillWidth(true);
AnchorPane.setTopAnchor(menuBox, 33d);
AnchorPane.setBottomAnchor(menuBox, 0d);
settingsBox.setStyle("-fx-background-color: #FFFFFF;");
settingsBox.getChildren().add(settingsan);
streamingSettingsBox.setStyle("-fx-background-color: #FFFFFF;");
streamingSettingsBox.getChildren().add(streamingSettingsan);
settingsan.getChildren().addAll(tfPfad, directoryBtn, mainColor, sizelbl, sl1, cbLocal, updateBtn, aulbl, autoupdateBtn, versionlbl);
settingsan.setTopAnchor(tfPfad, 5d);
settingsan.setLeftAnchor(tfPfad, 5d);
settingsan.setTopAnchor(directoryBtn, 5d);
settingsan.setLeftAnchor(directoryBtn, 260d);
settingsan.setTopAnchor(mainColor, 40d);
settingsan.setLeftAnchor(mainColor, 5d);
settingsan.setTopAnchor(sizelbl, 75d);
settingsan.setLeftAnchor(sizelbl, 5d);
settingsan.setTopAnchor(sl1, 110d);
settingsan.setLeftAnchor(sl1, 5d);
settingsan.setTopAnchor(cbLocal, 145d);
settingsan.setLeftAnchor(cbLocal, 5d);
settingsan.setTopAnchor(updateBtn, 180d);
settingsan.setLeftAnchor(updateBtn, 5d);
settingsan.setTopAnchor(aulbl, 215d);
settingsan.setLeftAnchor(aulbl, 5d);
settingsan.setTopAnchor(autoupdateBtn, 230d);
settingsan.setLeftAnchor(autoupdateBtn, 5d);
settingsan.setTopAnchor(versionlbl, 280d);
settingsan.setLeftAnchor(versionlbl, 5d);
streamingSettingsan.getChildren().addAll(streamingtfPfad, streamingDirectoryBtn,treeViewStreamingdata);
streamingSettingsan.setTopAnchor(streamingtfPfad, 5d);
streamingSettingsan.setLeftAnchor(streamingtfPfad, 5d);
streamingSettingsan.setTopAnchor(streamingDirectoryBtn, 5d);
streamingSettingsan.setLeftAnchor(streamingDirectoryBtn, 260d);
streamingSettingsan.setTopAnchor(treeViewStreamingdata, 40d);
streamingSettingsan.setLeftAnchor(treeViewStreamingdata, 5d);
streamingSettingsan.setBottomAnchor(treeViewStreamingdata, 5d);
AnchorPane.setTopAnchor(settingsBox, 34d);
AnchorPane.setRightAnchor(settingsBox, 0d);
AnchorPane.setBottomAnchor(settingsBox, 0d);
AnchorPane.setLeftAnchor(settingsBox, 130d);
AnchorPane.setTopAnchor(streamingSettingsBox, 34d);
AnchorPane.setRightAnchor(streamingSettingsBox, 0d);
AnchorPane.setBottomAnchor(streamingSettingsBox, 0d);
AnchorPane.setLeftAnchor(streamingSettingsBox, 130d);
ta1.setWrapText(true);
ta1.setEditable(false);
ta1.setFont(Font.font("System", getSize()));
image1.setImage(imHF);
//TODO kann das auch raus?
tfsearch.textProperty().addListener(new ChangeListener<String>() {
@SuppressWarnings("unchecked")
@Override
public void changed(ObservableValue<? extends String> observable,String oldValue, String newValue) {
int counter = newDaten.size();
filterData.removeAll(filterData);
root.getChildren().remove(0,root.getChildren().size());
for(int i = 0; i < counter; i++){
if(newDaten.get(i).getTitel().toLowerCase().contains(tfsearch.getText().toLowerCase())){
filterData.add(newDaten.get(i));
}
}
for(int i = 0; i < filterData.size(); i++){
root.getChildren().addAll(new TreeItem<streamUiData>(filterData.get(i))); //f<>gt daten zur Rootnode hinzu
}
}
});
//TODO das auch?
cbLocal.getSelectionModel().selectedIndexProperty()
.addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov, Number value, Number new_value) {
setLocal(new_value.intValue());
setLoaclUI(local);
saveSettings();
}
});
}
//initialisierung der Tabellen f<>r filme(beide Modi) und Streaming-Settings
@ -523,11 +528,11 @@ public class MainWindowController {
private void initTabel(){
//Filmtabelle
// root.setExpanded(true);
columnRating.setMaxWidth(120);
columnTitel.setMaxWidth(240);
columnStreamUrl.setMaxWidth(0);
dataNameColumn.setPrefWidth(130);
dataNameEndColumn.setPrefWidth(170);
treeTableViewfilm.setRoot(root);
treeTableViewfilm.setColumnResizePolicy( TreeTableView.CONSTRAINED_RESIZE_POLICY );
@ -552,7 +557,10 @@ public class MainWindowController {
columnSeason.setCellValueFactory((CellDataFeatures<streamUiData, Integer> p) ->
new ReadOnlyObjectWrapper(p.getValue().getValue().getSeason()));
treeTableViewfilm.getColumns().addAll(columnTitel, columnRating, columnStreamUrl, columnResolution, columnYear, columnSeason);
columnEpisode.setCellValueFactory((CellDataFeatures<streamUiData, Integer> p) ->
new ReadOnlyObjectWrapper(p.getValue().getValue().getEpisode()));
treeTableViewfilm.getColumns().addAll(columnTitel, columnRating, columnStreamUrl, columnResolution, columnYear, columnSeason, columnEpisode);
treeTableViewfilm.getColumns().get(2).setVisible(false); //blendet die Column mit den Dateinamen aus (wichtig um sie abzuspielen)
//Changelistener f<>r TreeTable
@ -573,183 +581,58 @@ public class MainWindowController {
});
//Streaming-Settings Tabelle
dataNameColumn.setCellValueFactory(cellData -> cellData.getValue().titelProperty());
dataNameEndColumn.setCellValueFactory(cellData -> cellData.getValue().streamUrlProperty());
treeViewStreamingdata.getColumns().addAll(dataNameColumn, dataNameEndColumn);
treeViewStreamingdata.setItems(streamingData);
tableViewStreamingdata.getColumns().addAll(dataNameColumn, dataNameEndColumn);
tableViewStreamingdata.setItems(streamingData);
}
//initialisierung der Button Actions
private void initBtnAction(){
private void initActions(){
infoBtn.setOnAction(new EventHandler<ActionEvent>(){
//TODO unterscheiden zwischen streaming und local
tfsearch.textProperty().addListener(new ChangeListener<String>() {
@SuppressWarnings("unchecked")
@Override
public void handle(ActionEvent event) {
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Info");
alert.setHeaderText("Project HomeFlix");
alert.setContentText(infoText);
alert.showAndWait();
public void changed(ObservableValue<? extends String> observable,String oldValue, String newValue) {
int counter = newDaten.size();
filterData.removeAll(filterData);
root.getChildren().remove(0,root.getChildren().size());
for(int i = 0; i < counter; i++){
if(newDaten.get(i).getTitel().toLowerCase().contains(tfsearch.getText().toLowerCase())){
filterData.add(newDaten.get(i));
}
}
for(int i = 0; i < filterData.size(); i++){
root.getChildren().addAll(new TreeItem<streamUiData>(filterData.get(i))); //f<>gt daten zur Rootnode hinzu
}
}
});
//setteingsbtn clicked, deklarieren der actions der Objekte die bei settingsbtn angezeigt werden
settingsBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event){
if(settingstrue == false){
anpane.getChildren().addAll(settingsBox);
tfPfad.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
setPath(tfPfad.getText());
cbLocal.getSelectionModel().selectedIndexProperty()
.addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov, Number value, Number new_value) {
setLocal(new_value.intValue());
setLoaclUI(local);
saveSettings();
}
});
directoryBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event){
selectedFolder = directoryChooser.showDialog(null);
if(selectedFolder == null){
System.out.println("No Directory selected");
}else{
setPath(selectedFolder.getAbsolutePath());
saveSettings();
tfPfad.setText(getPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu
System.exit(0); //beendet sich selbst
} catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten");
e.printStackTrace();
}
}
}
});
mainColor.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
editColor(mainColor.getValue().toString());
applyColor();
}
});
sl1.valueProperty().addListener(new ChangeListener<Number>() {
sliderFontSize.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov,Number old_val, Number new_val) {
setSize(sl1.getValue());
setSize(sliderFontSize.getValue());
ta1.setFont(Font.font("System", size));
saveSettings();
}
});
//updater
updateBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event){
update();
}
});
autoupdateBtn.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event) {
if(autoUpdate.equals("0")){
setAutoUpdate("1");
saveSettings();
}else{
setAutoUpdate("0");
saveSettings();
}
}
});
settingstrue = true;
}else{
anpane.getChildren().removeAll(settingsBox);
setPath(tfPfad.getText());
saveSettings();
settingstrue = false;
}
}
});
//demoBtn clicked debbuging
demoBtn.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event) {
/**
* TODO DBController
*/
// loadData();
}
});
streamingSettingsBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event){
if(streamingSettingsTrue == false){
anpane.getChildren().addAll(streamingSettingsBox);
streamingDirectoryBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
selectedStreamingFolder = directoryChooser.showDialog(null);
if(selectedStreamingFolder == null){
System.out.println("No Directory selected");
}else{
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
saveSettings();
streamingtfPfad.setText(getStreamingPath());
try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //starte neu
System.exit(0); //beendet sich selbst
} catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten");
e.printStackTrace();
}
}
}
});;
streamingSettingsTrue = true;
}else{
anpane.getChildren().removeAll(streamingSettingsBox);
streamingSettingsTrue = false;
}
}
});
/**
* TODO menu wieder verschwinden lassen
* TODO Banner zur<75>ck auf homeflix setzen
*/
switchBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
if(mode.equals("local")){ //switch to streaming mode
setMode("streaming");
switchBtn.setText("local");
}else if(mode.equals("streaming")){ //switch to local mode
setMode("local");
switchBtn.setText("streaming");
}
saveSettings();
root.getChildren().remove(0,root.getChildren().size());
addDataUI();
}
});
}
//pr<70>ft auf Update und f<>rht es gegebenenfalls aus
private void update(){
System.out.println("check for updates ...");
try {
URL url = new URL(versionURL); //URL der Datei mit aktueller Versionsnummer
@ -811,7 +694,7 @@ public class MainWindowController {
for(int i = 0; i < entries.length; i++){
String titel = ohneEndung(entries[i]);
String data = entries[i];
newDaten.add(new streamUiData(1, 1, 5.0, "1", titel, data));
newDaten.add(new streamUiData(1, 1, 1, 5.0, "1", titel, data));
}
}
@ -820,6 +703,7 @@ public class MainWindowController {
String resolution = null;
String streamUrl = null;
int season;
int episode;
int year;
double rating = 5.0;
if(getStreamingPath().equals("")||getStreamingPath().equals(null)){
@ -834,10 +718,11 @@ public class MainWindowController {
for (JsonValue item : items) {
titel = item.asObject().getString("titel","");
season = item.asObject().getInt("season", 0);
episode = item.asObject().getInt("episode", 0);
year = item.asObject().getInt("year", 0);
resolution = item.asObject().getString("resolution", "");
streamUrl = item.asObject().getString("streamUrl", "");
streamData.add(new streamUiData(year, season, rating, resolution, titel, streamUrl));
streamData.add(new streamUiData(year, season, episode, rating, resolution, titel, streamUrl));
}
} catch (IOException e) {
@ -846,13 +731,6 @@ public class MainWindowController {
}
}
}
// }else{
// Alert alert = new Alert(AlertType.ERROR);
// alert.setHeaderText("");
// alert.setTitle("Error");
// alert.setContentText("Oh, something went wrong! It seems someone has used a wrong mode. Please contact the maintainer!");
// alert.showAndWait();
// }
}
public void addDataUI(){
@ -865,6 +743,7 @@ public class MainWindowController {
treeTableViewfilm.getColumns().get(3).setVisible(false);
treeTableViewfilm.getColumns().get(4).setVisible(false);
treeTableViewfilm.getColumns().get(5).setVisible(false);
treeTableViewfilm.getColumns().get(6).setVisible(false);
}else if(mode.equals("streaming")){
for(int i = 0; i < streamData.size(); i++){
root.getChildren().add(new TreeItem<streamUiData>(streamData.get(i))); //f<>gt daten zur Rootnode hinzu
@ -874,9 +753,11 @@ public class MainWindowController {
columnRating.setMaxWidth(52.5);
columnYear.setMaxWidth(40);
columnSeason.setMaxWidth(52.5);
columnEpisode.setMaxWidth(0); //disabled for ui size reasons
treeTableViewfilm.getColumns().get(3).setVisible(true);
treeTableViewfilm.getColumns().get(4).setVisible(true);
treeTableViewfilm.getColumns().get(5).setVisible(true);
treeTableViewfilm.getColumns().get(6).setVisible(true);
}
}
@ -889,7 +770,7 @@ public class MainWindowController {
if(entries[i].endsWith(".json")){
String titel = ohneEndung(entries[i]);
String data = entries[i];
streamingData.add(new streamUiData(1,1,5.0,"1",titel ,data));
streamingData.add(new streamUiData(1,1,1,5.0,"1",titel ,data));
}
}
for(int i = 0; i < streamingData.size(); i++){
@ -913,17 +794,17 @@ public class MainWindowController {
BigInteger icolor = new BigInteger(getColor(),16);
BigInteger ccolor = new BigInteger("78909cff",16);
menuBox.setStyle(style);
topVBox.setStyle(style);
sideMenuVBox.setStyle(style);
topHBox.setStyle(style);
tfsearch.setFocusColor(Color.valueOf(getColor()));
tfPfad.setFocusColor(Color.valueOf(getColor()));
tfPath.setFocusColor(Color.valueOf(getColor()));
if(icolor.compareTo(ccolor) == -1){
settingsBtn.setStyle("-fx-text-fill: WHITE;");
streamingSettingsBtn.setStyle("-fx-text-fill: WHITE;");
switchBtn.setStyle("-fx-text-fill: WHITE;");
infoBtn.setStyle("-fx-text-fill: WHITE;");
demoBtn.setStyle("-fx-text-fill: WHITE;");
debugBtn.setStyle("-fx-text-fill: WHITE;");
directoryBtn.setStyle(btnStylewhite);
streamingDirectoryBtn.setStyle(btnStyle);
updateBtn.setStyle(btnStylewhite);
@ -937,7 +818,7 @@ public class MainWindowController {
streamingSettingsBtn.setStyle("-fx-text-fill: BLACK;");
switchBtn.setStyle("-fx-text-fill: BLACK;");
infoBtn.setStyle("-fx-text-fill: BLACK;");
demoBtn.setStyle("-fx-text-fill: BLACK;");
debugBtn.setStyle("-fx-text-fill: BLACK;");
directoryBtn.setStyle(btnStyle);
streamingDirectoryBtn.setStyle(btnStyle);
updateBtn.setStyle(btnStyle);
@ -950,13 +831,43 @@ public class MainWindowController {
//das solte weg kann aber hier bleiben wicht ist dass es zum selben zeitpunkt wie aply color ausgef<65>hrt wird
if(mode.equals("local")){
switchBtn.setText("streaming");
switchBtn.setText("streaming"); //TODO translate
}else if(mode.equals("streaming")){
switchBtn.setText("local");
}
}
private void sideMenuSlideIn(){
sideMenuVBox.setVisible(true);
//einblenden von 40% nach 100% deckkraft in 400ms
FadeTransition fadeTransition = new FadeTransition(Duration.millis(400), sideMenuVBox);
fadeTransition.setFromValue(0.4);
fadeTransition.setToValue(1.0);
//einfahren des side munes in 400ms
TranslateTransition translateTransition = new TranslateTransition(Duration.millis(400), sideMenuVBox);
translateTransition.setFromX(-150);
translateTransition.setToX(0);
//falls beides verwendet werden soll
ParallelTransition parallelTransition = new ParallelTransition();
parallelTransition.getChildren().addAll(translateTransition);//(fadeTransition, translateTransition);
parallelTransition.play();
}
private void sideMenuSlideOut(){
// sideMenuVBox.setVisible(false);
//ausblenden von 100% nach 40% deckkraft in 400ms
FadeTransition fadeTransition = new FadeTransition(Duration.millis(400), sideMenuVBox);
fadeTransition.setFromValue(1.0);
fadeTransition.setToValue(0.4);
//ausfahren des side munes in 400ms
TranslateTransition translateTransition = new TranslateTransition(Duration.millis(400), sideMenuVBox);
translateTransition.setFromX(0);
translateTransition.setToX(-150);
//falls beides verwendet werden soll
ParallelTransition parallelTransition = new ParallelTransition();
parallelTransition.getChildren().addAll(translateTransition);//(fadeTransition, translateTransition);
parallelTransition.play();
}
public void setLoaclUI(int local){
switch(local){
@ -967,23 +878,32 @@ public class MainWindowController {
default:bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //default local
break;
}
settingsBtn.setText(bundle.getString("settings"));
infoBtn.setText(bundle.getString("info"));
settingsBtn.setText(bundle.getString("settings"));
streamingSettingsBtn.setText(bundle.getString("streamingSettings"));
playbtn.setText(bundle.getString("play"));
tfPath.setPromptText(bundle.getString("tfPath"));
tfStreamingPath.setPromptText(bundle.getString("tfPath"));
openfolderbtn.setText(bundle.getString("openFolder"));
updateBtn.setText(bundle.getString("checkUpdates"));
directoryBtn.setText(bundle.getString("chooseFolder"));
streamingDirectoryBtn.setText(bundle.getString("chooseFolder"));
sizelbl.setText(bundle.getString("fontSize"));
aulbl.setText(bundle.getString("autoUpdate"));
versionlbl.setText(bundle.getString("version")+" "+version);
columnTitel.setText(bundle.getString("columnName"));
columnRating.setText(bundle.getString("columnRating"));
columnStreamUrl.setText(bundle.getString("columnDatName"));
columnStreamUrl.setText(bundle.getString("columnStreamUrl"));
columnResolution.setText(bundle.getString("columnResolution"));
columnSeason.setText(bundle.getString("columnSeason"));
columnYear.setText(bundle.getString("columnYear"));
errorUpdateD = bundle.getString("errorUpdateD");
errorUpdateV = bundle.getString("errorUpdateV");
infoText = bundle.getString("version")+" "+version+" plasma bucket"+bundle.getString("infoText");
linuxBugText = bundle.getString("linuxBug");
errorPlay = bundle.getString("errorPlay");
errorOpenStream = bundle.getString("errorOpenStream");
errorMode = bundle.getString("errorMode");
infoText = bundle.getString("version")+" "+version+" "+versionName+bundle.getString("infoText");
linuxBugText = bundle.getString("linuxBug");
vlcNotInstalled = bundle.getString("vlcNotInstalled");
}
@ -1163,7 +1083,7 @@ public class MainWindowController {
ta1.appendText("Titel: "+titel+"\n");
ta1.appendText("Jahr: "+ year+"\n");
ta1.appendText("Einstufung: "+rated+"\n");
ta1.appendText("Ver<EFBFBD>ffentlicht am: "+released+"\n");
ta1.appendText("Ver<EFBFBD>ffentlicht am: "+released+"\n");
ta1.appendText("Laufzeit: "+runtime+"\n");
ta1.appendText("Genre: "+genre+"\n");
ta1.appendText("Regisseur: "+director+"\n");

View File

@ -11,15 +11,17 @@ public class streamUiData {
private IntegerProperty year = new SimpleIntegerProperty();
private IntegerProperty season = new SimpleIntegerProperty();
private IntegerProperty episode = new SimpleIntegerProperty();
private DoubleProperty rating = new SimpleDoubleProperty();
private StringProperty resolution = new SimpleStringProperty();
private StringProperty titel = new SimpleStringProperty();
private StringProperty streamUrl = new SimpleStringProperty();
//uiData ist der Typ der Daten in der TreeTabelView
public streamUiData (final int year, final int season, final double rating, final String resolution, final String titel, final String streamUrl) {
public streamUiData (final int year, final int season, final int episode, final double rating, final String resolution, final String titel, final String streamUrl) {
this.year.set(year);
this.season.set(season);
this.episode.set(episode);
this.rating.set(rating);
this.resolution.set(resolution);
this.titel.set(titel);
@ -34,6 +36,10 @@ public class streamUiData {
return season.get();
}
public int getEpisode() {
return episode.get();
}
public double getRating() {
return rating.get();
}
@ -59,6 +65,10 @@ public class streamUiData {
this.season.set(season);
}
public void setEpisode(int season) {
this.episode.set(season);
}
public void setRating(int rating) {
this.rating.set(rating);
}
@ -83,6 +93,10 @@ public class streamUiData {
return season;
}
public IntegerProperty episodeProperty(){
return episode;
}
public DoubleProperty ratingProperty(){
return rating;
}

View File

@ -1,7 +1,9 @@
# HomeFlix-Local_de_DE.properties German Local
info = Info
settings = Einstellungen
streamingSettings = Stream Einst.
play = play
tfPath = Pfad...
openFolder = Ordner \u00F6ffnen
chooseFolder = Ordner ausw\u00E4hlen
fontSize = Schriftgr\u00F6\u00DFe:
@ -10,10 +12,15 @@ autoUpdate = beim Start nach Updates suchen:
version = Version:
columnName = Name
columnRating = Bewertung
columnDatName = Datei Name
columnStreamUrl = Datei Name
columnResolution = Aufl\u00F6sung
columnSeason = Staffel
columnYear = Jahr
errorUpdateV = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not check update version (nvc)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorUpdateD = Beim ausf\u00FChren des Updates ist ein Fehler aufgetreten! \nError: could not download update files (ndf)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorPlay = Beim \u00F6ffnen der Datei ist ein Fehler aufgetreten! \nError: could not open file (nof) \nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorMode = Oh, da lief etwas falsch! Da hat jemand einen falschen Modus verwendet. \nError: mode unknow (muk)\nWeitere Hilfe erhalten sie unter www.kellerkinder.xyz \noder wenden sie sich an support@kellerkinder.xyz
errorOpenStream = Beim \u00F6ffnen des Streams ist ein Fehler aufgetreten!
linuxBug = Zurzeit werden unter Linux leider keine Dateien mit Leerzeichen unterst\u00FCtzt!
vlcNotInstalled = Um einen Film abspielen wird der VLC Media Player ben\u00F6tigt!
infoText = \nMaintainer: seilo@kellerkinder.xyz und \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

View File

@ -1,7 +1,9 @@
# HomeFlix-Local_en_US.properties US-English Local and default
info = Info
settings = Settings
streamingSettings = Stream Settings
play = play
tfPath = Path...
openFolder = open Folder
chooseFolder = choose Directory
fontSize = font size:
@ -10,10 +12,15 @@ autoUpdate = check at startup for updates:
version = Version:
columnName = Name
columnRating = Rating
columnDatName = File Name
columnStreamUrl = File Name
columnResolution = Resolution
columnSeason = Season
columnYear = Year
errorUpdateV = An error has occurred during update! \nError: could not check update version (nvc) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorUpdateD = An error has occurred during update! \nError: could not download update files (ndf) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorPlay = An error has occurred during opening the file! \nError: could not open file (nof) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorMode = Oh, something went wrong! It seems someone has used a wrong mode. \nError: mode unknow (muk) \nTo get help, visit www.kellerkinder.xyz \nor contcat support@kellerkinder.xyz
errorOpenStream = An error has occurred during opening the stream!
linuxBug = Currently no files are supported with additional space under Linux unfortunately!
vlcNotInstalled = VLC Media Player is required to play a movie!
infoText = \nMaintainer: seilo@kellerkinder.xyz and \nhendrik.schutter@coptersicht.de \n(c) 2016 Kellerkinder www.kellerkinder.xyz

Binary file not shown.

View File

@ -1 +1 @@
0.3.7
0.3.8