From 63f178fd6c6b30b99a01f2a2d700963ea2dfef8b Mon Sep 17 00:00:00 2001 From: activityworkshop Date: Sat, 14 Feb 2015 14:55:08 +0100 Subject: [PATCH] Version 4.1, February 2008 --- tim/prune/GpsPruner.java | 6 +++--- tim/prune/data/Track.java | 17 +++++++++++++++++ tim/prune/gui/MapChart.java | 22 ++++++++++++++++++++++ tim/prune/readme.txt | 18 ++++++++++++------ tim/prune/save/ExifSaver.java | 21 ++++++++++++++++----- 5 files changed, 70 insertions(+), 14 deletions(-) diff --git a/tim/prune/GpsPruner.java b/tim/prune/GpsPruner.java index 8a95f7f..e19cb21 100644 --- a/tim/prune/GpsPruner.java +++ b/tim/prune/GpsPruner.java @@ -22,9 +22,9 @@ import tim.prune.gui.SelectorDisplay; */ public class GpsPruner { - // Final release of version 4 - public static final String VERSION_NUMBER = "4"; - public static final String BUILD_NUMBER = "089"; + // Patch to version 4 + public static final String VERSION_NUMBER = "4.1"; + public static final String BUILD_NUMBER = "091"; private static App APP = null; diff --git a/tim/prune/data/Track.java b/tim/prune/data/Track.java index 1188a7c..f6ad709 100644 --- a/tim/prune/data/Track.java +++ b/tim/prune/data/Track.java @@ -537,6 +537,23 @@ public class Track return _yRange; } + /** + * @return The range of lat values as a DoubleRange object + */ + public DoubleRange getLatRange() + { + if (!_scaled) scalePoints(); + return _latRange; + } + /** + * @return The range of lon values as a DoubleRange object + */ + public DoubleRange getLonRange() + { + if (!_scaled) scalePoints(); + return _longRange; + } + /** * @param inPointNum point index, starting at 0 * @return scaled x value of specified point diff --git a/tim/prune/gui/MapChart.java b/tim/prune/gui/MapChart.java index a22cb18..a5e7819 100644 --- a/tim/prune/gui/MapChart.java +++ b/tim/prune/gui/MapChart.java @@ -23,6 +23,7 @@ import tim.prune.DataSubscriber; import tim.prune.I18nManager; import tim.prune.data.DataPoint; import tim.prune.data.TrackInfo; +//import tim.prune.gui.map.MapWindow; /** @@ -392,6 +393,16 @@ public class MapChart extends GenericChart implements MouseWheelListener, KeyLis _autoPanMenuItem = new JCheckBoxMenuItem(I18nManager.getText("menu.map.autopan")); _autoPanMenuItem.setSelected(true); _popup.add(_autoPanMenuItem); +/* + JMenuItem mapItem = new JMenuItem("Show map"); + mapItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) + { + showMap(); + } + }); + _popup.add(mapItem); +*/ } @@ -631,4 +642,15 @@ public class MapChart extends GenericChart implements MouseWheelListener, KeyLis { // ignore } + + /** + * Show a map window - probably only temporarily here until it gets fixed + */ +/* + private void showMap() + { + MapWindow map = new MapWindow(_track); + map.show(); + } +*/ } diff --git a/tim/prune/readme.txt b/tim/prune/readme.txt index 2673787..94702c4 100644 --- a/tim/prune/readme.txt +++ b/tim/prune/readme.txt @@ -1,5 +1,5 @@ -Prune version 4 -=============== +Prune version 4.1 +================= Prune is an application for viewing, editing and managing coordinate data from GPS systems, including format conversion and photo correlation. @@ -16,17 +16,23 @@ Running ======= To run Prune from the jar file, simply call it from a command prompt or shell: - java -jar prune_04.jar + java -jar prune_04.1.jar If the jar file is saved in a different directory, you will need to include the path. Depending on your system settings, you may be able to click or double-click on the jar file -in a file manager window to execute it. A shortcut, menu item, desktop icon or other link -can of course be made should you wish. +in a file manager window to execute it. A shortcut, menu item, alias, desktop icon +or other link can of course be made should you wish. To specify a language other than the default, use an additional parameter, eg: - java -jar prune_04.jar --lang=DE + java -jar prune_04.1.jar --lang=DE +New with version 4.1 +==================== + +The following fix was added since version 4: + - Exiftool calls now made in series rather than in parallel to avoid performance problems in Windows + New with version 4 ================== diff --git a/tim/prune/save/ExifSaver.java b/tim/prune/save/ExifSaver.java index ec0c2f4..42f9e4f 100644 --- a/tim/prune/save/ExifSaver.java +++ b/tim/prune/save/ExifSaver.java @@ -35,9 +35,11 @@ public class ExifSaver implements Runnable { private Frame _parentFrame = null; private JDialog _dialog = null; + private JButton _okButton = null; private JCheckBox _overwriteCheckbox = null; private JProgressBar _progressBar = null; private PhotoTableModel _photoTableModel = null; + private boolean _saveCancelled = false; // To preserve timestamps of file use parameter -P @@ -167,19 +169,22 @@ public class ExifSaver implements Runnable // Lower panel with ok and cancel buttons JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); - JButton okButton = new JButton(I18nManager.getText("button.ok")); - okButton.addActionListener(new ActionListener() { + _okButton = new JButton(I18nManager.getText("button.ok")); + _okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // disable ok button + _okButton.setEnabled(false); // start new thread to do save new Thread(ExifSaver.this).start(); } }); - buttonPanel.add(okButton); + buttonPanel.add(_okButton); JButton cancelButton = new JButton(I18nManager.getText("button.cancel")); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + _saveCancelled = true; _dialog.dispose(); } }); @@ -209,6 +214,7 @@ public class ExifSaver implements Runnable */ public void run() { + _saveCancelled = false; PhotoTableEntry entry = null; Photo photo = null; int numPhotos = _photoTableModel.getRowCount(); @@ -221,7 +227,7 @@ public class ExifSaver implements Runnable for (int i=0; i