altosui: Add bluetooth bits back in
[fw/altos] / altosui / AltosConfigureUI.java
index 0f5e4a3bd3a7335fdcc1fc8da9e54b8c7beb2de0..980068c0076fa4b867cb992269518f248fa48918 100644 (file)
@@ -47,9 +47,15 @@ public class AltosConfigureUI
        JLabel          callsign_label;
        JTextField      callsign_value;
 
+       JLabel          font_size_label;
+       JComboBox       font_size_value;
+
        JRadioButton    serial_debug;
 
        JButton         manage_bluetooth;
+       JButton         manage_frequencies;
+
+       final static String[] font_size_names = { "Small", "Medium", "Large" };
 
        /* DocumentListener interface methods */
        public void changedUpdate(DocumentEvent e) {
@@ -71,6 +77,8 @@ public class AltosConfigureUI
 
                Insets insets = new Insets(4, 4, 4, 4);
 
+               int row = 0;
+
                owner = in_owner;
                voice = in_voice;
                pane = getContentPane();
@@ -83,14 +91,14 @@ public class AltosConfigureUI
 
                /* Nice label at the top */
                c.gridx = 0;
-               c.gridy = 0;
+               c.gridy = row++;
                c.gridwidth = 3;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.CENTER;
                pane.add(new JLabel ("Configure AltOS UI"), c);
 
                c.gridx = 0;
-               c.gridy = 1;
+               c.gridy = row++;
                c.gridwidth = 3;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.CENTER;
@@ -98,7 +106,7 @@ public class AltosConfigureUI
 
                /* Voice settings */
                c.gridx = 0;
-               c.gridy = 2;
+               c.gridy = row;
                c.gridwidth = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -117,15 +125,16 @@ public class AltosConfigureUI
                                }
                        });
                c.gridx = 1;
-               c.gridy = 2;
+               c.gridy = row;
                c.gridwidth = 1;
                c.weightx = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
                pane.add(enable_voice, c);
+               enable_voice.setToolTipText("Enable/Disable all audio in-flight announcements");
 
                c.gridx = 2;
-               c.gridy = 2;
+               c.gridy = row++;
                c.gridwidth = 1;
                c.weightx = 1;
                c.fill = GridBagConstraints.NONE;
@@ -137,10 +146,11 @@ public class AltosConfigureUI
                                }
                        });
                pane.add(test_voice, c);
+               test_voice.setToolTipText("Play a stock audio clip to check volume");
 
                /* Log directory settings */
                c.gridx = 0;
-               c.gridy = 3;
+               c.gridy = row;
                c.gridwidth = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -154,15 +164,16 @@ public class AltosConfigureUI
                                }
                        });
                c.gridx = 1;
-               c.gridy = 3;
+               c.gridy = row++;
                c.gridwidth = 2;
                c.fill = GridBagConstraints.BOTH;
                c.anchor = GridBagConstraints.WEST;
                pane.add(configure_log, c);
+               configure_log.setToolTipText("Which directory flight logs are stored in");
 
                /* Callsign setting */
                c.gridx = 0;
-               c.gridy = 4;
+               c.gridy = row;
                c.gridwidth = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -171,15 +182,42 @@ public class AltosConfigureUI
                callsign_value = new JTextField(AltosPreferences.callsign());
                callsign_value.getDocument().addDocumentListener(this);
                c.gridx = 1;
-               c.gridy = 4;
+               c.gridy = row++;
                c.gridwidth = 2;
                c.fill = GridBagConstraints.BOTH;
                c.anchor = GridBagConstraints.WEST;
                pane.add(callsign_value, c);
+               callsign_value.setToolTipText("Callsign sent in packet mode");
+
+               /* Font size setting */
+               c.gridx = 0;
+               c.gridy = row;
+               c.gridwidth = 1;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.WEST;
+               pane.add(new JLabel("Font size"), c);
+
+               font_size_value = new JComboBox(font_size_names);
+               int font_size = AltosPreferences.font_size();
+               font_size_value.setSelectedIndex(font_size - Altos.font_size_small);
+               font_size_value.addActionListener(new ActionListener() {
+                               public void actionPerformed(ActionEvent e) {
+                                       int     size = font_size_value.getSelectedIndex() + Altos.font_size_small;
+
+                                       AltosPreferences.set_font_size(size);
+                               }
+                       });
+               c.gridx = 1;
+               c.gridy = row++;
+               c.gridwidth = 2;
+               c.fill = GridBagConstraints.BOTH;
+               c.anchor = GridBagConstraints.WEST;
+               pane.add(font_size_value, c);
+               font_size_value.setToolTipText("Font size used in telemetry window");
 
                /* Serial debug setting */
                c.gridx = 0;
-               c.gridy = 5;
+               c.gridy = row;
                c.gridwidth = 1;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -193,9 +231,10 @@ public class AltosConfigureUI
                                        AltosPreferences.set_serial_debug(enabled);
                                }
                        });
+               serial_debug.setToolTipText("Enable/Disable USB I/O getting sent to the console");
 
                c.gridx = 1;
-               c.gridy = 5;
+               c.gridy = row++;
                c.gridwidth = 3;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
@@ -207,13 +246,28 @@ public class AltosConfigureUI
                                        AltosBTManage.show(owner, Altos.bt_known);
                                }
                        });
-               c.gridx = 1;
-               c.gridy = 6;
-               c.gridwidth = 3;
+               c.gridx = 0;
+               c.gridy = row;
+               c.gridwidth = 2;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.WEST;
                pane.add(manage_bluetooth, c);
 
+               manage_frequencies = new JButton("Manage Frequencies");
+               manage_frequencies.addActionListener(new ActionListener() {
+                               public void actionPerformed(ActionEvent e) {
+                                       AltosConfigFreqUI.show(owner);
+                               }
+                       });
+               manage_frequencies.setToolTipText("Configure which values are shown in frequency menus");
+               c.gridx = 2;
+               c.gridx = 2;
+               c.gridy = row++;
+               c.gridwidth = 2;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.WEST;
+               pane.add(manage_frequencies, c);
+
                /* And a close button at the bottom */
                close = new JButton("Close");
                close.addActionListener(new ActionListener() {
@@ -222,7 +276,7 @@ public class AltosConfigureUI
                                }
                        });
                c.gridx = 0;
-               c.gridy = 7;
+               c.gridy = row++;
                c.gridwidth = 3;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.CENTER;