altoslib/altosui/telegps: Change log size configuration
[fw/altos] / telegps / TeleGPSConfig.java
index ffb2d6122bc594433047c7ec232ba3610a6a28ba..3505b0bb643ba186cb51cdbdf9b568ccfa817970 100644 (file)
@@ -221,22 +221,28 @@ public class TeleGPSConfig implements ActionListener {
 
        void save_data() {
 
 
        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,
                        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);
                                                      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 void actionPerformed(ActionEvent e) {