Changeset 1138 in josm


Ignore:
Timestamp:
Dec 15, 2008 5:14:52 PM (4 years ago)
Author:
stoecker
Message:

close bug #1841

Location:
trunk/src/org/openstreetmap/josm
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/Main.java

    r1120 r1138  
    249249                if (info.early != early) 
    250250                    continue; 
    251                 if (info.mainversion != null && info.mainversion.compareTo(AboutAction.version) > 0) { 
    252                     JOptionPane.showMessageDialog(Main.parent, tr("Plugin requires JOSM update: {0}.", pluginName)); 
    253                     continue; 
     251                if (info.mainversion != null) { 
     252                    int requiredJOSMVersion = 0; 
     253                    try { 
     254                        requiredJOSMVersion = Integer.parseInt(info.mainversion); 
     255                    } catch(NumberFormatException e) { 
     256                        e.printStackTrace(); 
     257                    } 
     258                    if (requiredJOSMVersion > AboutAction.getVersionNumber()) { 
     259                        JOptionPane.showMessageDialog(Main.parent, tr("Plugin requires JOSM update: {0}.", pluginName)); 
     260                        continue; 
     261                    } 
    254262                } 
    255263                if (!p.containsKey(info.stage)) 
  • trunk/src/org/openstreetmap/josm/actions/AboutAction.java

    r1084 r1138  
    1313import java.io.InputStream; 
    1414import java.io.InputStreamReader; 
     15import java.net.MalformedURLException; 
    1516import java.net.URL; 
    1617import java.util.Map.Entry; 
     
    4445 * @author imi 
    4546 */ 
     47/** 
     48 * @author Stephan 
     49 * 
     50 */ 
    4651public class AboutAction extends JosmAction { 
    4752 
    48         public static final String version; 
     53        private static final String version; 
    4954 
    5055        private final static JTextArea revision; 
    5156        private static String time; 
    5257 
    53         static { 
    54                 URL u = Main.class.getResource("/REVISION"); 
    55                 if(u == null) u = Main.class.getResource("/META-INF/MANIFEST.MF"); 
     58    static { 
     59        URL u = Main.class.getResource("/REVISION"); 
     60        if(u == null) { 
     61            try { 
     62                u = new URL("jar:" + Main.class.getProtectionDomain().getCodeSource().getLocation().toString()  
     63                        + "!/META-INF/MANIFEST.MF"); 
     64            } catch (MalformedURLException e) { 
     65                e.printStackTrace(); 
     66            } 
     67        } 
    5668                revision = loadFile(u); 
    5769 
    58                 Pattern versionPattern = Pattern.compile(".*?(?:Revision|Main-Version): ([0-9]*).*", Pattern.CASE_INSENSITIVE|Pattern.DOTALL); 
     70                Pattern versionPattern = Pattern.compile(".*?(?:Revision|Main-Version): ([0-9]*(?: SVN)?).*", Pattern.CASE_INSENSITIVE|Pattern.DOTALL); 
    5971                Matcher match = versionPattern.matcher(revision.getText()); 
    6072                version = match.matches() ? match.group(1) : tr("UNKNOWN"); 
     
    6577        } 
    6678 
    67         static public String getVersion() { 
     79        /** 
     80         * Return string describing version. 
     81         * Note that the strinc contains the version number plus an optional suffix of " SVN" to indicate an unofficial development build. 
     82         * @return version string 
     83         */ 
     84        static public String getVersionString() { 
    6885                return version; 
    6986        } 
    7087 
     88    /** 
     89     * Return the number part of the version string. 
     90     * @return integer part of version number or Integer.MAX_VALUE if not available 
     91     */ 
     92    public static int getVersionNumber() { 
     93        int myVersion=Integer.MAX_VALUE; 
     94        try { 
     95            myVersion = Integer.parseInt(version.split(" ")[0]); 
     96        } catch (NumberFormatException e) { 
     97            e.printStackTrace(); 
     98        } 
     99        return myVersion; 
     100    } 
     101         
     102    /** 
     103     * check whether the version is a development build out of SVN. 
     104     * @return true if it is a SVN unofficial build 
     105     */ 
     106    public static boolean isDevelopmentVersion() { 
     107        return version.endsWith(" SVN"); 
     108    } 
     109         
    71110        public AboutAction() { 
    72111                super(tr("About"), "about", tr("Display the about screen."), Shortcut.registerShortcut("system:about", tr("About"), KeyEvent.VK_F1, Shortcut.GROUP_DIRECT, Shortcut.SHIFT_DEFAULT), true); 
  • trunk/src/org/openstreetmap/josm/actions/AddNodeAction.java

    r1130 r1138  
    4848    public AddNodeAction() { 
    4949        super(tr("Add Node"), "addnode", tr("Add a node by entering latitude and longitude."), 
    50                         Shortcut.registerShortcut("addnode", tr("Edit: {0}", tr("Add Node")), KeyEvent.VK_D, Shortcut.GROUP_MENU), true); 
     50                Shortcut.registerShortcut("addnode", tr("Edit: {0}", tr("Add Node")), KeyEvent.VK_D, Shortcut.GROUP_EDIT, 
     51                Shortcut.SHIFT_DEFAULT), true); 
    5152    } 
    5253 
  • trunk/src/org/openstreetmap/josm/actions/ToggleGPXLinesAction.java

    r1084 r1138  
    1414        public ToggleGPXLinesAction() { 
    1515                super(tr("Toggle GPX Lines"), "gps-lines", tr("Toggles the global setting ''{0}''.", tr("Draw lines between raw gps points.")), 
    16                 Shortcut.registerShortcut("view:gpxlines", tr("View: {0}", tr("Toggle GPX Lines")), KeyEvent.VK_X, Shortcut.GROUP_MENU), true); 
     16                Shortcut.registerShortcut("view:gpxlines", tr("View: {0}", tr("Toggle GPX Lines")), KeyEvent.VK_X, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT), true); 
    1717        } 
    1818 
  • trunk/src/org/openstreetmap/josm/gui/GettingStarted.java

    r1016 r1138  
    5757            } 
    5858 
    59             int myVersion; 
    60             try { 
    61                 myVersion = Integer.parseInt(AboutAction.getVersion()); 
    62             } catch (NumberFormatException e) { 
    63                 myVersion = 0; 
    64             } 
     59            int myVersion = AboutAction.getVersionNumber(); 
    6560 
    6661            Pattern commentPattern = Pattern.compile("\\<p\\>\\s*\\/\\*[^\\*]*\\*\\/\\s*\\<\\/p\\>", Pattern.CASE_INSENSITIVE|Pattern.DOTALL|Pattern.MULTILINE); 
  • trunk/src/org/openstreetmap/josm/gui/SplashScreen.java

    r1093 r1138  
    7373 
    7474                // Add the version number 
    75                 JLabel version = new JLabel(tr("Version {0}", AboutAction.version)); 
     75                JLabel version = new JLabel(tr("Version {0}", AboutAction.getVersionString())); 
    7676                gbc.gridy = 1; 
    7777                gbc.insets = new Insets(0, 0, 0, 0); 
Note: See TracChangeset for help on using the changeset viewer.