Archived
118 lines
4.3 KiB
Java
118 lines
4.3 KiB
Java
package com.ixab.GUI;
|
|
|
|
import com.ixab.ConfigHandling.ConfigFileIOHandler;
|
|
import com.ixab.ConfigHandling.ConfigFileInstanceHandler;
|
|
import com.ixab.StreamHandling.StreamInfo;
|
|
import com.ixab.StreamHandling.StreamOpener;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.event.*;
|
|
|
|
public class MainWindow {
|
|
private JPanel panel;
|
|
private JComboBox comboBoxStreams;
|
|
private JComboBox comboBoxQuality;
|
|
private JTextField textField1;
|
|
private JButton hinzufügenButton;
|
|
private JButton streamAbspielenButton;
|
|
private JButton entfernenButton;
|
|
private JLabel labelStreamStatus;
|
|
private JLabel labelStreamViewers;
|
|
private JLabel labelStreamTitle;
|
|
private JLabel labelStreamGame;
|
|
private JButton neuLadenButton;
|
|
private JPanel previewImagePanel;
|
|
private JButton einstellungenButton;
|
|
|
|
protected JLabel getErrorLabel() {
|
|
return errorLabel;
|
|
}
|
|
|
|
private JLabel errorLabel;
|
|
protected boolean lockStreamInfoGetter = false;
|
|
|
|
public MainWindow() {
|
|
MainWindowGate.setMainWindow(this);
|
|
this.initComboBoxes();
|
|
streamAbspielenButton.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
StreamOpener so = new StreamOpener(ConfigFileInstanceHandler.getConfig(), ConfigFileInstanceHandler.getConfig().getStreams().indexOf(comboBoxStreams.getSelectedItem()), comboBoxQuality.getSelectedItem().toString());
|
|
so.start();
|
|
}
|
|
});
|
|
hinzufügenButton.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
addNewStream();
|
|
}
|
|
});
|
|
entfernenButton.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
ConfigFileInstanceHandler.getConfig().removeStream(comboBoxStreams.getSelectedItem());
|
|
ConfigFileIOHandler.save(ConfigFileInstanceHandler.getConfig());
|
|
lockStreamInfoGetter = true;
|
|
initStreamsComboBox();
|
|
lockStreamInfoGetter = false;
|
|
}
|
|
});
|
|
comboBoxStreams.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
if (!lockStreamInfoGetter) {
|
|
updateStreamDetails();
|
|
}
|
|
}
|
|
});
|
|
neuLadenButton.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
updateStreamDetails();
|
|
}
|
|
});
|
|
einstellungenButton.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
SettingsWindow sw = new SettingsWindow();
|
|
sw.create();
|
|
}
|
|
});
|
|
}
|
|
private void updateStreamDetails() {
|
|
StreamInfo.initStreamData(comboBoxStreams.getSelectedItem().toString());
|
|
labelStreamStatus.setText(StreamInfo.getStatus());
|
|
labelStreamGame.setText(StreamInfo.getGame());
|
|
labelStreamViewers.setText(StreamInfo.getViewers());
|
|
labelStreamTitle.setText(StreamInfo.getTitle());
|
|
}
|
|
private void addNewStream() {
|
|
AddStreamDialog as = new AddStreamDialog();
|
|
as.create();
|
|
}
|
|
private void initComboBoxes() {
|
|
initQualityComboBox();
|
|
initStreamsComboBox();
|
|
}
|
|
protected void initStreamsComboBox() {
|
|
comboBoxStreams.removeAllItems();
|
|
for (String streamName :
|
|
ConfigFileInstanceHandler.getConfig().getStreams()) {
|
|
comboBoxStreams.addItem(streamName);
|
|
}
|
|
}
|
|
private void initQualityComboBox() {
|
|
comboBoxQuality.removeAllItems();
|
|
comboBoxQuality.addItem("best"); comboBoxQuality.addItem("high"); comboBoxQuality.addItem("medium"); comboBoxQuality.addItem("low"); comboBoxQuality.addItem("mobile");
|
|
}
|
|
public static void main(String[] args) {
|
|
JFrame frame = new JFrame("jLSLauncher "+ com.ixab.Main.getVersion());
|
|
frame.setContentPane(new MainWindow().panel);
|
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
frame.pack();
|
|
frame.setLocationByPlatform(true);
|
|
frame.setVisible(true);
|
|
frame.setResizable(false);
|
|
}
|
|
}
|