Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
08048d57ac | |||
6baa47b852 | |||
944151d35f | |||
b331ffd270 |
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_131"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="src/libraries/minimal-json-0.9.4.jar"/>
|
||||
<classpathentry kind="lib" path="src/libraries/commons-io-2.5.jar"/>
|
||||
|
@ -4,8 +4,6 @@
|
||||
Project HomeFlix is a Kellerkinder Project, that alowes you to sort all your local saved movies in clean UI.
|
||||
The dev branch is **only merged** into master when a **new release** is released, so **master contains the latest released version**. Please commit all changes to [dev](https://github.com/Seil0/Project-HomeFlix/tree/dev).
|
||||
|
||||
**Due to some changes with the API we use(not provided by us), the query does not work at the moment!**
|
||||
|
||||
Librarys used in this Project:
|
||||
JFoenix: https://github.com/jfoenixadmin/JFoenix
|
||||
minimal-json: https://github.com/ralfstx/minimal-json
|
||||
|
1
bin/.gitignore
vendored
@ -1 +1,2 @@
|
||||
/application/
|
||||
/libraries/
|
||||
|
@ -2,11 +2,9 @@
|
||||
|
||||
<?import com.jfoenix.controls.JFXButton?>
|
||||
<?import com.jfoenix.controls.JFXColorPicker?>
|
||||
<?import com.jfoenix.controls.JFXHamburger?>
|
||||
<?import com.jfoenix.controls.JFXSlider?>
|
||||
<?import com.jfoenix.controls.JFXTextField?>
|
||||
<?import com.jfoenix.controls.JFXToggleButton?>
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.ChoiceBox?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
@ -42,20 +40,16 @@
|
||||
</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">
|
||||
<image>
|
||||
<Image url="@../resources/Homeflix_Poster.png" />
|
||||
<Image url="@../recources/Homeflix_Poster.png" />
|
||||
</image></ImageView>
|
||||
<JFXButton fx:id="returnBtn" contentDisplay="CENTER" layoutX="690.0" layoutY="443.0" onAction="#returnBtnclicked" prefHeight="25.0" prefWidth="90.0" AnchorPane.bottomAnchor="132.0" AnchorPane.rightAnchor="120.0" />
|
||||
<JFXButton fx:id="forwardBtn" contentDisplay="CENTER" layoutX="798.0" layoutY="443.0" onAction="#forwardBtnclicked" prefHeight="25.0" prefWidth="90.0" 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>
|
||||
<JFXHamburger fx:id="menuHam">
|
||||
<padding>
|
||||
<Insets left="3.0" />
|
||||
</padding>
|
||||
</JFXHamburger>
|
||||
<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="32.0">
|
||||
<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>
|
||||
@ -92,23 +86,16 @@
|
||||
</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="autoupdateBtn" layoutX="14.0" layoutY="336.0" onAction="#autoupdateBtnAction" 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" />
|
||||
<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>
|
||||
|
1
bin/application/application.css
Normal file
@ -0,0 +1 @@
|
||||
/* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
|
@ -1,35 +1,24 @@
|
||||
#HomeFlix-Local_de_DE.properties German Local
|
||||
|
||||
#main window translations
|
||||
# HomeFlix-Local_de_DE.properties German Local
|
||||
info = Info
|
||||
settings = Einstellungen
|
||||
streamingSettings = Stream Einst.
|
||||
tfPath = Pfad...
|
||||
tfSearch = Suche...
|
||||
openFolder = Ordner \u00F6ffnen
|
||||
|
||||
#settings translations
|
||||
settingsHead1Label = HomeFlix Einstellungen
|
||||
tfPath = Pfad...
|
||||
chooseFolder = Ordner ausw\u00E4hlen
|
||||
mainColorLabel = Hauptfarbe:
|
||||
fontsizeLabel = Schriftgr\u00F6\u00DFe:
|
||||
localLabel = Sprache:
|
||||
fontSize = Schriftgr\u00F6\u00DFe:
|
||||
checkUpdates = Auf Update pr\u00FCfen
|
||||
checkingUpdates = Es wird nach Updates gesucht...
|
||||
updateBtnavail = Update verf\u00FCgbar
|
||||
updateBtnNotavail = Kein Update verf\u00FCgbar
|
||||
autoUpdateLabel = beim Start nach Updates suchen:
|
||||
autoUpdate = beim Start nach Updates suchen:
|
||||
version = Version:
|
||||
|
||||
#column translations
|
||||
columnName = Name
|
||||
columnRating = Bewertung
|
||||
columnStreamUrl = Datei Name
|
||||
columnResolution = Aufl\u00F6sung
|
||||
columnSeason = Staffel
|
||||
columnYear = Jahr
|
||||
|
||||
#error translations
|
||||
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
|
||||
@ -38,10 +27,9 @@ errorOpenStream = Beim \u00F6ffnen des Streams ist ein Fehler aufgetreten!
|
||||
errorLoad = Beim laden der Einstellungen ist ein Fehler aufgetreten!
|
||||
errorSave = Beim speichern der Einstellungen ist ein Fehler aufgetreten!
|
||||
noFilmFound = Kein Film mit diesem Titel gefunden!
|
||||
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-2017 Kellerkinder www.kellerkinder.xyz
|
||||
|
||||
#textFlow translations
|
||||
title = Titel
|
||||
year = Jahr
|
||||
rating = Einstufung
|
||||
@ -58,6 +46,5 @@ awards = Auszeichnungen
|
||||
metascore = Metascore
|
||||
imdbRating = IMDB-Bewertung
|
||||
type = Type
|
||||
|
||||
firstStartHeader = Es ist kein Stammverzeichnis f\u00FCr Filme angegeben!
|
||||
firstStartContent = Stammverzeichniss angeben?
|
@ -1,35 +1,24 @@
|
||||
#HomeFlix-Local_en_US.properties US-English Local and default
|
||||
|
||||
#main window translations
|
||||
# HomeFlix-Local_en_US.properties US-English Local and default
|
||||
info = Info
|
||||
settings = Settings
|
||||
streamingSettings = Stream Settings
|
||||
tfPath = Path...
|
||||
tfSearch = Search...
|
||||
openFolder = open Folder
|
||||
|
||||
#settings translations
|
||||
settingsHead1Label = HomeFlix Settings
|
||||
tfPath = Path...
|
||||
chooseFolder = choose Directory
|
||||
mainColorLabel = main color:
|
||||
fontsizeLabel = font size:
|
||||
localLabel = local:
|
||||
fontSize = font size:
|
||||
checkUpdates = check for updates
|
||||
checkingUpdates = checking for updates...
|
||||
updateBtnavail = update available
|
||||
updateBtnNotavail = no update available
|
||||
autoUpdateLabel = check at startup for updates:
|
||||
autoUpdate = check at startup for updates:
|
||||
version = Version:
|
||||
|
||||
#column translations
|
||||
columnName = Name
|
||||
columnRating = Rating
|
||||
columnStreamUrl = File Name
|
||||
columnResolution = Resolution
|
||||
columnSeason = Season
|
||||
columnYear = Year
|
||||
|
||||
#error translations
|
||||
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
|
||||
@ -38,10 +27,9 @@ errorOpenStream = An error has occurred during opening the stream!
|
||||
errorLoad = An error occurred while loading the settings!
|
||||
errorSave = An error occurred while saving the settings!
|
||||
noFilmFound = No film with this title found!
|
||||
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-2017 Kellerkinder www.kellerkinder.xyz
|
||||
|
||||
#textFlow translations
|
||||
title = Title
|
||||
year = Year
|
||||
rating = Rating
|
||||
@ -58,6 +46,5 @@ awards = Awards
|
||||
metascore = Metascore
|
||||
imdbRating = IMDB-Rating
|
||||
type = Type
|
||||
|
||||
firstStartHeader = There is no root directory for movies!
|
||||
firstStartContent = Specify a root directory?
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 135 B After Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 215 B After Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 128 B After Width: | Height: | Size: 128 B |
Before Width: | Height: | Size: 134 B After Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 138 B After Width: | Height: | Size: 138 B |
BIN
bin/recources/icons/menu_icon_black.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
bin/recources/icons/menu_icon_white.png
Normal file
After Width: | Height: | Size: 15 KiB |
@ -39,8 +39,8 @@ public class DBController {
|
||||
private MainWindowController mainWindowController;
|
||||
private Main main;
|
||||
private String DB_PATH = System.getProperty("user.home") + "\\Documents\\HomeFlix" + "\\" + "Homeflix.db"; //path to database file
|
||||
private Image favorite_black = new Image("resources/icons/ic_favorite_black_18dp_1x.png");
|
||||
private Image favorite_border_black = new Image("resources/icons/ic_favorite_border_black_18dp_1x.png");
|
||||
private Image favorite_black = new Image("recources/icons/ic_favorite_black_18dp_1x.png");
|
||||
private Image favorite_border_black = new Image("recources/icons/ic_favorite_border_black_18dp_1x.png");
|
||||
private List<String> filmsdbAll = new ArrayList<String>();
|
||||
private List<String> filmsdbLocal = new ArrayList<String>();
|
||||
private List<String> filmsdbStream = new ArrayList<String>();
|
||||
@ -115,20 +115,16 @@ public class DBController {
|
||||
ea.printStackTrace();
|
||||
}
|
||||
|
||||
//getting all files from the selected directory TODO rework
|
||||
String[] entries = new File(mainWindowController.getPath()).list();
|
||||
if(mainWindowController.getPath().equals("") || mainWindowController.getPath() == null){
|
||||
System.out.println("Kein Pfad angegeben"); //if path == null or ""
|
||||
}else if(new File(mainWindowController.getPath()).exists()) {
|
||||
}else{
|
||||
System.out.println(entries.length);
|
||||
for(int i=0;i!=entries.length;i++){
|
||||
filmsDir.add(cutOffEnd(entries[i]));
|
||||
}
|
||||
} else {
|
||||
System.out.println(mainWindowController.getPath() + "dosen't exist!");
|
||||
}
|
||||
|
||||
//getting all entries from the streaming lists
|
||||
for(int v=0; v< mainWindowController.streamingData.size(); v++){
|
||||
String fileName = mainWindowController.getStreamingPath()+"/"+mainWindowController.streamingData.get(v).getStreamUrl();
|
||||
try {
|
||||
@ -143,8 +139,6 @@ public class DBController {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//add all entries to filmsAll and filmsdbAl, for later comparing
|
||||
filmsAll.addAll(filmsDir);
|
||||
filmsAll.addAll(filmsStream);
|
||||
filmsdbAll.addAll(filmsdbLocal);
|
||||
@ -152,11 +146,6 @@ public class DBController {
|
||||
System.out.println("films in directory: "+filmsAll.size());
|
||||
System.out.println("filme in db: "+filmsdbAll.size());
|
||||
|
||||
/**
|
||||
* if filmsdbAll.size() == 0 database is empty, we need to fill it
|
||||
* else check if there is something to remove or to add
|
||||
* TODO separate local and streaming for better error handling
|
||||
*/
|
||||
if(filmsdbAll.size() == 0){
|
||||
System.out.println("creating entries ...");
|
||||
|
||||
@ -166,7 +155,7 @@ public class DBController {
|
||||
|
||||
if(mainWindowController.getPath().equals("") || mainWindowController.getPath() == null){
|
||||
System.out.println("Kein Pfad angegeben"); //if path == null or ""
|
||||
}else if(new File(mainWindowController.getPath()).exists()){
|
||||
}else{
|
||||
for(int j=0;j!=entries.length;j++) //goes through all the files in the directory
|
||||
{
|
||||
ps.setInt(1, 0); //rating as integer 1. column
|
||||
@ -209,10 +198,12 @@ public class DBController {
|
||||
ps.close();
|
||||
psS.close();
|
||||
}catch (SQLException ea) {
|
||||
System.err.println("Ups! an error occured!");
|
||||
System.err.println("Konnte nicht ausgef<65>hrt werden");
|
||||
ea.printStackTrace();
|
||||
}
|
||||
}else {
|
||||
|
||||
|
||||
try {
|
||||
try {
|
||||
checkAddEntry(); //check if added a new file
|
||||
@ -280,7 +271,7 @@ public class DBController {
|
||||
|
||||
try {
|
||||
stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("SELECT * FROM film_local WHERE titel = \""+name+"\";" );
|
||||
ResultSet rs = stmt.executeQuery("SELECT * FROM film_local WHERE titel = '"+name+"';" );
|
||||
if(rs.getString(4).equals("favorite_black")){
|
||||
mainWindowController.localFilms.set(i, new tableData(1, 1, 1, rs.getDouble(1), "1", rs.getString(2), rs.getString(3), new ImageView(favorite_black),rs.getBoolean(5)));
|
||||
}else{
|
||||
@ -291,7 +282,7 @@ public class DBController {
|
||||
} catch (SQLException e) {
|
||||
try {
|
||||
stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("SELECT * FROM film_streaming WHERE titel = \""+name+"\";" );
|
||||
ResultSet rs = stmt.executeQuery("SELECT * FROM film_streaming WHERE titel = '"+name+"';" );
|
||||
if(rs.getString(8).equals("favorite_black")){
|
||||
mainWindowController.streamingFilms.set(i,new tableData(rs.getInt(1), rs.getInt(2), rs.getInt(3), rs.getDouble(4), rs.getString(5), rs.getString(6), rs.getString(7), new ImageView(favorite_black),rs.getBoolean(9)));
|
||||
}else{
|
||||
@ -314,30 +305,25 @@ public class DBController {
|
||||
Statement stmt = connection.createStatement();
|
||||
|
||||
for(int a=0; a<filmsdbLocal.size(); a++){
|
||||
if(!filmsDir.contains(filmsdbLocal.get(a))){
|
||||
try {
|
||||
stmt.executeUpdate("delete from film_local where titel = \""+filmsdbLocal.get(a) + "\"");
|
||||
if(filmsDir.contains(filmsdbLocal.get(a))){
|
||||
}else{
|
||||
stmt.executeUpdate("delete from film_local where titel = '"+filmsdbLocal.get(a)+"'");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
System.out.println("removed \""+filmsdbLocal.get(a)+"\" from databsae");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(int b=0; b<filmsdbStreamURL.size(); b++){
|
||||
if(!filmsStreamURL.contains(filmsdbStreamURL.get(b))){
|
||||
try {
|
||||
stmt.executeUpdate("delete from film_streaming where titel = \"" + filmsdbStream.get(b) + "\"");
|
||||
if(filmsStreamURL.contains(filmsdbStreamURL.get(b))){
|
||||
}else{
|
||||
stmt.executeUpdate("delete from film_streaming where titel = '"+filmsdbStream.get(b)+"'");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
System.out.println("removed \""+filmsdbStream.get(b)+"\" from databsae");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -356,8 +342,9 @@ public class DBController {
|
||||
int i=0;
|
||||
|
||||
for(int a=0; a<filmsDir.size(); a++){
|
||||
if(!filmsdbLocal.contains(filmsDir.get(a))){
|
||||
stmt.executeUpdate("insert into film_local values (0, \""+cutOffEnd(entries[a])+"\", \""+entries[a]+"\",\"favorite_border_black\",0)");
|
||||
if(filmsdbLocal.contains(filmsDir.get(a))){
|
||||
}else{
|
||||
stmt.executeUpdate("insert into film_local values (0, '"+cutOffEnd(entries[a])+"', '"+entries[a]+"','favorite_border_black',0)");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
System.out.println("added \""+filmsDir.get(a)+"\" to databsae");
|
||||
@ -378,7 +365,7 @@ public class DBController {
|
||||
String titel = items.get(i).asObject().getString("titel","");
|
||||
|
||||
if(streamURL.equals(filmsStreamURL.get(b))){
|
||||
System.out.println("added \""+titel+"\"");
|
||||
System.out.println("hinzuf<EFBFBD>gen \""+titel+"\"");
|
||||
|
||||
ps.setInt(1, items.get(i).asObject().getInt("year", 0));
|
||||
ps.setInt(2, items.get(i).asObject().getInt("season", 0));
|
||||
@ -441,14 +428,14 @@ public class DBController {
|
||||
void getFavStatus(String name){
|
||||
try{
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("SELECT titel, rating, favIcon FROM film_local WHERE titel = \""+name+"\";" ); //SQL Befehl
|
||||
ResultSet rs = stmt.executeQuery("SELECT titel, rating, favIcon FROM film_local WHERE titel = '"+name+"';" ); //SQL Befehl
|
||||
System.out.println("local:"+rs.getString("rating")+", "+rs.getString("titel")+", "+rs.getString("favIcon"));
|
||||
stmt.close();
|
||||
rs.close();
|
||||
}catch(SQLException e){
|
||||
try {
|
||||
Statement stmtS = connection.createStatement();
|
||||
ResultSet rsS = stmtS.executeQuery("SELECT titel, rating, favIcon FROM film_streaming WHERE titel = \""+name+"\";" );
|
||||
ResultSet rsS = stmtS.executeQuery("SELECT titel, rating, favIcon FROM film_streaming WHERE titel = '"+name+"';" );
|
||||
System.out.println("streaming:"+rsS.getString("rating")+", "+rsS.getString("titel")+", "+rsS.getString("favIcon"));
|
||||
stmtS.close();
|
||||
rsS.close();
|
||||
@ -464,7 +451,7 @@ public class DBController {
|
||||
System.out.println("defavorisieren ...");
|
||||
try{
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE film_local SET rating=0,favIcon='favorite_border_black' WHERE titel=\""+name+"\";");
|
||||
stmt.executeUpdate("UPDATE film_local SET rating=0,favIcon='favorite_border_black' WHERE titel='"+name+"';");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
}catch(SQLException e){
|
||||
@ -473,7 +460,7 @@ public class DBController {
|
||||
}
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE film_streaming SET rating=0,favIcon='favorite_border_black' WHERE streamUrl=\""+streamUrl+"\";");
|
||||
stmt.executeUpdate("UPDATE film_streaming SET rating=0,favIcon='favorite_border_black' WHERE streamUrl='"+streamUrl+"';");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
} catch (SQLException e1) {
|
||||
@ -486,7 +473,7 @@ public class DBController {
|
||||
System.out.println("favorisieren ...");
|
||||
try{
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE film_local SET rating=1,favIcon='favorite_black' WHERE titel=\""+name+"\";");
|
||||
stmt.executeUpdate("UPDATE film_local SET rating=1,favIcon='favorite_black' WHERE titel='"+name+"';");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
}catch(SQLException e){
|
||||
@ -495,7 +482,7 @@ public class DBController {
|
||||
}
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE film_streaming SET rating=1,favIcon='favorite_black' WHERE streamUrl=\""+streamUrl+"\";");
|
||||
stmt.executeUpdate("UPDATE film_streaming SET rating=1,favIcon='favorite_black' WHERE streamUrl='"+streamUrl+"';");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
} catch (SQLException e1) {
|
||||
@ -507,7 +494,7 @@ public class DBController {
|
||||
void setCached(String streamUrl) throws SQLException{
|
||||
try{
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE film_local SET cached=1 WHERE streamUrl=\""+streamUrl+"\";");
|
||||
stmt.executeUpdate("UPDATE film_local SET cached=1 WHERE streamUrl='"+streamUrl+"';");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
}catch(SQLException e){
|
||||
@ -516,7 +503,7 @@ public class DBController {
|
||||
}
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE film_streaming SET cached=1 WHERE streamUrl=\""+streamUrl+"\";");
|
||||
stmt.executeUpdate("UPDATE film_streaming SET cached=1 WHERE streamUrl='"+streamUrl+"';");
|
||||
connection.commit();
|
||||
stmt.close();
|
||||
} catch (SQLException e1) {
|
||||
@ -562,7 +549,7 @@ public class DBController {
|
||||
void readCache(String streamUrl){
|
||||
try{
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("SELECT * FROM cache WHERE streamUrl=\""+streamUrl+"\";");
|
||||
ResultSet rs = stmt.executeQuery("SELECT * FROM cache WHERE streamUrl='"+streamUrl+"';");
|
||||
ArrayList<Text> nameText = new ArrayList<Text>();
|
||||
ArrayList<Text> responseText = new ArrayList<Text>();
|
||||
String fontFamily = main.getFONT_FAMILY();
|
||||
@ -611,7 +598,7 @@ public class DBController {
|
||||
try{
|
||||
mainWindowController.image1.setImage(im);
|
||||
}catch (Exception e){
|
||||
mainWindowController.image1.setImage(new Image("resources/icons/close_black_2048x2048.png"));
|
||||
mainWindowController.image1.setImage(new Image("recources/icons/close_black_2048x2048.png"));
|
||||
e.printStackTrace();
|
||||
}
|
||||
mainWindowController.image1.setImage(im);
|
||||
@ -632,3 +619,4 @@ public class DBController {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,7 @@ import java.io.IOException;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import javafx.application.Application;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Scene;
|
||||
@ -73,7 +74,7 @@ public class Main extends Application {
|
||||
primaryStage.setMinWidth(900.00);
|
||||
primaryStage.setResizable(false);
|
||||
primaryStage.setTitle("Project HomeFlix");
|
||||
primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("/resources/Homeflix_Icon_64x64.png"))); //adds application icon
|
||||
primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("/recources/Homeflix_Icon_64x64.png"))); //adds application icon
|
||||
|
||||
mainWindowController = loader.getController(); //Link of FXMLController and controller class
|
||||
mainWindowController.setAutoUpdate(AUTO_UPDATE); //set auto-update
|
||||
@ -128,7 +129,7 @@ public class Main extends Application {
|
||||
mainWindowController.addDataUI();
|
||||
|
||||
Scene scene = new Scene(pane); //create new scene, append pane to scene
|
||||
scene.getStylesheets().add(Main.class.getResource("MainWindow.css").toExternalForm());
|
||||
|
||||
primaryStage.setScene(scene); //append scene to stage
|
||||
primaryStage.show(); //show stage
|
||||
} catch (IOException e) {
|
||||
@ -140,11 +141,11 @@ public class Main extends Application {
|
||||
private String firstStart(){
|
||||
MainWindowController.firststart = true;
|
||||
switch(System.getProperty("user.language")+"_"+System.getProperty("user.country")){
|
||||
case "en_US": bundle = ResourceBundle.getBundle("resources.HomeFlix-Local", Locale.US); //us_english
|
||||
case "en_US": bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_english
|
||||
break;
|
||||
case "de_DE": bundle = ResourceBundle.getBundle("resources.HomeFlix-Local", Locale.GERMAN); //German
|
||||
case "de_DE": bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.GERMAN); //German
|
||||
break;
|
||||
default: bundle = ResourceBundle.getBundle("resources.HomeFlix-Local", Locale.US); //default local
|
||||
default: bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //default local
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
.jfx-hamburgerW StackPane { -fx-background-color: white;
|
||||
-fx-background-radius: 5px; }
|
||||
.jfx-hamburgerB StackPane { -fx-background-color: black;
|
||||
-fx-background-radius: 5px; }
|
@ -2,11 +2,9 @@
|
||||
|
||||
<?import com.jfoenix.controls.JFXButton?>
|
||||
<?import com.jfoenix.controls.JFXColorPicker?>
|
||||
<?import com.jfoenix.controls.JFXHamburger?>
|
||||
<?import com.jfoenix.controls.JFXSlider?>
|
||||
<?import com.jfoenix.controls.JFXTextField?>
|
||||
<?import com.jfoenix.controls.JFXToggleButton?>
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.ChoiceBox?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
@ -42,20 +40,16 @@
|
||||
</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">
|
||||
<image>
|
||||
<Image url="@../resources/Homeflix_Poster.png" />
|
||||
<Image url="@../recources/Homeflix_Poster.png" />
|
||||
</image></ImageView>
|
||||
<JFXButton fx:id="returnBtn" contentDisplay="CENTER" layoutX="690.0" layoutY="443.0" onAction="#returnBtnclicked" prefHeight="25.0" prefWidth="90.0" AnchorPane.bottomAnchor="132.0" AnchorPane.rightAnchor="120.0" />
|
||||
<JFXButton fx:id="forwardBtn" contentDisplay="CENTER" layoutX="798.0" layoutY="443.0" onAction="#forwardBtnclicked" prefHeight="25.0" prefWidth="90.0" 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>
|
||||
<JFXHamburger fx:id="menuHam">
|
||||
<padding>
|
||||
<Insets left="3.0" />
|
||||
</padding>
|
||||
</JFXHamburger>
|
||||
<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="32.0">
|
||||
<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>
|
||||
@ -92,23 +86,16 @@
|
||||
</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="autoupdateBtn" layoutX="14.0" layoutY="336.0" onAction="#autoupdateBtnAction" 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" />
|
||||
<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>
|
||||
|
@ -42,11 +42,9 @@ import java.util.Properties;
|
||||
import java.util.ResourceBundle;
|
||||
import com.jfoenix.controls.JFXButton;
|
||||
import com.jfoenix.controls.JFXColorPicker;
|
||||
import com.jfoenix.controls.JFXHamburger;
|
||||
import com.jfoenix.controls.JFXSlider;
|
||||
import com.jfoenix.controls.JFXTextField;
|
||||
import com.jfoenix.controls.JFXToggleButton;
|
||||
import com.jfoenix.transitions.hamburger.HamburgerBackArrowBasicTransition;
|
||||
|
||||
import javafx.animation.FadeTransition;
|
||||
import javafx.animation.ParallelTransition;
|
||||
@ -74,7 +72,6 @@ import javafx.scene.control.TreeTableColumn.SortType;
|
||||
import javafx.scene.control.TreeTableView;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
@ -106,6 +103,8 @@ public class MainWindowController {
|
||||
@FXML
|
||||
ScrollPane scrollPane;
|
||||
@FXML
|
||||
private JFXButton menubtn; //TODO switch to hamburger menu
|
||||
@FXML
|
||||
private JFXButton playbtn;
|
||||
@FXML
|
||||
private JFXButton openfolderbtn;
|
||||
@ -130,8 +129,6 @@ public class MainWindowController {
|
||||
@FXML
|
||||
private JFXButton streamingDirectoryBtn;
|
||||
@FXML
|
||||
private JFXHamburger menuHam;
|
||||
@FXML
|
||||
private JFXToggleButton autoupdateBtn;
|
||||
@FXML
|
||||
public JFXTextField tfPath;
|
||||
@ -146,20 +143,13 @@ public class MainWindowController {
|
||||
@FXML
|
||||
public JFXSlider sliderFontSize;
|
||||
@FXML
|
||||
private Label versionLabel;
|
||||
private Label versionlbl;
|
||||
@FXML
|
||||
private Label fontsizeLabel;
|
||||
private Label sizelbl;
|
||||
@FXML
|
||||
private Label autoUpdateLabel;
|
||||
@FXML
|
||||
private Label settingsHead1Label;
|
||||
@FXML
|
||||
private Label mainColorLabel;
|
||||
@FXML
|
||||
private Label localLabel;
|
||||
private Label aulbl;
|
||||
@FXML
|
||||
ImageView image1;
|
||||
|
||||
private ImageView imv1;
|
||||
|
||||
@FXML
|
||||
@ -186,15 +176,15 @@ public class MainWindowController {
|
||||
@FXML
|
||||
private TableColumn<tableData, String> dataNameEndColumn = new TableColumn<>("Datei Name mit Endung");
|
||||
|
||||
private boolean menuTrue = false; //saves the position of menuBtn (opened or closed)
|
||||
private boolean settingsTrue = false;
|
||||
private boolean menutrue = false; //saves the position of menuBtn (opened or closed)
|
||||
private boolean settingstrue = false;
|
||||
private boolean streamingSettingsTrue = false;
|
||||
private boolean autoUpdate = false;
|
||||
static boolean firststart = false;
|
||||
private int hashA = -2055934614;
|
||||
private String version = "0.5.2";
|
||||
private String buildNumber = "129";
|
||||
private String versionName = "solidify cow";
|
||||
private String version = "0.5.1";
|
||||
private String buildNumber = "127";
|
||||
private String versionName = "plasma cow";
|
||||
private File dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
|
||||
private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix");
|
||||
private File fileWin = new File(dirWin + "/config.xml");
|
||||
@ -209,6 +199,7 @@ public class MainWindowController {
|
||||
private String errorLoad;
|
||||
private String errorSave;
|
||||
private String infoText;
|
||||
private String linuxBugText;
|
||||
private String vlcNotInstalled;
|
||||
private String currentWorkingDirectory;
|
||||
private String path;
|
||||
@ -249,12 +240,14 @@ public class MainWindowController {
|
||||
ObservableList<tableData> localFilms = FXCollections.observableArrayList();
|
||||
ObservableList<tableData> streamingFilms = FXCollections.observableArrayList();
|
||||
ObservableList<tableData> streamingData = FXCollections.observableArrayList();
|
||||
private ImageView skip_previous_white = new ImageView(new Image("resources/icons/ic_skip_previous_white_18dp_1x.png"));
|
||||
private ImageView skip_previous_black = new ImageView(new Image("resources/icons/ic_skip_previous_black_18dp_1x.png"));
|
||||
private ImageView skip_next_white = new ImageView(new Image("resources/icons/ic_skip_next_white_18dp_1x.png"));
|
||||
private ImageView skip_next_black = new ImageView(new Image("resources/icons/ic_skip_next_black_18dp_1x.png"));
|
||||
private ImageView play_arrow_white = new ImageView(new Image("resources/icons/ic_play_arrow_white_18dp_1x.png"));
|
||||
private ImageView play_arrow_black = new ImageView(new Image("resources/icons/ic_play_arrow_black_18dp_1x.png"));
|
||||
private ImageView menu_icon_black = new ImageView(new Image("recources/icons/menu_icon_black.png"));
|
||||
private ImageView menu_icon_white = new ImageView(new Image("recources/icons/menu_icon_white.png"));
|
||||
private ImageView skip_previous_white = new ImageView(new Image("recources/icons/ic_skip_previous_white_18dp_1x.png"));
|
||||
private ImageView skip_previous_black = new ImageView(new Image("recources/icons/ic_skip_previous_black_18dp_1x.png"));
|
||||
private ImageView skip_next_white = new ImageView(new Image("recources/icons/ic_skip_next_white_18dp_1x.png"));
|
||||
private ImageView skip_next_black = new ImageView(new Image("recources/icons/ic_skip_next_black_18dp_1x.png"));
|
||||
private ImageView play_arrow_white = new ImageView(new Image("recources/icons/ic_play_arrow_white_18dp_1x.png"));
|
||||
private ImageView play_arrow_black = new ImageView(new Image("recources/icons/ic_play_arrow_black_18dp_1x.png"));
|
||||
private DirectoryChooser directoryChooser = new DirectoryChooser();
|
||||
private MenuItem like = new MenuItem("like");
|
||||
private MenuItem dislike = new MenuItem("dislike"); //TODO one option (like or dislike)
|
||||
@ -266,6 +259,30 @@ public class MainWindowController {
|
||||
private apiQuery ApiQuery;
|
||||
DBController dbController;
|
||||
|
||||
/**
|
||||
* TODO change value of Text-color change
|
||||
*/
|
||||
@FXML
|
||||
private void menubtnclicked(){
|
||||
if(menutrue == false){
|
||||
sideMenuSlideIn();
|
||||
menutrue = true;
|
||||
}else{
|
||||
sideMenuSlideOut();
|
||||
menutrue = false;
|
||||
}
|
||||
if(settingstrue == true){
|
||||
settingsAnchor.setVisible(false);
|
||||
setPath(tfPath.getText());
|
||||
saveSettings();
|
||||
settingstrue = false;
|
||||
}
|
||||
if(streamingSettingsTrue == true){
|
||||
streamingSettingsAnchor.setVisible(false);
|
||||
streamingSettingsTrue = false;
|
||||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void playbtnclicked(){
|
||||
System.out.println(System.getProperty("os.name"));
|
||||
@ -291,9 +308,16 @@ public class MainWindowController {
|
||||
alert.setTitle("Info");
|
||||
alert.setContentText(vlcNotInstalled);
|
||||
alert.showAndWait();
|
||||
}else if(datPath.contains(" ")){
|
||||
Alert alert = new Alert(AlertType.INFORMATION);
|
||||
alert.setHeaderText("");
|
||||
alert.setTitle("Info");
|
||||
alert.setContentText(linuxBugText);
|
||||
alert.initOwner(main.primaryStage);
|
||||
alert.showAndWait();
|
||||
}else{
|
||||
try {
|
||||
Runtime.getRuntime().exec(new String[] { "vlc", getPath()+"/"+ datPath});
|
||||
Runtime.getRuntime().exec("vlc "+getPath()+"/"+ datPath);
|
||||
} catch (IOException e) {
|
||||
showErrorMsg(errorPlay,e);
|
||||
}
|
||||
@ -308,7 +332,7 @@ public class MainWindowController {
|
||||
}
|
||||
}else if(mode.equals("streaming")){
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(datPath)); //open the streaming URL in browser
|
||||
Desktop.getDesktop().browse(new URI(datPath)); //open the streaming URL in browser (TODO other option?)
|
||||
} catch (URISyntaxException | IOException e) {
|
||||
showErrorMsg(errorOpenStream, (IOException) e);
|
||||
}
|
||||
@ -351,18 +375,18 @@ public class MainWindowController {
|
||||
|
||||
@FXML
|
||||
private void settingsBtnclicked(){
|
||||
if(settingsTrue == false){
|
||||
if(settingstrue == false){
|
||||
if(streamingSettingsTrue == true){
|
||||
streamingSettingsAnchor.setVisible(false);
|
||||
streamingSettingsTrue = false;
|
||||
}
|
||||
settingsAnchor.setVisible(true);
|
||||
settingsTrue = true;
|
||||
settingstrue = true;
|
||||
}else{
|
||||
settingsAnchor.setVisible(false);
|
||||
setPath(tfPath.getText());
|
||||
saveSettings();
|
||||
settingsTrue = false;
|
||||
settingstrue = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -372,9 +396,9 @@ public class MainWindowController {
|
||||
@FXML
|
||||
private void streamingSettingsBtnclicked(){
|
||||
if(streamingSettingsTrue == false){
|
||||
if(settingsTrue == true){
|
||||
if(settingstrue == true){
|
||||
settingsAnchor.setVisible(false);
|
||||
settingsTrue = false;
|
||||
settingstrue = false;
|
||||
}
|
||||
streamingSettingsAnchor.setVisible(true);
|
||||
streamingSettingsTrue = true;
|
||||
@ -399,8 +423,8 @@ public class MainWindowController {
|
||||
settingsAnchor.setVisible(false);
|
||||
streamingSettingsAnchor.setVisible(false);
|
||||
sideMenuSlideOut(); //disables side-menu
|
||||
menuTrue = false;
|
||||
settingsTrue = false;
|
||||
menutrue = false;
|
||||
settingstrue = false;
|
||||
streamingSettingsTrue = false;
|
||||
}
|
||||
|
||||
@ -565,32 +589,6 @@ public class MainWindowController {
|
||||
//Initializing the actions
|
||||
void initActions(){
|
||||
|
||||
HamburgerBackArrowBasicTransition burgerTask = new HamburgerBackArrowBasicTransition(menuHam);
|
||||
menuHam.addEventHandler(MouseEvent.MOUSE_PRESSED, (e)->{
|
||||
if(menuTrue == false){
|
||||
sideMenuSlideIn();
|
||||
burgerTask.setRate(1.0);
|
||||
burgerTask.play();
|
||||
menuTrue = true;
|
||||
}else{
|
||||
sideMenuSlideOut();
|
||||
burgerTask.setRate(-1.0);
|
||||
burgerTask.play();
|
||||
menuTrue = false;
|
||||
}
|
||||
if(settingsTrue == true){
|
||||
settingsAnchor.setVisible(false);
|
||||
setPath(tfPath.getText());
|
||||
saveSettings();
|
||||
settingsTrue = false;
|
||||
}
|
||||
if(streamingSettingsTrue == true){
|
||||
streamingSettingsAnchor.setVisible(false);
|
||||
streamingSettingsTrue = false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
tfsearch.textProperty().addListener(new ChangeListener<String>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends String> observable,String oldValue, String newValue) {
|
||||
@ -860,7 +858,7 @@ public class MainWindowController {
|
||||
playbtn.setGraphic(play_arrow_white);
|
||||
returnBtn.setGraphic(skip_previous_white);
|
||||
forwardBtn.setGraphic(skip_next_white);
|
||||
menuHam.getStyleClass().add("jfx-hamburgerW");
|
||||
menubtn.setGraphic(menu_icon_white);
|
||||
}else{
|
||||
settingsBtn.setStyle("-fx-text-fill: BLACK;");
|
||||
streamingSettingsBtn.setStyle("-fx-text-fill: BLACK;");
|
||||
@ -877,7 +875,7 @@ public class MainWindowController {
|
||||
playbtn.setGraphic(play_arrow_black);
|
||||
returnBtn.setGraphic(skip_previous_black);
|
||||
forwardBtn.setGraphic(skip_next_black);
|
||||
menuHam.getStyleClass().add("jfx-hamburgerB");
|
||||
menubtn.setGraphic(menu_icon_black);
|
||||
}
|
||||
|
||||
if(mode.equals("local")){
|
||||
@ -922,15 +920,15 @@ public class MainWindowController {
|
||||
void setLocalUI(){
|
||||
switch(getLocal()){
|
||||
case "en_US":
|
||||
bundle = ResourceBundle.getBundle("resources.HomeFlix-Local", Locale.US); //us_English
|
||||
bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //us_English
|
||||
cbLocal.getSelectionModel().select(0);
|
||||
break;
|
||||
case "de_DE":
|
||||
bundle = ResourceBundle.getBundle("resources.HomeFlix-Local", Locale.GERMAN); //German
|
||||
bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.GERMAN); //German
|
||||
cbLocal.getSelectionModel().select(1);
|
||||
break;
|
||||
default:
|
||||
bundle = ResourceBundle.getBundle("resources.HomeFlix-Local", Locale.US); //default local
|
||||
bundle = ResourceBundle.getBundle("recources.HomeFlix-Local", Locale.US); //default local
|
||||
cbLocal.getSelectionModel().select(0);
|
||||
break;
|
||||
}
|
||||
@ -944,12 +942,9 @@ public class MainWindowController {
|
||||
updateBtn.setText(bundle.getString("checkUpdates"));
|
||||
directoryBtn.setText(bundle.getString("chooseFolder"));
|
||||
streamingDirectoryBtn.setText(bundle.getString("chooseFolder"));
|
||||
settingsHead1Label.setText(bundle.getString("settingsHead1Label"));
|
||||
mainColorLabel.setText(bundle.getString("mainColorLabel"));
|
||||
fontsizeLabel.setText(bundle.getString("fontsizeLabel"));
|
||||
localLabel.setText(bundle.getString("localLabel"));
|
||||
autoUpdateLabel.setText(bundle.getString("autoUpdateLabel"));
|
||||
versionLabel.setText(bundle.getString("version")+" "+version+" (Build: "+buildNumber+")");
|
||||
sizelbl.setText(bundle.getString("fontSize"));
|
||||
aulbl.setText(bundle.getString("autoUpdate"));
|
||||
versionlbl.setText(bundle.getString("version")+" "+version+" (Build: "+buildNumber+")");
|
||||
columnTitel.setText(bundle.getString("columnName"));
|
||||
columnRating.setText(bundle.getString("columnRating"));
|
||||
columnStreamUrl.setText(bundle.getString("columnStreamUrl"));
|
||||
@ -965,6 +960,7 @@ public class MainWindowController {
|
||||
errorSave = bundle.getString("errorSave");
|
||||
noFilmFound = bundle.getString("noFilmFound");
|
||||
infoText = bundle.getString("version")+" "+version+" (Build: "+buildNumber+") "+versionName+bundle.getString("infoText");
|
||||
linuxBugText = bundle.getString("linuxBug");
|
||||
vlcNotInstalled = bundle.getString("vlcNotInstalled");
|
||||
|
||||
title = bundle.getString("title");
|
||||
|
@ -38,8 +38,7 @@ public class apiQuery{
|
||||
private Image im;
|
||||
private String[] responseString = new String[20];
|
||||
private String posterCache;
|
||||
private String apiURL = "https://www.omdbapi.com/?apikey=";
|
||||
private String apiKey = "b9f9fd23";
|
||||
private String apiURL = "https://www.omdbapi.com/?";
|
||||
ArrayList<Text> responseText = new ArrayList<Text>();
|
||||
ArrayList<Text> nameText = new ArrayList<Text>();
|
||||
|
||||
@ -76,7 +75,7 @@ public class apiQuery{
|
||||
moviename = moviename.replace(" ", "+");
|
||||
|
||||
//queryURL is apiURL and additional parameters, response-types: http,json,xml (must be json, since the response is processed with minimal-json )
|
||||
queryURL = new URL(apiURL + apiKey + "&t=" + moviename + "&plot=full&r=json");
|
||||
queryURL = new URL(apiURL + "t=" + moviename + "&plot=full&r=json");
|
||||
is = queryURL.openStream();
|
||||
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
|
||||
|
||||
@ -134,11 +133,12 @@ public class apiQuery{
|
||||
}
|
||||
|
||||
//if response == false then show mainWindowController.noFilmFound else create new Texts and add them to flowText
|
||||
if(retdata.contains("\"Response\":\"False\"")){ //TODO + FIXME
|
||||
if(responseString[19].equals("False")){
|
||||
mainWindowController.textFlow.getChildren().add(new Text(mainWindowController.noFilmFound));
|
||||
im = new Image("resources/icons/close_black_2048x2048.png");
|
||||
im = new Image("recources/icons/close_black_2048x2048.png");
|
||||
mainWindowController.image1.setImage(im);
|
||||
}else{
|
||||
//
|
||||
nameText.add(0, new Text(mainWindowController.title+": "));
|
||||
nameText.add(1, new Text(mainWindowController.year+": "));
|
||||
nameText.add(2, new Text(mainWindowController.rating+": "));
|
||||
@ -156,6 +156,7 @@ public class apiQuery{
|
||||
nameText.add(14, new Text(mainWindowController.imdbRating+": "));
|
||||
nameText.add(15, new Text(mainWindowController.type+": "));
|
||||
|
||||
|
||||
for(int i=0; i<nameText.size(); i++){
|
||||
nameText.get(i).setFont(Font.font (fontFamily, FontWeight.BOLD, fontSize));
|
||||
}
|
||||
@ -168,7 +169,7 @@ public class apiQuery{
|
||||
|
||||
//if there is no poster
|
||||
if(responseString[18].equals("N/A")){
|
||||
im = new Image("resources/icons/close_black_2048x2048.png");
|
||||
im = new Image("recources/icons/close_black_2048x2048.png");
|
||||
}else{
|
||||
im = new Image(responseString[18]);
|
||||
}
|
||||
@ -177,7 +178,6 @@ public class apiQuery{
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
mainWindowController.textFlow.getChildren().remove(0, mainWindowController.textFlow.getChildren().size());
|
||||
mainWindowController.textFlow.getChildren().add(new Text(e.toString()));
|
||||
System.out.println(e);
|
||||
} finally {
|
||||
|
1
src/application/application.css
Normal file
@ -0,0 +1 @@
|
||||
/* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
|
@ -49,9 +49,8 @@ public class updater implements Runnable{
|
||||
apiOutput = ina.readLine();
|
||||
ina.close();
|
||||
} catch (IOException e1) {
|
||||
Platform.runLater(() -> {
|
||||
mainWindowController.showErrorMsg(mainWindowController.errorUpdateV, e1);
|
||||
});
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
JsonObject object = Json.parse(apiOutput).asObject();
|
||||
@ -82,17 +81,21 @@ public class updater implements Runnable{
|
||||
System.out.println("update available");
|
||||
System.out.println("download link: " + browserDownloadUrl);
|
||||
try {
|
||||
//get the download-Data URL
|
||||
URL downloadURL = new URL(browserDownloadUrl);
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
|
||||
String updateDataURL = in.readLine();
|
||||
|
||||
//open new Http connection, ProgressMonitorInputStream for downloading the data
|
||||
HttpURLConnection conn = (HttpURLConnection) new URL(browserDownloadUrl).openConnection();
|
||||
HttpURLConnection conn = (HttpURLConnection) new URL(updateDataURL).openConnection();
|
||||
ProgressMonitorInputStream pmis = new ProgressMonitorInputStream(null, "Downloading...", conn.getInputStream());
|
||||
ProgressMonitor pm = pmis.getProgressMonitor();
|
||||
pm.setMillisToDecideToPopup(0);
|
||||
pm.setMillisToPopup(0);
|
||||
pm.setMinimum(0);// tell the progress bar that we start at the beginning of the stream
|
||||
pm.setMaximum(conn.getContentLength());// tell the progress bar the total number of bytes we are going to read.
|
||||
FileUtils.copyInputStreamToFile(pmis, new File("ProjectHomeFlix_update.jar")); //download update
|
||||
org.apache.commons.io.FileUtils.copyFile(new File("ProjectHomeFlix_update.jar"), new File("ProjectHomeFlix.jar")); //TODO rename update to old name
|
||||
org.apache.commons.io.FileUtils.deleteQuietly(new File("ProjectHomeFlix_update.jar")); //delete update
|
||||
FileUtils.copyInputStreamToFile(pmis, new File("ProjectHomeFlix.jar"));
|
||||
|
||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||
System.exit(0); //finishes itself
|
||||
} catch (IOException e) {
|
||||
|
@ -1,35 +1,24 @@
|
||||
#HomeFlix-Local_de_DE.properties German Local
|
||||
|
||||
#main window translations
|
||||
# HomeFlix-Local_de_DE.properties German Local
|
||||
info = Info
|
||||
settings = Einstellungen
|
||||
streamingSettings = Stream Einst.
|
||||
tfPath = Pfad...
|
||||
tfSearch = Suche...
|
||||
openFolder = Ordner \u00F6ffnen
|
||||
|
||||
#settings translations
|
||||
settingsHead1Label = HomeFlix Einstellungen
|
||||
tfPath = Pfad...
|
||||
chooseFolder = Ordner ausw\u00E4hlen
|
||||
mainColorLabel = Hauptfarbe:
|
||||
fontsizeLabel = Schriftgr\u00F6\u00DFe:
|
||||
localLabel = Sprache:
|
||||
fontSize = Schriftgr\u00F6\u00DFe:
|
||||
checkUpdates = Auf Update pr\u00FCfen
|
||||
checkingUpdates = Es wird nach Updates gesucht...
|
||||
updateBtnavail = Update verf\u00FCgbar
|
||||
updateBtnNotavail = Kein Update verf\u00FCgbar
|
||||
autoUpdateLabel = beim Start nach Updates suchen:
|
||||
autoUpdate = beim Start nach Updates suchen:
|
||||
version = Version:
|
||||
|
||||
#column translations
|
||||
columnName = Name
|
||||
columnRating = Bewertung
|
||||
columnStreamUrl = Datei Name
|
||||
columnResolution = Aufl\u00F6sung
|
||||
columnSeason = Staffel
|
||||
columnYear = Jahr
|
||||
|
||||
#error translations
|
||||
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
|
||||
@ -38,10 +27,9 @@ errorOpenStream = Beim \u00F6ffnen des Streams ist ein Fehler aufgetreten!
|
||||
errorLoad = Beim laden der Einstellungen ist ein Fehler aufgetreten!
|
||||
errorSave = Beim speichern der Einstellungen ist ein Fehler aufgetreten!
|
||||
noFilmFound = Kein Film mit diesem Titel gefunden!
|
||||
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-2017 Kellerkinder www.kellerkinder.xyz
|
||||
|
||||
#textFlow translations
|
||||
title = Titel
|
||||
year = Jahr
|
||||
rating = Einstufung
|
||||
@ -58,6 +46,5 @@ awards = Auszeichnungen
|
||||
metascore = Metascore
|
||||
imdbRating = IMDB-Bewertung
|
||||
type = Type
|
||||
|
||||
firstStartHeader = Es ist kein Stammverzeichnis f\u00FCr Filme angegeben!
|
||||
firstStartContent = Stammverzeichniss angeben?
|
@ -1,35 +1,24 @@
|
||||
#HomeFlix-Local_en_US.properties US-English Local and default
|
||||
|
||||
#main window translations
|
||||
# HomeFlix-Local_en_US.properties US-English Local and default
|
||||
info = Info
|
||||
settings = Settings
|
||||
streamingSettings = Stream Settings
|
||||
tfPath = Path...
|
||||
tfSearch = Search...
|
||||
openFolder = open Folder
|
||||
|
||||
#settings translations
|
||||
settingsHead1Label = HomeFlix Settings
|
||||
tfPath = Path...
|
||||
chooseFolder = choose Directory
|
||||
mainColorLabel = main color:
|
||||
fontsizeLabel = font size:
|
||||
localLabel = local:
|
||||
fontSize = font size:
|
||||
checkUpdates = check for updates
|
||||
checkingUpdates = checking for updates...
|
||||
updateBtnavail = update available
|
||||
updateBtnNotavail = no update available
|
||||
autoUpdateLabel = check at startup for updates:
|
||||
autoUpdate = check at startup for updates:
|
||||
version = Version:
|
||||
|
||||
#column translations
|
||||
columnName = Name
|
||||
columnRating = Rating
|
||||
columnStreamUrl = File Name
|
||||
columnResolution = Resolution
|
||||
columnSeason = Season
|
||||
columnYear = Year
|
||||
|
||||
#error translations
|
||||
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
|
||||
@ -38,10 +27,9 @@ errorOpenStream = An error has occurred during opening the stream!
|
||||
errorLoad = An error occurred while loading the settings!
|
||||
errorSave = An error occurred while saving the settings!
|
||||
noFilmFound = No film with this title found!
|
||||
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-2017 Kellerkinder www.kellerkinder.xyz
|
||||
|
||||
#textFlow translations
|
||||
title = Title
|
||||
year = Year
|
||||
rating = Rating
|
||||
@ -58,6 +46,5 @@ awards = Awards
|
||||
metascore = Metascore
|
||||
imdbRating = IMDB-Rating
|
||||
type = Type
|
||||
|
||||
firstStartHeader = There is no root directory for movies!
|
||||
firstStartContent = Specify a root directory?
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 135 B After Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 215 B After Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 128 B After Width: | Height: | Size: 128 B |
Before Width: | Height: | Size: 134 B After Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 138 B After Width: | Height: | Size: 138 B |
BIN
src/recources/icons/menu_icon_black.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/recources/icons/menu_icon_white.png
Normal file
After Width: | Height: | Size: 15 KiB |
@ -1 +1 @@
|
||||
127
|
||||
125
|
||||
|