Skip to content

Commit

Permalink
- bring settings dialog to front on linux
Browse files Browse the repository at this point in the history
- make settings dialog dark mode compatible
  • Loading branch information
derreisende77 committed Aug 26, 2024
1 parent 2b7638e commit bb4a0ab
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 42 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@
- **BUGFIX:** Diverse Textfelder werden im Dark Mode nicht mehr mit weißem Hintergrund dargestellt.
- **BUGFIX:** MV deaktiviert im Fehlerfall die moderne Suche automatisch, so dass ein Neustart der App möglich wird.
- **BUGFIX:** Das Umbenennen von PSets in den Einstellungen funktioniert nun richtig.
- **BUGFIX(Linux):** Der Einstellungen-Dialog öffnet sich nicht mehr vom Hauptfenster verdeckt.
- **FEATURE(Linux/Windows):** Das Aussehen von FlatLaf kann in `.mediathek3/flatlaf` angepasst werden.
- **FEATURE:** Selektierte Einträge in `Suchhistorie bearbeiten`-Dialog können nun mittels Entfernen-Taste gelöscht werden.
- **FEATURE:** Das Blacklist Filter-Icon in der Toolbar kann mittels *Einstellungen/Allgemein* mit einem aussagefähigen Zusatztext dargestellt werden.
- **FEATURE:** Dark Mode für Filter-Dialog.
- **FEATURE:** Beschleunigte Verarbeitung von Lucene mittels native access aktiviert (benötigt `--enable-native-access=ALL-UNNAMED --add-modules jdk.incubator.vector` in den Startparametern)
- **FEATURE:** *Einstellungen/Set bearbeiten* für Dark Mode-Kompatibilität angepasst.
- **FEATURE:** Der Einstellungen-Dialog ist nun vollständig Dark-Mode-kompatibel.

# **14.1.0**
- JDK 21 wird nun mitgeliefert. Behebt primär Darstellungsfehler von Java Apps unter Windows.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,6 @@
public class DialogEinstellungen extends JFrame {
private final Daten daten;
public boolean ok;
private PanelEinstellungen panelEinstellungen;
private PanelDownload panelDownload;
private PanelEinstellungenErweitert panelEinstellungenErweitert;
private PanelEinstellungenGeo panelEinstellungenGeo;
private PanelEinstellungenColor panelEinstellungenColor;
private PanelFilmlisteLaden panelImportFilme;
private PanelBlacklist panelBlacklist;
private PanelDateinamen panelDateinamen;
private JPanel panelPset;
private PanelPsetImport panelPsetVorlagen;
private JPanel panelNotifications;
private final JPanel panelLeer = new JPanel();

private static final String NAME_einstellungen = "Einstellungen";
private static final String NAME_allgemeineEinstellungen = "Allgemein";
Expand Down Expand Up @@ -69,7 +57,6 @@ public DialogEinstellungen() {
initComponents();
daten = Daten.getInstance();

initPanels();
initTree();

restoreSizeFromConfig();
Expand Down Expand Up @@ -114,21 +101,6 @@ private void restoreSizeFromConfig() {
}
}

private void initPanels() {
panelEinstellungen = new PanelEinstellungen();
panelDownload = new PanelDownload();
panelEinstellungenErweitert = new PanelEinstellungenErweitert();
panelEinstellungenGeo = new PanelEinstellungenGeo(this);
panelEinstellungenColor = new PanelEinstellungenColor();
panelImportFilme = new PanelFilmlisteLaden(true);
panelBlacklist = new PanelBlacklist(daten, this, PanelBlacklist.class.getName());
panelDateinamen = new PanelDateinamen(daten, this);
panelPset = new PanelPset(this);
panelPsetVorlagen = new PanelPsetImport(daten, this);

panelNotifications = new PanelNotifications();
}

private void initTree() {
DefaultMutableTreeNode treeNodeStart = new DefaultMutableTreeNode(Konstanten.PROGRAMMNAME);
// ######## Einstellungen ############
Expand Down Expand Up @@ -163,61 +135,61 @@ private void initTree() {
if (node == null) {
// nix markiert
jPanelExtra.removeAll();
jPanelExtra.add(panelLeer);
jPanelExtra.add(new JPanel());
} else {
String name1 = node.getUserObject().toString();
setTitle(name1);
switch (name1) {
case NAME_einstellungen -> jTree1.setSelectionPath(new TreePath(treeNodeAllgemeineEinstellungen.getPath()));
case NAME_notifications -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelNotifications);
jPanelExtra.add(new PanelNotifications());
}
case NAME_bandwidth -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelDownload);
jPanelExtra.add(new PanelDownload());
}
case NAME_allgemeineEinstellungen -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelEinstellungen);
jPanelExtra.add(new PanelEinstellungen());
}
case NAME_allgemeineEinstellungenErweitert -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelEinstellungenErweitert);
jPanelExtra.add(new PanelEinstellungenErweitert());
}
case NAME_allgemeineEinstellungenGeo -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelEinstellungenGeo);
jPanelExtra.add(new PanelEinstellungenGeo(this));
}
case NAME_allgemeineEinstellungenColor -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelEinstellungenColor);
jPanelExtra.add(new PanelEinstellungenColor());
}
case NAME_filmListe -> jTree1.setSelectionPath(new TreePath(treeNodeFilmliste.getPath()));
case NAME_filmListeLaden -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelImportFilme);
jPanelExtra.add(new PanelFilmlisteLaden(true));
}
case NAME_blacklist -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelBlacklist);
jPanelExtra.add(new PanelBlacklist(daten, this, PanelBlacklist.class.getName()));
}
case NAME_aufzeichnen -> jTree1.setSelectionPath(new TreePath(treeNodeDateinamen.getPath()));
case NAME_dateiname -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelDateinamen);
jPanelExtra.add(new PanelDateinamen(daten, this));
}
case NAME_programmset -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelPset);
jPanelExtra.add(new PanelPset(this));
}
case NAME_programmsetImportieren -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelPsetVorlagen);
jPanelExtra.add(new PanelPsetImport(daten, this));
}
default -> {
jPanelExtra.removeAll();
jPanelExtra.add(panelLeer);
jPanelExtra.add(new JPanel());
setTitle("Programmeinstellungen");
}
}
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/mediathek/mainwindow/MediathekGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -909,7 +909,11 @@ protected void handleDownloadFinishedEvent(DownloadFinishedEvent msg) {

@Handler
private void handleShowSettingsDialogEvent(ShowSettingsDialogEvent evt) {
SwingUtilities.invokeLater(() -> getSettingsDialog().setVisible(true));
SwingUtilities.invokeLater(() -> {
getSettingsDialog().setVisible(true);
if (!SystemUtils.IS_OS_LINUX)
getSettingsDialog().toFront();
});
}

/**
Expand Down

0 comments on commit bb4a0ab

Please sign in to comment.