altosui: Use persistent list of bluetooth devices for device dialogs
[fw/altos] / altosui / AltosConfigureUI.java
index 153c59fdedc719818f7fa605b8a2f825c30ac410..0f5e4a3bd3a7335fdcc1fc8da9e54b8c7beb2de0 100644 (file)
@@ -47,6 +47,10 @@ public class AltosConfigureUI
        JLabel          callsign_label;
        JTextField      callsign_value;
 
+       JRadioButton    serial_debug;
+
+       JButton         manage_bluetooth;
+
        /* DocumentListener interface methods */
        public void changedUpdate(DocumentEvent e) {
                AltosPreferences.set_callsign(callsign_value.getText());
@@ -85,9 +89,16 @@ public class AltosConfigureUI
                c.anchor = GridBagConstraints.CENTER;
                pane.add(new JLabel ("Configure AltOS UI"), c);
 
-               /* Voice settings */
                c.gridx = 0;
                c.gridy = 1;
+               c.gridwidth = 3;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.CENTER;
+               pane.add(new JLabel (String.format("AltOS version %s", AltosVersion.version)), c);
+
+               /* Voice settings */
+               c.gridx = 0;
+               c.gridy = 2;
                c.gridwidth = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -106,7 +117,7 @@ public class AltosConfigureUI
                                }
                        });
                c.gridx = 1;
-               c.gridy = 1;
+               c.gridy = 2;
                c.gridwidth = 1;
                c.weightx = 1;
                c.fill = GridBagConstraints.NONE;
@@ -114,7 +125,7 @@ public class AltosConfigureUI
                pane.add(enable_voice, c);
 
                c.gridx = 2;
-               c.gridy = 1;
+               c.gridy = 2;
                c.gridwidth = 1;
                c.weightx = 1;
                c.fill = GridBagConstraints.NONE;
@@ -129,7 +140,7 @@ public class AltosConfigureUI
 
                /* Log directory settings */
                c.gridx = 0;
-               c.gridy = 2;
+               c.gridy = 3;
                c.gridwidth = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -143,7 +154,7 @@ public class AltosConfigureUI
                                }
                        });
                c.gridx = 1;
-               c.gridy = 2;
+               c.gridy = 3;
                c.gridwidth = 2;
                c.fill = GridBagConstraints.BOTH;
                c.anchor = GridBagConstraints.WEST;
@@ -151,7 +162,7 @@ public class AltosConfigureUI
 
                /* Callsign setting */
                c.gridx = 0;
-               c.gridy = 3;
+               c.gridy = 4;
                c.gridwidth = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -160,12 +171,49 @@ public class AltosConfigureUI
                callsign_value = new JTextField(AltosPreferences.callsign());
                callsign_value.getDocument().addDocumentListener(this);
                c.gridx = 1;
-               c.gridy = 3;
+               c.gridy = 4;
                c.gridwidth = 2;
                c.fill = GridBagConstraints.BOTH;
                c.anchor = GridBagConstraints.WEST;
                pane.add(callsign_value, c);
 
+               /* Serial debug setting */
+               c.gridx = 0;
+               c.gridy = 5;
+               c.gridwidth = 1;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.WEST;
+               pane.add(new JLabel("Serial Debug"), c);
+
+               serial_debug = new JRadioButton("Enable", AltosPreferences.serial_debug());
+               serial_debug.addActionListener(new ActionListener() {
+                               public void actionPerformed(ActionEvent e) {
+                                       JRadioButton item = (JRadioButton) e.getSource();
+                                       boolean enabled = item.isSelected();
+                                       AltosPreferences.set_serial_debug(enabled);
+                               }
+                       });
+
+               c.gridx = 1;
+               c.gridy = 5;
+               c.gridwidth = 3;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.WEST;
+               pane.add(serial_debug, c);
+
+               manage_bluetooth = new JButton("Manage Bluetooth");
+               manage_bluetooth.addActionListener(new ActionListener() {
+                               public void actionPerformed(ActionEvent e) {
+                                       AltosBTManage.show(owner, Altos.bt_known);
+                               }
+                       });
+               c.gridx = 1;
+               c.gridy = 6;
+               c.gridwidth = 3;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.WEST;
+               pane.add(manage_bluetooth, c);
+
                /* And a close button at the bottom */
                close = new JButton("Close");
                close.addActionListener(new ActionListener() {
@@ -174,7 +222,7 @@ public class AltosConfigureUI
                                }
                        });
                c.gridx = 0;
-               c.gridy = 4;
+               c.gridy = 7;
                c.gridwidth = 3;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.CENTER;