X-Git-Url: https://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2FGpsPrune.java;h=e8cfad5c1e429343b689d0cb9b34ab8f2084a29e;hb=1ea5817da5381ceebee75ea7294ea78dffff5671;hp=a444a02c9960b5fc41e35ebc245c9c914b0aa413;hpb=f1b92378a792131ac8fb33a869405851d5b2d1f7;p=GpsPrune.git diff --git a/tim/prune/GpsPrune.java b/tim/prune/GpsPrune.java index a444a02..e8cfad5 100644 --- a/tim/prune/GpsPrune.java +++ b/tim/prune/GpsPrune.java @@ -3,6 +3,7 @@ package tim.prune; import java.awt.event.WindowAdapter; import java.awt.BorderLayout; import java.awt.Component; +import java.awt.Image; import java.awt.event.WindowEvent; import java.io.File; import java.io.FileNotFoundException; @@ -28,16 +29,16 @@ import tim.prune.gui.profile.ProfileChart; /** * GpsPrune is a tool to visualize, edit, convert and prune GPS data * Please see the included readme.txt or http://activityworkshop.net - * This software is copyright activityworkshop.net 2006-2011 and made available through the Gnu GPL version 2. + * This software is copyright activityworkshop.net 2006-2015 and made available through the Gnu GPL version 2. * For license details please see the included license.txt. * GpsPrune is the main entry point to the application, including initialisation and launch */ public class GpsPrune { /** Version number of application, used in about screen and for version check */ - public static final String VERSION_NUMBER = "13.4"; + public static final String VERSION_NUMBER = "17.2"; /** Build number, just used for about screen */ - public static final String BUILD_NUMBER = "244c"; + public static final String BUILD_NUMBER = "320b"; /** Static reference to App object */ private static App APP = null; @@ -87,7 +88,7 @@ public class GpsPrune { // Check if a data file has been given File f = new File(arg); - if (f.exists() && f.canRead()) { + if (f.exists() && f.isFile() && f.canRead()) { dataFiles.add(f); } else @@ -98,8 +99,9 @@ public class GpsPrune } } } - if (showUsage) { - System.out.println("Possible parameters:" + if (showUsage) + { + System.out.println("GpsPrune - a tool for editing GPS data.\nPossible parameters:" + "\n --configfile= used to specify a configuration file" + "\n --lang= used to specify language code such as DE" + "\n --langfile= used to specify an alternative language file\n"); @@ -227,11 +229,29 @@ public class GpsPrune // Avoid automatically shutting down if window closed frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); - // set icon - try { - frame.setIconImage(IconManager.getImageIcon(IconManager.WINDOW_ICON).getImage()); + // set window icons of different resolutions (1.6+) + try + { + ArrayList icons = new ArrayList(); + String[] resolutions = {"_16", "_20", "_32", "_64", "_128"}; + for (String r : resolutions) { + icons.add(IconManager.getImageIcon(IconManager.WINDOW_ICON + r + ".png").getImage()); + } + Class d = java.awt.Window.class; + // This is the same as frame.setIconImages(icons) but is compilable also for java1.5 where this isn't available + d.getDeclaredMethod("setIconImages", new Class[]{java.util.List.class}).invoke(frame, icons); + } + catch (Exception e) + { + // setting a list of icon images didn't work, so try with just one image instead + try { + frame.setIconImage(IconManager.getImageIcon(IconManager.WINDOW_ICON + "_16.png").getImage()); + } + catch (Exception e2) {} } - catch (Exception e) {} // ignore + + // Set up drag-and-drop handler to accept dropped files + frame.setTransferHandler(new FileDropHandler(APP)); // finish off and display frame frame.pack(); @@ -258,8 +278,11 @@ public class GpsPrune private static String makeUnknownParameterString(String inParam) { File file = new File(inParam); - if (file.exists()) { - return (file.canRead() ? "Something wrong with file" : "Cannot read file") + " '" + inParam + "'"; + if (file.exists()) + { + if (file.isDirectory()) return "'" + inParam + "' is a directory"; + if (!file.canRead()) return "Cannot read file '" + inParam + "'"; + return "Something wrong with file '" + inParam + "'"; } do {