diff --git a/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java b/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java index 33aee13..4267356 100644 --- a/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java +++ b/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java @@ -493,15 +493,16 @@ public class MainWindowController { @Override public void changed(ObservableValue observable, Object oldVal, Object newVal) { indexTable = filmsTreeTable.getSelectionModel().getSelectedIndex(); // get selected item - indexList = filmsList.indexOf(filmsTreeTable.getSelectionModel().getSelectedItem().getValue()); last = indexTable - 1; next = indexTable + 1; title = columnTitle.getCellData(indexTable); // get name of selected item streamUrl = columnStreamUrl.getCellData(indexTable); // get file path of selected item - - System.out.println("index table: " + indexTable); - System.out.println("index list: " + indexList); - System.out.println(title); + + for (FilmTabelDataType helpData : filmsList) { + if (helpData.getStreamUrl().equals(streamUrl)) { + indexList = filmsList.indexOf(helpData); + } + } if (filmsList.get(indexList).getCached()) { LOGGER.info("loading from cache: " + title); @@ -1072,6 +1073,10 @@ public class MainWindowController { this.bundle = bundle; } + public TreeTableView getFilmsTreeTable() { + return filmsTreeTable; + } + public TextFlow getTextFlow() { return textFlow; } diff --git a/src/main/java/kellerkinder/HomeFlix/controller/DBController.java b/src/main/java/kellerkinder/HomeFlix/controller/DBController.java index e9b7fcf..b9dc247 100644 --- a/src/main/java/kellerkinder/HomeFlix/controller/DBController.java +++ b/src/main/java/kellerkinder/HomeFlix/controller/DBController.java @@ -214,22 +214,22 @@ public class DBController { * @param streamUrl of the film * @param index of the film in LocalFilms list */ - public void refresh(String streamUrl, int index) { - // FIXME we need to refresh the entry in the table as well, else indexOf for indexList won't work + public void refresh(String streamUrl, int indexList) { LOGGER.info("refresh ..."); try { Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM films WHERE streamUrl = \"" + streamUrl + "\";"); if (rs.getInt("rating") == 1) { - mainWindowController.getFilmsList().set(index, new FilmTabelDataType(rs.getString("streamUrl"), + mainWindowController.getFilmsList().set(indexList, new FilmTabelDataType(rs.getString("streamUrl"), rs.getString("title"), rs.getInt("season"), rs.getInt("episode") ,rs.getDouble("rating"), rs.getBoolean("cached"), new ImageView(favorite_black))); } else { - mainWindowController.getFilmsList().set(index, new FilmTabelDataType(rs.getString("streamUrl"), + mainWindowController.getFilmsList().set(indexList, new FilmTabelDataType(rs.getString("streamUrl"), rs.getString("title"), rs.getInt("season"), rs.getInt("episode"), rs.getDouble("rating"), rs.getBoolean("cached"), new ImageView(favorite_border_black))); } + rs.close(); stmt.close(); } catch (Exception e) { @@ -448,8 +448,7 @@ public class DBController { LOGGER.error("Ups! an error occured!", e); } - // FIXME see fixme at refresh() -// refresh(streamUrl, mainWindowController.getIndexList()); + refresh(streamUrl, mainWindowController.getIndexList()); } /**