// License: GPL. See LICENSE file for details. package org.openstreetmap.josm.gui; import static org.openstreetmap.josm.tools.I18n.tr; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JEditorPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.border.EmptyBorder; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.data.Version; import org.openstreetmap.josm.io.CacheCustomContent; import org.openstreetmap.josm.tools.LanguageInfo; import org.openstreetmap.josm.tools.OpenBrowser; import org.openstreetmap.josm.tools.WikiReader; public class GettingStarted extends JPanel { private String content = ""; static private String styles = "\n"; public static class LinkGeneral extends JEditorPane implements HyperlinkListener { public LinkGeneral(String text) { setContentType("text/html"); setText(text); setEditable(false); setOpaque(false); addHyperlinkListener(this); } public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { OpenBrowser.displayUrl(e.getDescription()); } } } /** * Grabs current MOTD from cache or webpage and parses it. */ private static class MotdContent extends CacheCustomContent { public MotdContent() { super("motd.html", CacheCustomContent.INTERVAL_DAILY); } final private int myVersion = Version.getInstance().getVersion(); final private String myLang = LanguageInfo.getWikiLanguagePrefix(); /** * This function gets executed whenever the cached files need updating * @see org.openstreetmap.josm.io.CacheCustomContent#updateData() */ @Override protected byte[] updateData() { String motd = new WikiReader().readLang("StartupPage"); if (motd.length() == 0) { motd = "" + styles + "