*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
import javax.swing.*;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.AltosLib.*;
import java.text.*;
+import org.altusmetrum.altoslib_11.*;
+import org.altusmetrum.altosuilib_11.*;
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
+}