/*
* MediathekView
* Copyright (C) 2008 W. Xaver
* W.Xaver[at]googlemail.com
* http://zdfmediathk.sourceforge.net/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mediathek.gui.dialogEinstellungen;
import com.jidesoft.utils.SystemInfo;
import mSearch.tool.Functions.OperatingSystemType;
import mSearch.tool.Listener;
import mSearch.tool.Log;
import mediathek.config.Daten;
import mediathek.config.Icons;
import mediathek.config.Konstanten;
import mediathek.config.MVConfig;
import mediathek.gui.PanelVorlage;
import mediathek.gui.dialog.DialogHilfe;
import mediathek.tool.GuiFunktionen;
import mediathek.tool.MVMessageDialog;
import mediathek.tool.TextCopyPaste;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import static mSearch.tool.Functions.getOs;
@SuppressWarnings("serial")
public class PanelEinstellungenErweitert extends PanelVorlage {
public PanelEinstellungenErweitert(Daten d, JFrame pparentComponent) {
super(d, pparentComponent);
initComponents();
daten = d;
init();
setIcon();
setHelp();
// jRadioButtonAuto.addActionListener(e -> setUserAgent());
// jRadioButtonManuel.addActionListener(e -> setUserAgent());
//
// jTextFieldUserAgent.getDocument().addDocumentListener(new BeobUserAgent());
Listener.addListener(new Listener(Listener.EREIGNIS_PROGRAMM_OEFFNEN, PanelEinstellungenErweitert.class.getSimpleName()) {
@Override
public void ping() {
init();
}
});
jCheckBoxAboSuchen.setSelected(Boolean.parseBoolean(MVConfig.get(MVConfig.Configs.SYSTEM_ABOS_SOFORT_SUCHEN)));
jCheckBoxAboSuchen.addActionListener(e -> MVConfig.add(MVConfig.Configs.SYSTEM_ABOS_SOFORT_SUCHEN, Boolean.toString(jCheckBoxAboSuchen.isSelected())));
jCheckBoxDownloadSofortStarten.setSelected(Boolean.parseBoolean(MVConfig.get(MVConfig.Configs.SYSTEM_DOWNLOAD_SOFORT_STARTEN)));
jCheckBoxDownloadSofortStarten.addActionListener(e -> MVConfig.add(MVConfig.Configs.SYSTEM_DOWNLOAD_SOFORT_STARTEN, Boolean.toString(jCheckBoxDownloadSofortStarten.isSelected())));
// ====================================
jButtonProgrammDateimanager.addActionListener(new BeobPfad(MVConfig.Configs.SYSTEM_ORDNER_OEFFNEN, "Dateimanager suchen", jTextFieldProgrammDateimanager));
jButtonProgrammVideoplayer.addActionListener(new BeobPfad(MVConfig.Configs.SYSTEM_PLAYER_ABSPIELEN, "Videoplayer suchen", jTextFieldVideoplayer));
jButtonProgrammUrl.addActionListener(new BeobPfad(MVConfig.Configs.SYSTEM_URL_OEFFNEN, "Browser suchen", jTextFieldProgrammUrl));
jButtonProgrammShutdown.addActionListener(new BeobPfad(MVConfig.Configs.SYSTEM_LINUX_SHUTDOWN, "Shutdown Befehl", jTextFieldProgrammShutdown));
jTextFieldProgrammDateimanager.setText(MVConfig.get(MVConfig.Configs.SYSTEM_ORDNER_OEFFNEN));
jTextFieldProgrammDateimanager.getDocument().addDocumentListener(new BeobDoc(MVConfig.Configs.SYSTEM_ORDNER_OEFFNEN, jTextFieldProgrammDateimanager));
jTextFieldProgrammDateimanager.addMouseListener(new TextCopyPaste());
jTextFieldVideoplayer.setText(MVConfig.get(MVConfig.Configs.SYSTEM_PLAYER_ABSPIELEN));
jTextFieldVideoplayer.getDocument().addDocumentListener(new BeobDoc(MVConfig.Configs.SYSTEM_PLAYER_ABSPIELEN, jTextFieldVideoplayer));
jTextFieldVideoplayer.addMouseListener(new TextCopyPaste());
jTextFieldProgrammUrl.setText(MVConfig.get(MVConfig.Configs.SYSTEM_URL_OEFFNEN));
jTextFieldProgrammUrl.getDocument().addDocumentListener(new BeobDoc(MVConfig.Configs.SYSTEM_URL_OEFFNEN, jTextFieldProgrammUrl));
jTextFieldProgrammUrl.addMouseListener(new TextCopyPaste());
jTextFieldProgrammShutdown.setText(MVConfig.get(MVConfig.Configs.SYSTEM_LINUX_SHUTDOWN));
if (jTextFieldProgrammShutdown.getText().isEmpty()) {
jTextFieldProgrammShutdown.setText(Konstanten.SHUTDOWN_LINUX);
MVConfig.add(MVConfig.Configs.SYSTEM_LINUX_SHUTDOWN, Konstanten.SHUTDOWN_LINUX);
}
jTextFieldProgrammShutdown.getDocument().addDocumentListener(new BeobDoc(MVConfig.Configs.SYSTEM_LINUX_SHUTDOWN, jTextFieldProgrammShutdown));
jTextFieldProgrammShutdown.addMouseListener(new TextCopyPaste());
if (getOs() != OperatingSystemType.LINUX) {
// Funktion ist nur für Linux
jButtonHilfeProgrammShutdown.setEnabled(false);
jTextFieldProgrammShutdown.setEnabled(false);
jButtonProgrammShutdown.setEnabled(false);
}
}
private void init() {
// // UserAgent
// jRadioButtonAuto.setSelected(Daten.isUserAgentAuto());
// jRadioButtonManuel.setSelected(!Daten.isUserAgentAuto());
//
// jTextFieldUserAgent.setEditable(!Daten.isUserAgentAuto());
// jTextFieldUserAgent.setText(MVConfig.get(MVConfig.Configs.SYSTEM_USER_AGENT));
// jTextFieldAuto.setText(Konstanten.USER_AGENT_DEFAULT);
jTextFieldProgrammDateimanager.setText(MVConfig.get(MVConfig.Configs.SYSTEM_ORDNER_OEFFNEN));
jTextFieldProgrammUrl.setText(MVConfig.get(MVConfig.Configs.SYSTEM_URL_OEFFNEN));
}
// private void setUserAgent() {
// if (jRadioButtonAuto.isSelected()) {
// Daten.setUserAgentAuto();
// } else {
// Daten.setUserAgentManuel(jTextFieldUserAgent.getText());
// }
// jTextFieldUserAgent.setEditable(!Daten.isUserAgentAuto());
// }
private void setHelp() {
// jButtonHilfe.addActionListener(e -> new DialogHilfe(parentComponent, true, "\n"
// + "Dieser Text wird als User-Agent\n"
// + "an den Webserver übertragen. Das entspricht\n"
// + "der Kennung, die auch die Browser senden.").setVisible(true));
jButtonHilfeProgrammDateimanager.addActionListener(e -> new DialogHilfe(parentComponent, true, "\n"
+ "Im Tab \"Downloads\" kann man mit der rechten\n"
+ "Maustaste den Downloadordner (Zielordner)\n"
+ "des jeweiligen Downloads öffnen.\n"
+ "Normalerweise wird der Dateimanager des\n"
+ "Betriebssystems gefunden und geöffnet. Klappt das nicht,\n"
+ "kann hier ein Programm dafür angegeben werden.").setVisible(true));
jButtonHilfeNeuladen.addActionListener(e -> new DialogHilfe(parentComponent, true, "\n"
+ "Abos automatisch suchen:\n"
+ "Nach dem Neuladen einer Filmliste wird dann\n"
+ "sofort nach neuen Abos gesucht. Ansonsten muss man\n"
+ "im Tab Download auf \"Downloads aktualisieren\" klicken.\n"
+ "\n"
+ "Downloads sofort starten:\n"
+ "Neu angelegte Downloads (aus Abos) werden\n"
+ "sofort gestartet. Ansonsten muss man sie\n"
+ "selbst starten.\n").setVisible(true));
jButtonHilfeVideoplayer.addActionListener(e -> new DialogHilfe(parentComponent, true, "\n"
+ "Im Tab \"Downloads\" kann man den gespeicherten\n"
+ "Film in einem Videoplayer öffnen.\n"
+ "Normalerweise wird der Videoplayer des\n"
+ "Betriebssystems gefunden und geöffnet. Klappt das nicht,\n"
+ "kann hier ein Programm dafür angegeben werden.").setVisible(true));
jButtonHilfeProgrammUrl.addActionListener(e -> new DialogHilfe(parentComponent, true, "\n"
+ "Wenn das Programm versucht, einen Link zu öffnen\n"
+ "(z.B. den Link im Menüpunkt \"Hilfe\" zu den \"Hilfeseiten\")\n"
+ "und die Standardanwendung (z.B. \"Firefox\") nicht startet,\n"
+ "kann damit ein Programm ausgewählt und\n"
+ "fest zugeordnet werden (z.B. der Browser \"Firefox\").").setVisible(true));
jButtonHilfeProgrammShutdown.addActionListener(e -> new DialogHilfe(parentComponent, true, "\n"
+ "Bei Linux wird das Programm/Script ausgeführt\n"
+ "um den Recher herunter zu fahren\n"
+ "\n"
+ "mögliche Aufrufe sind:\n"
+ "\n"
+ "systemctl poweroff\n"
+ "poweroff\n"
+ "sudo shutdown -P now\n"
+ "shutdown -h now").setVisible(true));
}
private void setIcon() {
// jButtonHilfe.setIcon(Icons.ICON_BUTTON_HELP);
jButtonHilfeNeuladen.setIcon(Icons.ICON_BUTTON_HELP);
jButtonHilfeProgrammDateimanager.setIcon(Icons.ICON_BUTTON_HELP);
jButtonHilfeVideoplayer.setIcon(Icons.ICON_BUTTON_HELP);
jButtonHilfeProgrammUrl.setIcon(Icons.ICON_BUTTON_HELP);
jButtonHilfeProgrammShutdown.setIcon(Icons.ICON_BUTTON_HELP);
jButtonProgrammDateimanager.setIcon(Icons.ICON_BUTTON_FILE_OPEN);
jButtonProgrammVideoplayer.setIcon(Icons.ICON_BUTTON_FILE_OPEN);
jButtonProgrammUrl.setIcon(Icons.ICON_BUTTON_FILE_OPEN);
jButtonProgrammShutdown.setIcon(Icons.ICON_BUTTON_FILE_OPEN);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
javax.swing.ButtonGroup buttonGroup1 = new javax.swing.ButtonGroup();
javax.swing.JPanel jPanel6 = new javax.swing.JPanel();
jCheckBoxAboSuchen = new javax.swing.JCheckBox();
jCheckBoxDownloadSofortStarten = new javax.swing.JCheckBox();
jButtonHilfeNeuladen = new javax.swing.JButton();
javax.swing.JPanel jPanel2 = new javax.swing.JPanel();
jTextFieldProgrammDateimanager = new javax.swing.JTextField();
jButtonProgrammDateimanager = new javax.swing.JButton();
jButtonHilfeProgrammDateimanager = new javax.swing.JButton();
javax.swing.JLabel jLabel1 = new javax.swing.JLabel();
javax.swing.JLabel jLabel2 = new javax.swing.JLabel();
jTextFieldVideoplayer = new javax.swing.JTextField();
jButtonHilfeVideoplayer = new javax.swing.JButton();
jButtonProgrammVideoplayer = new javax.swing.JButton();
javax.swing.JPanel jPanel4 = new javax.swing.JPanel();
jTextFieldProgrammUrl = new javax.swing.JTextField();
jButtonProgrammUrl = new javax.swing.JButton();
jButtonHilfeProgrammUrl = new javax.swing.JButton();
javax.swing.JPanel jPanel3 = new javax.swing.JPanel();
jButtonHilfeProgrammShutdown = new javax.swing.JButton();
jButtonProgrammShutdown = new javax.swing.JButton();
jTextFieldProgrammShutdown = new javax.swing.JTextField();
jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Nach dem Neuladen der Filmliste"));
jCheckBoxAboSuchen.setText("Abos automatisch suchen");
jCheckBoxDownloadSofortStarten.setText("Downloads aus Abos sofort starten");
jButtonHilfeNeuladen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-help.png"))); // NOI18N
jButtonHilfeNeuladen.setToolTipText("Hilfe anzeigen");
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBoxAboSuchen)
.addComponent(jCheckBoxDownloadSofortStarten))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonHilfeNeuladen)
.addContainerGap())
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jCheckBoxAboSuchen)
.addComponent(jButtonHilfeNeuladen))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckBoxDownloadSofortStarten)
.addContainerGap(17, Short.MAX_VALUE))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Tab Downloads"));
jButtonProgrammDateimanager.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-file-open.png"))); // NOI18N
jButtonProgrammDateimanager.setToolTipText("Programm auswählen");
jButtonHilfeProgrammDateimanager.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-help.png"))); // NOI18N
jButtonHilfeProgrammDateimanager.setToolTipText("Hilfe anzeigen");
jLabel1.setText("Datei-Manager zum Öffnen des Downloadordners");
jLabel2.setText("Videoplayer zum Abspielen gespeicherter Filme");
jButtonHilfeVideoplayer.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-help.png"))); // NOI18N
jButtonHilfeVideoplayer.setToolTipText("Hilfe anzeigen");
jButtonProgrammVideoplayer.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-file-open.png"))); // NOI18N
jButtonProgrammVideoplayer.setToolTipText("Programm auswählen");
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addComponent(jTextFieldProgrammDateimanager)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonProgrammDateimanager)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonHilfeProgrammDateimanager))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addComponent(jTextFieldVideoplayer)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonProgrammVideoplayer)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonHilfeVideoplayer))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel2))
.addGap(0, 180, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextFieldProgrammDateimanager, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonProgrammDateimanager)
.addComponent(jButtonHilfeProgrammDateimanager))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldVideoplayer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(1, 1, 1))
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButtonHilfeVideoplayer)
.addComponent(jButtonProgrammVideoplayer)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButtonHilfeProgrammDateimanager, jButtonProgrammDateimanager, jTextFieldProgrammDateimanager});
jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButtonHilfeVideoplayer, jButtonProgrammVideoplayer, jTextFieldVideoplayer});
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Webbrowser zum Öffnen von URLs"));
jButtonProgrammUrl.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-file-open.png"))); // NOI18N
jButtonProgrammUrl.setToolTipText("Programm auswählen");
jButtonHilfeProgrammUrl.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-help.png"))); // NOI18N
jButtonHilfeProgrammUrl.setToolTipText("Hilfe anzeigen");
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTextFieldProgrammUrl)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonProgrammUrl)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonHilfeProgrammUrl)
.addContainerGap())
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextFieldProgrammUrl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonProgrammUrl)
.addComponent(jButtonHilfeProgrammUrl))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel4Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButtonHilfeProgrammUrl, jButtonProgrammUrl, jTextFieldProgrammUrl});
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Linux: Aufruf zum Shutdown"));
jButtonHilfeProgrammShutdown.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-help.png"))); // NOI18N
jButtonHilfeProgrammShutdown.setToolTipText("Hilfe anzeigen");
jButtonProgrammShutdown.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mediathek/res/muster/button-file-open.png"))); // NOI18N
jButtonProgrammShutdown.setToolTipText("Programm/Script auswählen");
jTextFieldProgrammShutdown.setText("shutdown -h now");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTextFieldProgrammShutdown)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonProgrammShutdown)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonHilfeProgrammShutdown)
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTextFieldProgrammShutdown, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButtonHilfeProgrammShutdown)
.addComponent(jButtonProgrammShutdown)))
.addGap(0, 12, Short.MAX_VALUE))
);
jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButtonHilfeProgrammShutdown, jButtonProgrammShutdown, jTextFieldProgrammShutdown});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(218, Short.MAX_VALUE))
);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButtonHilfeNeuladen;
private javax.swing.JButton jButtonHilfeProgrammDateimanager;
private javax.swing.JButton jButtonHilfeProgrammShutdown;
private javax.swing.JButton jButtonHilfeProgrammUrl;
private javax.swing.JButton jButtonHilfeVideoplayer;
private javax.swing.JButton jButtonProgrammDateimanager;
private javax.swing.JButton jButtonProgrammShutdown;
private javax.swing.JButton jButtonProgrammUrl;
private javax.swing.JButton jButtonProgrammVideoplayer;
private javax.swing.JCheckBox jCheckBoxAboSuchen;
private javax.swing.JCheckBox jCheckBoxDownloadSofortStarten;
private javax.swing.JTextField jTextFieldProgrammDateimanager;
private javax.swing.JTextField jTextFieldProgrammShutdown;
private javax.swing.JTextField jTextFieldProgrammUrl;
private javax.swing.JTextField jTextFieldVideoplayer;
// End of variables declaration//GEN-END:variables
// private class BeobUserAgent implements DocumentListener {
//
// @Override
// public void insertUpdate(DocumentEvent e) {
// tus();
// }
//
// @Override
// public void removeUpdate(DocumentEvent e) {
// tus();
// }
//
// @Override
// public void changedUpdate(DocumentEvent e) {
// tus();
// }
//
// private void tus() {
// Daten.setUserAgentManuel(jTextFieldUserAgent.getText());
// }
// }
private class BeobDoc implements DocumentListener {
MVConfig.Configs config;
JTextField txt;
public BeobDoc(MVConfig.Configs config, JTextField txt) {
this.config = config;
this.txt = txt;
}
@Override
public void insertUpdate(DocumentEvent e) {
tus();
}
@Override
public void removeUpdate(DocumentEvent e) {
tus();
}
@Override
public void changedUpdate(DocumentEvent e) {
tus();
}
private void tus() {
MVConfig.add(config, txt.getText());
}
}
private class BeobPfad implements ActionListener {
MVConfig.Configs config;
String title;
JTextField textField;
public BeobPfad(MVConfig.Configs config, String title, JTextField textField) {
this.config = config;
this.title = title;
this.textField = textField;
}
@Override
public void actionPerformed(ActionEvent e) {
//we can use native chooser on Mac...
if (SystemInfo.isMacOSX()) {
FileDialog chooser = new FileDialog(daten.getMediathekGui(), title);
chooser.setMode(FileDialog.LOAD);
chooser.setVisible(true);
if (chooser.getFile() != null) {
try {
File destination = new File(chooser.getDirectory() + chooser.getFile());
textField.setText(destination.getAbsolutePath());
} catch (Exception ex) {
Log.errorLog(915263014, ex);
}
}
} else {
int returnVal;
JFileChooser chooser = new JFileChooser();
if (!textField.getText().equals("")) {
chooser.setCurrentDirectory(new File(textField.getText()));
} else {
chooser.setCurrentDirectory(new File(GuiFunktionen.getHomePath()));
}
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
returnVal = chooser.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
try {
textField.setText(chooser.getSelectedFile().getAbsolutePath());
} catch (Exception ex) {
Log.errorLog(751214501, ex);
}
}
}
// merken und prüfen
MVConfig.add(config, textField.getText());
String programm = textField.getText();
if (!programm.equals("")) {
try {
if (!new File(programm).exists()) {
MVMessageDialog.showMessageDialog(daten.getMediathekGui(), "Das Programm: " + "\"" + programm + "\"" + " existiert nicht!", "Fehler", JOptionPane.ERROR_MESSAGE);
} else if (!new File(programm).canExecute()) {
MVMessageDialog.showMessageDialog(daten.getMediathekGui(), "Das Programm: " + "\"" + programm + "\"" + " kann nicht ausgeführt werden!", "Fehler", JOptionPane.ERROR_MESSAGE);
}
} catch (Exception ignored) {
}
}
}
}
}