X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ao-tools%2Faltosui%2FAltosCSVUI.java;h=eb620ba82a7ab69176a266e89fadab2cd5d1e96c;hb=f0d1468ceae065f0cdae6f6ae3323dec5636f073;hp=4eb72de820f9f6bd0af3a94fc75c0fcb4fc1ae90;hpb=5a119fd92532d53e552efe1f7c61e87181fcace0;p=fw%2Faltos diff --git a/ao-tools/altosui/AltosCSVUI.java b/ao-tools/altosui/AltosCSVUI.java index 4eb72de8..eb620ba8 100644 --- a/ao-tools/altosui/AltosCSVUI.java +++ b/ao-tools/altosui/AltosCSVUI.java @@ -38,7 +38,25 @@ public class AltosCSVUI JFrame frame; Thread thread; AltosRecordIterable iterable; - AltosCSV writer; + AltosWriter writer; + JFileChooser csv_chooser; + JComboBox combo_box; + + static String[] combo_box_items = { "CSV", "KML" }; + + void set_default_file() { + File current = csv_chooser.getSelectedFile(); + String current_name = current.getName(); + String new_name = null; + String selected = (String) combo_box.getSelectedItem(); + + if (selected.equals("CSV")) + new_name = Altos.replace_extension(current_name, ".csv"); + else if (selected.equals("KML")) + new_name = Altos.replace_extension(current_name, ".kml"); + if (new_name != null) + csv_chooser.setSelectedFile(new File(new_name)); + } public void run() { AltosLogfileChooser chooser; @@ -47,20 +65,22 @@ public class AltosCSVUI iterable = chooser.runDialog(); if (iterable == null) return; - JFileChooser csv_chooser; - File file = chooser.file(); - String path = file.getPath(); - int dot = path.lastIndexOf("."); - if (dot >= 0) - path = path.substring(0,dot); - path = path.concat(".csv"); - csv_chooser = new JFileChooser(path); - csv_chooser.setSelectedFile(new File(path)); + csv_chooser = new JFileChooser(chooser.file()); + combo_box = new JComboBox(combo_box_items); + combo_box.addActionListener(this); + csv_chooser.setAccessory(combo_box); + csv_chooser.setSelectedFile(chooser.file()); + set_default_file(); int ret = csv_chooser.showSaveDialog(frame); if (ret == JFileChooser.APPROVE_OPTION) { + File file = csv_chooser.getSelectedFile(); + String type = (String) combo_box.getSelectedItem(); try { - writer = new AltosCSV(csv_chooser.getSelectedFile()); + if (type.equals("CSV")) + writer = new AltosCSV(file); + else + writer = new AltosKML(file); } catch (FileNotFoundException ee) { JOptionPane.showMessageDialog(frame, file.getName(), @@ -73,6 +93,9 @@ public class AltosCSVUI } public void actionPerformed(ActionEvent e) { + System.out.printf("command %s param %s\n", e.getActionCommand(), e.paramString()); + if (e.getActionCommand().equals("comboBoxChanged")) + set_default_file(); } public AltosCSVUI(JFrame in_frame) {