From 0a1d96d4f9008fc56af5e65f90f6fed774971e31 Mon Sep 17 00:00:00 2001 From: Christian F Date: Thu, 27 Jul 2023 10:28:15 +0200 Subject: [PATCH] - fixes #696 - fix incorrect description of download play action - switch to nightly - catch some exceptions in download list when removing or selecting entries --- CHANGELOG.md | 3 + .../java/mediathek/config/Konstanten.java | 4 +- .../gui/actions/PlayDownloadAction.java | 5 +- .../gui/tabs/tab_downloads/GuiDownloads.java | 78 ++++++++++--------- 4 files changed, 48 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a15f96b49a..7cdb8a2b1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# **14.0.1** +- **BUGFIX:** Inkorrekte Beschreibung des "Gespeicherten Film abspielen" Toolbar-Button im Tab Download wurde korrigiert. + # **14.0.0** - Es wird nun Java 20 verwendet. - User Interface wurde primär für neue macOS-Versionen überarbeitet. diff --git a/src/main/java/mediathek/config/Konstanten.java b/src/main/java/mediathek/config/Konstanten.java index 906f0a64f4..93557a88fe 100644 --- a/src/main/java/mediathek/config/Konstanten.java +++ b/src/main/java/mediathek/config/Konstanten.java @@ -27,9 +27,9 @@ public class Konstanten { public static final long MINIMUM_MEMORY_THRESHOLD = 768 * FileUtils.ONE_MB; - public static final Version MVVERSION = new Version(14,0,0); + public static final Version MVVERSION = new Version(14,0,1); - public static final ApplicationType APPLICATION_TYPE = ApplicationType.PRODUCTION; + public static final ApplicationType APPLICATION_TYPE = ApplicationType.NIGHTLY; public static final String MACOS_OFFICIAL_APP = "OSX_OFFICIAL_APP"; public static final String FORMAT_ZIP = ".zip"; diff --git a/src/main/java/mediathek/gui/actions/PlayDownloadAction.java b/src/main/java/mediathek/gui/actions/PlayDownloadAction.java index e260aab89c..2df6c56689 100644 --- a/src/main/java/mediathek/gui/actions/PlayDownloadAction.java +++ b/src/main/java/mediathek/gui/actions/PlayDownloadAction.java @@ -7,12 +7,13 @@ import java.awt.event.ActionEvent; public class PlayDownloadAction extends AbstractAction { + private static final String ACTION_TEXT = "Gespeicherten Film abspielen"; private final GuiDownloads guiDownloads; public PlayDownloadAction(GuiDownloads guiDownloads) { this.guiDownloads = guiDownloads; - putValue(Action.NAME, "Gespeicherten Film abspielen"); - putValue(Action.SHORT_DESCRIPTION, "Film abspielen"); + putValue(Action.NAME, ACTION_TEXT); + putValue(Action.SHORT_DESCRIPTION, ACTION_TEXT); putValue(Action.SMALL_ICON, SVGIconUtilities.createSVGIcon("icons/fontawesome/play.svg")); } diff --git a/src/main/java/mediathek/gui/tabs/tab_downloads/GuiDownloads.java b/src/main/java/mediathek/gui/tabs/tab_downloads/GuiDownloads.java index 4d9dd996b6..331bd982fb 100644 --- a/src/main/java/mediathek/gui/tabs/tab_downloads/GuiDownloads.java +++ b/src/main/java/mediathek/gui/tabs/tab_downloads/GuiDownloads.java @@ -202,21 +202,25 @@ private void updateFilmSizes(int[] rows) { boolean updateNeeded = false; for (var row : rows) { - var indexRow = tabelle.convertRowIndexToModel(row); - var listeDownloads = daten.getListeDownloads(); - var dlInfo = listeDownloads.get(indexRow); - if (dlInfo != null) { - if (dlInfo.mVFilmSize.getSize() != 0) - continue; + try { + var indexRow = tabelle.convertRowIndexToModel(row); + var listeDownloads = daten.getListeDownloads(); + var dlInfo = listeDownloads.get(indexRow); + if (dlInfo != null) { + if (dlInfo.mVFilmSize.getSize() != 0) + continue; - if (dlInfo.film != null) { - var oldSize = dlInfo.mVFilmSize.getSize(); - dlInfo.queryLiveSize(); - if (dlInfo.mVFilmSize.getSize() != oldSize) - updateNeeded = true; - } - } else - logger.error("Could not get download object"); + if (dlInfo.film != null) { + var oldSize = dlInfo.mVFilmSize.getSize(); + dlInfo.queryLiveSize(); + if (dlInfo.mVFilmSize.getSize() != oldSize) + updateNeeded = true; + } + } else + logger.error("Could not get download object"); + } + catch (Exception ignored) { + } } if (updateNeeded) @@ -598,17 +602,22 @@ private ArrayList getSelDownloads() { @Override public Optional getCurrentlySelectedFilm() { - final int selectedTableRow = tabelle.getSelectedRow(); - if (selectedTableRow != -1) { - Optional optRet; - final int modelIndex = tabelle.convertRowIndexToModel(selectedTableRow); - final DatenDownload download = (DatenDownload) tabelle.getModel().getValueAt(modelIndex, DatenDownload.DOWNLOAD_REF); - if (download.film == null) - optRet = Optional.empty(); - else - optRet = Optional.of(download.film); - return optRet; - } else { + try { + final int selectedTableRow = tabelle.getSelectedRow(); + if (selectedTableRow != -1) { + Optional optRet; + int modelIndex = tabelle.convertRowIndexToModel(selectedTableRow); + final DatenDownload download = (DatenDownload) tabelle.getModel().getValueAt(modelIndex, DatenDownload.DOWNLOAD_REF); + if (download.film == null) + optRet = Optional.empty(); + else + optRet = Optional.of(download.film); + return optRet; + } else { + return Optional.empty(); + } + } + catch (Exception e) { return Optional.empty(); } } @@ -948,19 +957,12 @@ public void stopAllWaitingDownloads() { } private void updateFilmData() { - if (isShowing()) { - DatenFilm selectedFilm = null; - final int selectedTableRow = tabelle.getSelectedRow(); - if (selectedTableRow != -1) { - final DatenDownload datenDownload = (DatenDownload) tabelle.getModel().getValueAt(tabelle.convertRowIndexToModel(selectedTableRow), DatenDownload.DOWNLOAD_REF); - if (datenDownload != null) { - selectedFilm = datenDownload.film; - } - } - var infoDialog = mediathekGui.getFilmInfoDialog(); - if (infoDialog != null) { - infoDialog.updateCurrentFilm(selectedFilm); - } + if (!isShowing()) + return; + + var infoDialog = mediathekGui.getFilmInfoDialog(); + if (infoDialog != null) { + infoDialog.updateCurrentFilm(getCurrentlySelectedFilm().orElse(null)); } }