X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosEepromManage.java;h=e6739e770eb0f55e572d3876a174e8d11e82a13e;hp=083c73725d44e4f2fa928ce8532b2fd8f7bb363d;hb=382c54a0d052c8975b57c995ef83bc8934bde242;hpb=128bbfa150f88c09f7adde2434b7bf0b5a9ed556 diff --git a/altosui/AltosEepromManage.java b/altosui/AltosEepromManage.java index 083c7372..e6739e77 100644 --- a/altosui/AltosEepromManage.java +++ b/altosui/AltosEepromManage.java @@ -17,18 +17,11 @@ package altosui; -import java.awt.*; import java.awt.event.*; import javax.swing.*; -import javax.swing.filechooser.FileNameExtensionFilter; -import javax.swing.table.*; import java.io.*; -import java.util.*; -import java.text.*; -import java.util.prefs.*; import java.util.concurrent.*; - -import libaltosJNI.*; +import org.altusmetrum.AltosLib.*; public class AltosEepromManage implements ActionListener { @@ -39,8 +32,6 @@ public class AltosEepromManage implements ActionListener { AltosEepromList flights; AltosEepromDownload download; AltosEepromDelete delete; - boolean any_download; - boolean any_delete; public void finish() { if (serial_line != null) { @@ -57,7 +48,7 @@ public class AltosEepromManage implements ActionListener { String result = ""; for (AltosEepromLog flight : flights) { - if (flight.delete) { + if (flight.selected) { if (result.equals("")) result = String.format("%d", flight.flight); else @@ -67,18 +58,38 @@ public class AltosEepromManage implements ActionListener { return result; } + public boolean download_done() { + AltosEepromSelect select = new AltosEepromSelect(frame, flights, "Delete"); + + if (select.run()) { + boolean any_selected = false; + for (AltosEepromLog flight : flights) + any_selected = any_selected || flight.selected; + if (any_selected) { + delete = new AltosEepromDelete(frame, + serial_line, + remote, + flights); + delete.addActionListener(this); + /* + * Start flight log delete + */ + + delete.start(); + return true; + } + } + return false; + } + public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); boolean success = e.getID() != 0; boolean running = false; if (cmd.equals("download")) { - if (success) { - if (any_delete) { - delete.start(); - running = true; - } - } + if (success) + running = download_done(); } else if (cmd.equals("delete")) { if (success) { JOptionPane.showMessageDialog(frame, @@ -104,40 +115,26 @@ public class AltosEepromManage implements ActionListener { serial_line.device.toShortString(), JOptionPane.INFORMATION_MESSAGE); } else { - AltosEepromSelect select = new AltosEepromSelect(frame, flights); + AltosEepromSelect select = new AltosEepromSelect(frame, flights, "Download"); if (select.run()) { - for (AltosEepromLog flight : flights) { - any_download = any_download || flight.download; - any_delete = any_delete || flight.delete; - } - if (any_download) { + boolean any_selected = false; + for (AltosEepromLog flight : flights) + any_selected = any_selected || flight.selected; + if (any_selected) { download = new AltosEepromDownload(frame, serial_line, remote, flights); download.addActionListener(this); - } - - if (any_delete) { - delete = new AltosEepromDelete(frame, - serial_line, - remote, - flights); - delete.addActionListener(this); - } + /* + * Start flight log download + */ - /* - * Start flight log download - */ - - if (any_download) { download.start(); running = true; - } - else if (any_delete) { - delete.start(); - running = true; + } else { + running = download_done(); } } } @@ -203,8 +200,6 @@ public class AltosEepromManage implements ActionListener { device = AltosDeviceDialog.show(frame, Altos.product_any); remote = false; - any_download = false; - any_delete = false; if (device != null) { try {