1 package net.chiark.yarrg;
5 import java.awt.event.*;
6 import java.util.prefs.*;
9 * ControlPanel is a simple management utility that sets
10 * a preference for which server(s) to upload to.
12 public class ControlPanel extends JFrame {
13 public static void main(String[] args) {
17 public ControlPanel() {
18 super("Jarrg Settings");
19 final Preferences prefs = Preferences.userNodeForPackage(getClass());
20 final JCheckBox toPCTB = new JCheckBox("Upload to PCTB?", prefs.getBoolean("uploadToPCTB", true));
21 final JCheckBox toYarrg = new JCheckBox("Upload to Yarrg?", prefs.getBoolean("uploadToYarrg", true));
22 final JCheckBox showArbitrage = new JCheckBox("Show arbitrage?", prefs.getBoolean("showArbitrage", true));
24 final JRadioButton live = new JRadioButton("Use live servers");
25 final JRadioButton testing = new JRadioButton("Use testing servers");
27 live.setSelected(prefs.getBoolean("useLiveServers", true));
28 testing.setSelected(!prefs.getBoolean("useLiveServers", true));
30 ButtonGroup liveortest = new ButtonGroup();
32 liveortest.add(testing);
34 String version_label = " version: " +
35 net.chiark.yarrg.Version.version;
36 JLabel version = new JLabel(version_label);
38 final JCheckBox enableDebug = new JCheckBox("Write debug files?", prefs.getBoolean("writeDebugFiles", false));
40 setLayout(new GridLayout(8,1));
49 final int exitstatus = Integer.parseInt(System.getProperty("net.chiark.yarrg.controlpanel.exitstatus", "0"));
51 JButton but = new JButton("Save options");
53 but.addActionListener(new ActionListener() {
54 public void actionPerformed(ActionEvent e) {
55 prefs.putBoolean("uploadToPCTB", toPCTB.isSelected());
56 prefs.putBoolean("uploadToYarrg", toYarrg.isSelected());
57 prefs.putBoolean("showArbitrage", showArbitrage.isSelected());
58 prefs.putBoolean("useLiveServers", live.isSelected());
59 prefs.putBoolean("writeDebugFiles", enableDebug.isSelected());
60 System.exit(exitstatus);
64 setLocationRelativeTo(null);
66 setSize(getWidth() + 10, getHeight() + 10);
67 setDefaultCloseOperation(EXIT_ON_CLOSE);
68 getRootPane().setDefaultButton(but);