Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / altosui / AltosConfigTDUI.java
index f2058f6968881808ee11b3bad391c2c9481bb31e..ca3657183e037f339cd46ed8e1a69cebc29484c0 100644 (file)
@@ -20,21 +20,12 @@ package altosui;
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.table.*;
 import javax.swing.event.*;
-import java.io.*;
-import java.util.*;
-import java.text.*;
-import java.util.prefs.*;
-import java.util.concurrent.LinkedBlockingQueue;
-
-import libaltosJNI.*;
-
-import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altosuilib_3.*;
 
 public class AltosConfigTDUI
-       extends AltosDialog
+       extends AltosUIDialog
        implements ActionListener, ItemListener, DocumentListener
 {
 
@@ -53,6 +44,7 @@ public class AltosConfigTDUI
        JLabel          product_value;
        JLabel          version_value;
        JLabel          serial_value;
+       JMenuBar        radio_frequency_menu_bar;
        AltosFreqList   radio_frequency_value;
        JLabel          radio_calibration_value;
 
@@ -175,9 +167,11 @@ public class AltosConfigTDUI
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = ir;
                c.ipady = 5;
-               radio_frequency_value = new AltosFreqList();
+               radio_frequency_value = new AltosFreqList(false);
                radio_frequency_value.addItemListener(this);
-               pane.add(radio_frequency_value, c);
+               radio_frequency_menu_bar = new JMenuBar();
+               radio_frequency_menu_bar.add(radio_frequency_value);
+               pane.add(radio_frequency_menu_bar, c);
                radio_frequency_value.setToolTipText("Telemetry, RDF and packet frequency");
 
                /* Radio Calibration */
@@ -317,28 +311,7 @@ public class AltosConfigTDUI
        }
 
        public void set_radio_frequency(double new_radio_frequency) {
-               int i;
-               for (i = 0; i < radio_frequency_value.getItemCount(); i++) {
-                       AltosFrequency  f = (AltosFrequency) radio_frequency_value.getItemAt(i);
-                       
-                       if (f.close(new_radio_frequency)) {
-                               radio_frequency_value.setSelectedIndex(i);
-                               return;
-                       }
-               }
-               for (i = 0; i < radio_frequency_value.getItemCount(); i++) {
-                       AltosFrequency  f = (AltosFrequency) radio_frequency_value.getItemAt(i);
-                       
-                       if (new_radio_frequency < f.frequency)
-                               break;
-               }
-               String  description = String.format("%s serial %s",
-                                                   product_value.getText(),
-                                                   serial_value.getText());
-               AltosFrequency  new_frequency = new AltosFrequency(new_radio_frequency, description);
-               AltosPreferences.add_common_frequency(new_frequency);
-               radio_frequency_value.insertItemAt(new_frequency, i);
-               radio_frequency_value.setSelectedIndex(i);
+               radio_frequency_value.set_frequency(new_radio_frequency);
        }
 
        public double radio_frequency() {