Changeset 266 in josm


Ignore:
Timestamp:
2007-06-30T13:08:56+02:00 (17 years ago)
Author:
imi
Message:
  • added "Getting Started" welcome screen
  • added latest JOSM version in About dialog
  • set "draw boundaries" to on by default
Files:
2 added
5 edited

Legend:

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

    r250 r266  
    1111import java.net.URI;
    1212import java.net.URISyntaxException;
    13 import java.util.Arrays;
    1413import java.net.URL;
    1514import java.net.URLClassLoader;
    1615import java.util.ArrayList;
     16import java.util.Arrays;
    1717import java.util.Collection;
    1818import java.util.LinkedList;
     
    4242import org.openstreetmap.josm.data.projection.Epsg4326;
    4343import org.openstreetmap.josm.data.projection.Projection;
     44import org.openstreetmap.josm.gui.GettingStarted;
    4445import org.openstreetmap.josm.gui.MainMenu;
    4546import org.openstreetmap.josm.gui.MapFrame;
     
    125126                if (map != null) {
    126127                        map.fillPanel(panel);
    127                         panel.setVisible(true);
    128128                        map.mapView.addLayerChangeListener(new LayerChangeListener(){
    129129                                public void activeLayerChange(final Layer oldLayer, final Layer newLayer) {
     
    143143                        if (map.mapView.editLayer != null)
    144144                                map.mapView.editLayer.listenerCommands.add(redoUndoListener);
    145                 } else
     145                } else {
    146146                        old.destroy();
     147                        panel.add(new GettingStarted(), BorderLayout.CENTER);
     148                }
     149                panel.setVisible(true);
    147150                redoUndoListener.commandChanged(0,0);
    148151
     
    183186                main = this;
    184187                contentPane.add(panel, BorderLayout.CENTER);
     188                panel.add(new GettingStarted(), BorderLayout.CENTER);
    185189                menu = new MainMenu();
    186190
  • src/org/openstreetmap/josm/actions/AboutAction.java

    r178 r266  
    1010import java.io.BufferedReader;
    1111import java.io.IOException;
     12import java.io.InputStream;
    1213import java.io.InputStreamReader;
    1314import java.net.URL;
     
    1516import java.util.regex.Pattern;
    1617
     18import javax.swing.BorderFactory;
    1719import javax.swing.JLabel;
    1820import javax.swing.JOptionPane;
     
    2123import javax.swing.JTabbedPane;
    2224import javax.swing.JTextArea;
     25import javax.swing.SwingUtilities;
    2326
    2427import org.openstreetmap.josm.Main;
     
    3942        public static final String version;
    4043
    41         private static JTextArea revision;
     44        private final static JTextArea revision;
    4245        private static String time;
    4346
    4447        static {
    45                 JTextArea revision = loadFile(Main.class.getResource("/REVISION"));
     48                revision = loadFile(Main.class.getResource("/REVISION"));
    4649
    4750                Pattern versionPattern = Pattern.compile(".*?Revision: ([0-9]*).*", Pattern.CASE_INSENSITIVE|Pattern.DOTALL);
     
    6568
    6669                JPanel info = new JPanel(new GridBagLayout());
    67                 info.add(new JLabel(tr("Java OpenStreetMap Editor Version {0}",version)), GBC.eop());
    68                 info.add(new JLabel(tr("last change at {0}",time)), GBC.eop());
    69                 info.add(new JLabel(tr("Java Version {0}",System.getProperty("java.version"))), GBC.eop());
     70                info.add(new JLabel(tr("Java OpenStreetMap Editor Version {0}",version)), GBC.eol());
     71                info.add(new JLabel(tr("last change at {0}",time)), GBC.eol());
     72                info.add(new JLabel(tr("Java Version {0}",System.getProperty("java.version"))), GBC.eol());
     73                info.add(new JLabel(tr("Latest Version on JOSM homepage is")), GBC.std().insets(0,0,5,0));
     74                final JLabel checkVersionLabel = new JLabel("<html><em>"+tr("checking...")+"</em></html>");
     75                info.add(checkVersionLabel, GBC.eol());
     76                new Thread(){
     77                        @Override public void run() {
     78                                final String version = checkLatestVersion();
     79                                try {
     80                                        if (version == null)
     81                                                throw new NullPointerException();
     82                        SwingUtilities.invokeAndWait(new Runnable(){
     83                                public void run() {
     84                                        checkVersionLabel.setText(version);
     85                            }
     86                        });
     87                } catch (Exception e) {
     88                        checkVersionLabel.setText("failed.");
     89                }
     90            }
     91                }.start();
     92               
     93                info.add(GBC.glue(0,10), GBC.eol());
     94               
    7095                info.add(new JLabel(tr("Homepage")), GBC.std().insets(0,0,10,0));
    71                 info.add(new UrlLabel("http://josm.eigenheimstrasse.de"), GBC.eol());
     96                info.add(new UrlLabel("http://josm.openstreetmap.de"), GBC.eol());
    7297                info.add(new JLabel(tr("Bug Reports")), GBC.std().insets(0,0,10,0));
    73                 info.add(new UrlLabel("http://josm.eigenheimstrasse.de/newticket"), GBC.eol());
     98                info.add(new UrlLabel("http://josm.openstreetmap.de/newticket"), GBC.eol());
    7499                info.add(new JLabel(tr("News about JOSM")), GBC.std().insets(0,0,10,0));
    75100                info.add(new UrlLabel("http://www.opengeodata.org/?cat=17"), GBC.eol());
    76101
    77 
    78102                about.addTab(tr("Info"), info);
    79                 about.addTab(tr("Readme"), new JScrollPane(readme));
    80                 about.addTab(tr("Revision"), new JScrollPane(revision));
    81                 about.addTab(tr("Contribution"), new JScrollPane(contribution));
     103                about.addTab(tr("Readme"), createScrollPane(readme));
     104                about.addTab(tr("Revision"), createScrollPane(revision));
     105                about.addTab(tr("Contribution"), createScrollPane(contribution));
    82106
    83107                about.setPreferredSize(new Dimension(500,300));
     
    86110                                JOptionPane.INFORMATION_MESSAGE, ImageProvider.get("logo"));
    87111        }
     112
     113        private JScrollPane createScrollPane(JTextArea area) {
     114                area.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
     115                area.setOpaque(false);
     116            JScrollPane sp = new JScrollPane(area);
     117                sp.setBorder(null);
     118                sp.setOpaque(false);
     119            return sp;
     120    }
     121
     122        /**
     123         * Retrieve the latest JOSM version from the JOSM homepage.
     124         * @return An string with the latest version or "UNKNOWN" in case
     125         *              of problems (e.g. no internet connection).
     126         */
     127        public static String checkLatestVersion() {
     128        String latest;
     129        try {
     130                InputStream s = new URL("http://josm.openstreetmap.de/current").openStream();
     131                latest = new BufferedReader(new InputStreamReader(s)).readLine();
     132                s.close();
     133        } catch (IOException x) {
     134                x.printStackTrace();
     135                return "UNKNOWN";
     136        }
     137        return latest;
     138    }
    88139
    89140        /**
  • src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java

    r247 r266  
    5656                // downloaded area
    5757                sourceBounds.setToolTipText(tr("Draw the boundaries of data loaded from the server."));
    58                 sourceBounds.setSelected(Main.pref.getBoolean("draw.data.downloaded_area"));
     58                sourceBounds.setSelected(Main.pref.getBoolean("draw.data.downloaded_area", true));
    5959                gui.display.add(sourceBounds, GBC.eop().insets(20,0,0,0));
    6060        }
  • test/org/openstreetmap/josm/gui/annotation/AnnotationPresetTest.java

    r255 r266  
    1616import org.openstreetmap.josm.gui.annotation.AnnotationPreset.Label;
    1717import org.openstreetmap.josm.gui.annotation.AnnotationPreset.Text;
    18 import org.openstreetmap.josm.tools.ImageProvider;
    1918
    2019public class AnnotationPresetTest extends TestCase {
Note: See TracChangeset for help on using the changeset viewer.