*/
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;
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
import tim.prune.I18nManager;
import tim.prune.data.DataPoint;
import tim.prune.data.TrackInfo;
+//import tim.prune.gui.map.MapWindow;
/**
_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);
+*/
}
{
// ignore
}
+
+ /**
+ * Show a map window - probably only temporarily here until it gets fixed
+ */
+/*
+ private void showMap()
+ {
+ MapWindow map = new MapWindow(_track);
+ map.show();
+ }
+*/
}
-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.
=======
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
==================
{
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
// 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();
}
});
*/
public void run()
{
+ _saveCancelled = false;
PhotoTableEntry entry = null;
Photo photo = null;
int numPhotos = _photoTableModel.getRowCount();
for (int i=0; i<numPhotos; i++)
{
entry = _photoTableModel.getPhotoTableEntry(i);
- if (entry != null && entry.getSaveFlag())
+ if (entry != null && entry.getSaveFlag() && !_saveCancelled)
{
// Only look at photos which are selected and whose status has changed since load
photo = entry.getPhoto();
// Execute exif command
try
{
- Runtime.getRuntime().exec(command);
+ Process process = Runtime.getRuntime().exec(command);
+ // Wait for process to finish so not too many run in parallel
+ try {
+ process.waitFor();
+ }
+ catch (InterruptedException ie) {}
}
catch (Exception e)
{