altosui: always display romconfig ui while flashing
[fw/altos] / ao-tools / altosui / AltosFlashUI.java
index 0c2041e3cf338f9a8fbdf7adf3125549aaef13aa..73a97a6b9177d29c073153bd32a4d37333a88607 100644 (file)
@@ -57,8 +57,10 @@ public class AltosFlashUI
                } else {
                        String  cmd = e.getActionCommand();
                        if (cmd.equals("done"))
-                               dispose();
-                       else {
+                               ;
+                       else if (cmd.equals("start")) {
+                               setVisible(true);
+                       } else {
                                pbar.setValue(e.getID());
                                pbar.setString(cmd);
                        }
@@ -70,14 +72,15 @@ public class AltosFlashUI
                flash.addActionListener(this);
                try {
                        flash.open();
-                       if (!flash.check_rom_config()) {
-                               AltosRomconfigUI romconfig_ui = new AltosRomconfigUI (frame);
-                               romconfig_ui.showDialog();
-                               AltosRomconfig romconfig = romconfig_ui.romconfig();
-                               if (romconfig == null)
-                                       return;
-                               flash.set_romconfig(romconfig);
-                       }
+                       AltosRomconfigUI romconfig_ui = new AltosRomconfigUI (frame);
+
+                       romconfig_ui.set(flash.romconfig());
+                       romconfig_ui.showDialog();
+
+                       AltosRomconfig romconfig = romconfig_ui.romconfig();
+                       if (romconfig == null || !romconfig.valid())
+                               return;
+                       flash.set_romconfig(romconfig);
                        serial_value.setText(String.format("%d",
                                                           flash.romconfig().serial_number));
                        file_value.setText(file.toString());
@@ -88,15 +91,14 @@ public class AltosFlashUI
                                                      "Cannot open image",
                                                      file.toString(),
                                                      JOptionPane.ERROR_MESSAGE);
-                       return;
                } catch (IOException e) {
                        JOptionPane.showMessageDialog(frame,
                                                      e.getMessage(),
                                                      file.toString(),
                                                      JOptionPane.ERROR_MESSAGE);
-                       return;
                } catch (InterruptedException ie) {
                }
+               dispose();
        }
 
        public void abort() {