Skip to content

Commit 6905a26

Browse files
committed
- one time activation of newly added senders in settings.
1 parent f80b34b commit 6905a26

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
- **FEATURE:** Thema-ComboBox kann entweder über den Mülleimer-Button zurückgesetzt werden oder über das Kontextmenü
2626
- **FEATURE:** Die verschiedenen Buttons zur Filterverwaltung wurden nun in einem Menübutton zusammengeführt um den Platzbedarf zu reduzieren.
2727
- **FEATURE:** Die Filmlänge kann nun im Filterdialog bis 240 Minuten ausgewählt werden.
28+
- **FEATURE:** MediathekView fragt einmalig beim Start, ob alle Sender aktiviert werden sollen, da neue Sender hinzugefügt wurden.
2829

2930
# **14.2.0**
3031
- **(macOS):** Dies ist die letzte Version, die mit macOS 10.15 Catalina lauffähig ist. Zukünftig wird mindestens macOS 11 vorausgesetzt.

src/main/java/mediathek/Main.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.sun.jna.platform.win32.VersionHelpers;
66
import javafx.application.Platform;
77
import mediathek.config.*;
8+
import mediathek.controller.SenderFilmlistLoadApprover;
89
import mediathek.controller.history.SeenHistoryMigrator;
910
import mediathek.daten.IndexedFilmList;
1011
import mediathek.gui.dialog.DialogStarteinstellungen;
@@ -504,6 +505,8 @@ public static void main(final String... args) {
504505

505506
loadConfigurationData();
506507

508+
activateNewSenders();
509+
507510
migrateSeenHistory();
508511
Daten.getInstance().launchHistoryDataLoading();
509512
Daten.getInstance().getListeBookmarkList().loadFromFile();
@@ -519,6 +522,29 @@ public static void main(final String... args) {
519522
});
520523
}
521524

525+
/**
526+
* Activate all senders when MediathekView adds additional ones.
527+
* For newer versions configKey must be adapted.
528+
*/
529+
private static void activateNewSenders() {
530+
final String configKey = "newSendersActivated.fourteen.three";
531+
var alreadyActivated = ApplicationConfiguration.getConfiguration().getBoolean(configKey, false);
532+
if (!alreadyActivated) {
533+
splashScreen.ifPresent(s -> s.setVisible(false));
534+
var res = JOptionPane.showConfirmDialog(null,
535+
"<html>Diese Version unterstützt neue Sender, die in den Einstellungen aktiviert werden müssen.<br/>" +
536+
"Soll MediathekView einmalig alle Sender aktivieren?</html>",
537+
Konstanten.PROGRAMMNAME, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
538+
if (res == JOptionPane.YES_OPTION) {
539+
logger.info("Activating new senders...");
540+
SenderFilmlistLoadApprover.approveAll();
541+
ApplicationConfiguration.getConfiguration().setProperty(configKey, true);
542+
}
543+
544+
splashScreen.ifPresent(s -> s.setVisible(true));
545+
}
546+
}
547+
522548
/**
523549
* Remove modern search index when not in use.
524550
*/

src/main/java/mediathek/controller/SenderFilmlistLoadApprover.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,17 @@ object SenderFilmlistLoadApprover {
4343
}
4444
}
4545

46+
/**
47+
* Approve that all senders may be loaded from filmlist.
48+
* This will overwrite any manual approvals.
49+
*/
50+
@JvmStatic
51+
fun approveAll() {
52+
senderSet.clear()
53+
senderSet.addAll(SenderListBoxModel.providedSenderList)
54+
config.setProperty(SENDER_KEY, senderSet)
55+
}
56+
4657
/**
4758
* Deny a sender from being loaded.
4859
*/

0 commit comments

Comments
 (0)