import javax.swing.*;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.AltosLib.*;
import java.text.*;
+import org.altusmetrum.altoslib_9.*;
+import org.altusmetrum.altosuilib_9.*;
public class AltosConfig implements ActionListener {
} finally {
try {
stop_serial();
+ serial_line.close();
} catch (InterruptedException ie) {
}
- serial_line.close();
}
}
void save_data() {
- /* bounds check stuff */
- if (config_ui.flight_log_max() > data.log_limit()) {
+ try {
+ /* bounds check stuff */
+ if (config_ui.flight_log_max() > data.log_space() / 1024) {
+ JOptionPane.showMessageDialog(owner,
+ String.format("Requested flight log, %dk, is larger than the available space, %dk.\n",
+ config_ui.flight_log_max(),
+ data.log_space() / 1024),
+ "Maximum Flight Log Too Large",
+ JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ /* Pull data out of the UI and stuff back into our local data record */
+
+ data.get_values(config_ui);
+ run_serial_thread(serial_mode_save);
+ } catch (AltosConfigDataException ae) {
JOptionPane.showMessageDialog(owner,
- String.format("Requested flight log, %dk, is larger than the available space, %dk.\n",
- config_ui.flight_log_max(),
- data.log_limit()),
- "Maximum Flight Log Too Large",
+ ae.getMessage(),
+ "Configuration Data Error",
JOptionPane.ERROR_MESSAGE);
- return;
}
-
- /* Pull data out of the UI and stuff back into our local data record */
-
- data.get_values(config_ui);
-
- run_serial_thread(serial_mode_save);
}
public void actionPerformed(ActionEvent e) {
public AltosConfig(JFrame given_owner) {
owner = given_owner;
- device = AltosDeviceDialog.show(owner, Altos.product_any);
+ device = AltosDeviceUIDialog.show(owner, Altos.product_any);
if (device != null) {
try {
serial_line = new AltosSerial(device);
}
}
}
-}
\ No newline at end of file
+}