aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--ChangeLog33
-rw-r--r--Makefile.am117
-rw-r--r--extra/net/sourceforge/javaws/about/Main.java117
-rw-r--r--extra/net/sourceforge/javaws/about/resources/about.html28
-rw-r--r--extra/net/sourceforge/javaws/about/resources/applications.html36
-rw-r--r--extra/net/sourceforge/javaws/about/resources/notes.html99
-rw-r--r--netx/net/sourceforge/jnlp/about/AboutDialog.java192
-rw-r--r--netx/net/sourceforge/jnlp/about/HTMLPanel.java (renamed from extra/net/sourceforge/javaws/about/HTMLPanel.java)47
-rw-r--r--netx/net/sourceforge/jnlp/resources/Messages.properties12
-rw-r--r--netx/net/sourceforge/jnlp/resources/about.html44
-rw-r--r--netx/net/sourceforge/jnlp/resources/about.jnlp17
-rw-r--r--netx/net/sourceforge/jnlp/resources/itw_logo.pngbin0 -> 2191 bytes
-rw-r--r--netx/net/sourceforge/jnlp/resources/jamIcon.jpg (renamed from extra/net/sourceforge/javaws/about/resources/jamIcon.jpg)bin10580 -> 10580 bytes
-rw-r--r--netx/net/sourceforge/jnlp/runtime/Boot.java72
15 files changed, 422 insertions, 393 deletions
diff --git a/AUTHORS b/AUTHORS
index 417a4f0..82e5888 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -2,6 +2,7 @@ The following people have made contibutions to this project.
Please keep this list in alphabetical order.
Lillian Angel <[email protected]>
+Andrew Azores <[email protected]>
Deepak Bhole <[email protected]>
Ricardo Martín Camarero <[email protected]>
Danesh Dadachanji <[email protected]>
diff --git a/ChangeLog b/ChangeLog
index e6298ec..ebb6a93 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2013-06-06 Jiri Vanek <[email protected]>
+ Andrew Azores <[email protected]>
+
+ New about dialogue
+ * Makefile.am (stamps/netx-html-gen): removed logic for extras.jar, added
+ new stamp to create HTML for AboutDialog
+ * netx/net/sourceforge/jnlp/about/AboutDialog.java: Moved out of extras into
+ netx and renamed from Main. New Swing layout and uses HTML files
+ generated in Makefile.
+ * netx/net/sourceforge/jnlp/about/HTMLPanel.java: Moved out of
+ extras into netx. Added ability to click hyperlinks.
+ * netx/net/sourceforge/jnlp/runtime/Boot.java
+ (main, getAboutFile, getJNLPFile, itwInfoMessage): changed way of launching
+ About dialog to using new static display method rather than JNLP launch.
+ Removed methods relating to JNLP launch. More informative and nicely
+ formatted -headless information.
+ * netx/net/sourceforge/jnlp/resources/Messages.properties
+ (BAboutITW, BFileInfoAuthors, BFileInfoCopying, BFileInfoNews): added new
+ messages for javaws -about -headless launch
+ * netx/net/sourceforge/jnlp/resources/about.html: moved out of extras
+ into netx. Added more content, changed formatting.
+ * netx/net/sourceforge/jnlp/resources/about.jnlp: removed, no longer needed
+ * netx/net/sourceforge/jnlp/resources/itw_logo.png: new image for About
+ dialog. Modified version of javaws_splash.png
+ * netx/net/sourceforge/jnlp/resources/jamIcon.jpg: moved out of extras
+ into netx
+ * extra/net/sourceforge/javaws/about/HTMLPanel.java: moved into netx
+ * extra/net/sourceforge/javaws/about/Main.java: same
+ * extra/net/sourceforge/javaws/about/resources/about.html: same
+ * extra/net/sourceforge/javaws/about/resources/jamIcon.jpg: same
+ * extra/net/sourceforge/javaws/about/resources/applications.html: removed
+ * extra/net/sourceforge/javaws/about/resources/notes.html: removed
+
2013-06-28 Adam Domurad <[email protected]>
* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
diff --git a/Makefile.am b/Makefile.am
index 7e5b716..eec2fe3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,8 +5,6 @@ export TOP_BUILD_DIR = $(abs_top_builddir)
export NETX_DIR = $(abs_top_builddir)/netx.build
export NETX_SRCDIR = $(abs_top_srcdir)/netx
export NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources
-export NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/javaws/about/resources
-export NETX_EXTRA_DIST_DIR=$(abs_top_builddir)/extra-lib/net/sourceforge/javaws/about/resources
export REPORT_STYLES_DIRNAME=report-styles
@@ -132,6 +130,7 @@ export JDK_UPDATE_VERSION=50
export PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java
export NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \
+ net.sourceforge.jnlp.about \
net.sourceforge.jnlp.cache net.sourceforge.jnlp.config \
net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \
net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \
@@ -192,9 +191,6 @@ endif
export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION)
-export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \
- itweb-settings.desktop.in $(top_srcdir)/tests
-
# reproducers `D`shortcuts
export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)
export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws)
@@ -224,12 +220,12 @@ edit_launcher_script = sed \
# Top-Level Targets
# =================
-all-local: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
+all-local: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \
javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop
check-local: $(RHINO_TESTS) $(JUNIT_TESTS)
-clean-local: clean-netx clean-plugin clean-liveconnect clean-extra \
+clean-local: clean-netx clean-plugin clean-liveconnect \
clean-native-ecj clean-launchers clean-desktop-files clean-docs clean-tests clean-bootstrap-directory
if [ -e stamps ] ; then \
rmdir stamps ; \
@@ -249,13 +245,11 @@ endif
${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png
${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir)
- ${INSTALL_DATA} extra-lib/about.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir)
install-data-local:
${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1
${INSTALL_DATA} $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(mandir)/man1
- ${INSTALL_DATA} $(NETX_RESOURCE_DIR)/about.jnlp $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)
if ENABLE_DOCS
${mkinstalldirs} $(DESTDIR)$(htmldir)
(cd ${abs_top_builddir}/docs/netx; \
@@ -276,8 +270,6 @@ uninstall-local:
rm -f $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
- rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jnlp
- rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
rm -f $(DESTDIR)$(mandir)/man1/javaws.1
rm -f $(DESTDIR)$(bindir)/$(javaws)
rm -f $(DESTDIR)$(bindir)/$(itweb_settings)
@@ -466,7 +458,74 @@ if !HAVE_JAVA7
sed -i '/VariableX509TrustManagerJDK7/ d' $@
endif
-stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp
+stamps/netx-html-gen.stamp:
+ (cd $$NETX_SRCDIR/..; \
+ mkdir -p html-gen; \
+ cp AUTHORS NEWS COPYING ChangeLog html-gen/; \
+ cd html-gen/; \
+ for FILE in NEWS AUTHORS COPYING ChangeLog; \
+ do \
+ sed -r \
+ -e "s/\t/ /g" $(: Convert tabs into four spaces) \
+ -e "s/\&/\&amp;/g" $(: "&" -> "&amp;") \
+ -e "s/ /\&ensp;\&ensp;/g" $(: Double-spaces into HTML whitespace for formatting) \
+ -e "s/</\&lt;/g" $(: "<" -> "&lt;") \
+ -e "s/>/\&gt;/g" $(: ">" -> "&gt;") \
+ -e 's/(\&lt;)?(https?:\/\/[^ ]*)(\&gt;| |$$)/\1<a href="\2">\2<\/a>\3/i' $(: Creates hyperlinks from http/https URLs) \
+ -e 's/\&lt;(.*@.*)\&gt;/\&lt;<a href="mailto:\1\?subject=IcedTea-Web">\1<\/a>\&gt;/i' $(: Create mailto links from email addresses formatted as <[email protected]>) \
+ -e "s/$$/<br>/g" $(: "\n" -> "<br>") \
+ "./$$FILE" > "./$$FILE.html"; \
+ done; \
+ sed -i '4i <center>' AUTHORS.html; \
+ sed -i '5i <br><img src="jamIcon.jpg" alt="Jam Icon" width="87" height="84"><br><br>' AUTHORS.html; $(: Insert jamIcon into AUTHORS.html and center the authors list)\
+ echo "</center>" >> AUTHORS.html; \
+ for FILE in NEWS.html ChangeLog.html; \
+ do \
+ mv $$FILE "$$FILE.old"; \
+ COUNTER=0; \
+ while read LINE; \
+ do \
+ BOLD=1; \
+ if [[ $$FILE == "NEWS.html" ]]; \
+ then \
+ if [[ $$LINE =~ New\ in\ release* ]]; \
+ then \
+ BOLD=0; \
+ COUNTER=$$(( $$COUNTER + 1 )); \
+ fi; \
+ if [[ $$COUNTER -gt 2 ]]; $(: Cut to two releases)\
+ then \
+ break; \
+ fi; \
+ else \
+ if [[ $$LINE =~ .*\&lt\;.*\@.*\&gt\; ]]; $(: Matches eg <[email protected]>, after HTML-escaping)\
+ then \
+ BOLD=0; \
+ fi; \
+ if [[ $$LINE =~ [0-9]{4}-[0-9]{2}-[0-9]{2}* ]]; $(: Matches eg 2013-07-01)\
+ then \
+ COUNTER=$$(( $$COUNTER + 1 )); \
+ fi; \
+ if [[ $$COUNTER -gt 10 ]]; $(: Cut to ten changesets)\
+ then \
+ break; \
+ fi; \
+ fi; \
+ if [[ $$BOLD -eq 0 ]]; $(: Highlight "New In Release" in News, and author name lines in ChangeLog) \
+ then \
+ echo "<b>$$LINE</b>" >> $$FILE; \
+ else \
+ echo "$$LINE" >> $$FILE; \
+ fi; \
+ done < "$$FILE.old"; \
+ rm $$FILE.old; \
+ done)
+ ${INSTALL_DATA} $(NETX_SRCDIR)/../html-gen/*.html $(NETX_RESOURCE_DIR)
+ rm -r $(NETX_SRCDIR)/../html-gen/
+ mkdir -p stamps
+ touch $@
+
+stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp stamps/netx-html-gen.stamp
mkdir -p $(NETX_DIR)
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
-d $(NETX_DIR) \
@@ -503,37 +562,13 @@ clean-netx:
rm -f stamps/netx-dist.stamp
rm -f netx-source-files.txt
rm -f stamps/netx.stamp
+ rm -f stamps/netx-html-gen.stamp
+ rm -f $(NETX_RESOURCE_DIR)/{NEWS,AUTHORS,COPYING,ChangeLog}.html
clean-desktop-files:
rm -f javaws.desktop
rm -f itweb-settings.desktop
-# extras -- used to create about.jar for javaws.
-extra-source-files.txt:
- find $(abs_top_srcdir)/extra -name '*.java' | sort > $@
-
-stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp
- mkdir -p extra-lib
- $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \
- -sourcepath $(abs_top_srcdir)/extra -cp netx.build \
- -bootclasspath $(RUNTIME) @extra-source-files.txt
- (cd $(NETX_EXTRA_DIR); \
- for files in $$(find . -type f); \
- do \
- ${INSTALL_DATA} -D $${files} \
- $(NETX_EXTRA_DIST_DIR)/$${files}; \
- done)
- mkdir -p stamps
- touch $@
-
-clean-extra:
- rm -rf extra-lib
- rm -f stamps/extra-class-files.stamp
- rm -f extra-source-files.txt
-
-extra-lib/about.jar: stamps/extra-class-files.stamp
- $(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ;
-
launcher.build/$(javaws): launcher/launchers.in
mkdir -p launcher.build
MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\
@@ -865,7 +900,7 @@ $(TESTS_DIR)/$(SOFTKILLER):
$(MAKE) ; \
mv $(SOFTKILLER) $(TESTS_DIR)/
-stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
+stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \
javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \
stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public $(TESTS_DIR)/softkiller \
stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\
@@ -910,7 +945,7 @@ clean-custom-reproducers: junit-jnlp-dist-custom.txt
#although this targets will indeed create symbolic links to enable
#icedtea-web plugin inside browser it is intended for testing purposes
if ENABLE_PLUGIN
-stamps/user-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp \
+stamps/user-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp \
launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
if [ $(MOZILLA_FAMILY_TEST) ] ; then \
if [ -e $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ] ; then \
@@ -940,7 +975,7 @@ restore-user-links:
rm -f stamps/user-links.stamp ; \
fi
-stamps/global-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
+stamps/global-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \
stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
if [ $(MOZILLA_FAMILY_TEST) ] ; then \
dir="$(MOZILLA_GLOBAL32_PLUGINDIR)" ; \
diff --git a/extra/net/sourceforge/javaws/about/Main.java b/extra/net/sourceforge/javaws/about/Main.java
deleted file mode 100644
index eec46ae..0000000
--- a/extra/net/sourceforge/javaws/about/Main.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Main.java
- Copyright (C) 2008 Red Hat, Inc.
-
-This file is part of IcedTea.
-
-IcedTea is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 2.
-
-IcedTea is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with IcedTea; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version.
-*/
-
-package net.sourceforge.javaws.about;
-
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.Toolkit;
-import java.io.IOException;
-
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JTabbedPane;
-import javax.swing.UIManager;
-
-
-public class Main extends JPanel {
-
- private final String notes = "/net/sourceforge/javaws/about/resources/notes.html";
- private final String apps = "/net/sourceforge/javaws/about/resources/applications.html";
- private final String about = "/net/sourceforge/javaws/about/resources/about.html";
- JTabbedPane tabbedPane;
-
- public Main() throws IOException {
- super(new BorderLayout());
-
- HTMLPanel notesPanel = new HTMLPanel(getClass().getResource(notes));
- HTMLPanel appsPanel = new HTMLPanel(getClass().getResource(apps));
- HTMLPanel aboutPanel = new HTMLPanel(getClass().getResource(about));
-
-
-
- tabbedPane = new JTabbedPane();
-
- tabbedPane.add("About IcedTea-Web and NetX", aboutPanel);
- tabbedPane.add("Applications", appsPanel);
- tabbedPane.add("Notes", notesPanel);
-
- tabbedPane.setPreferredSize(new Dimension(550,410));
- add(tabbedPane, BorderLayout.CENTER);
- }
-
- private static void createAndShowGUI() {
-
- try {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (Exception e) {
- }
-
- JFrame frame = new JFrame("About IcedTea-Web and NetX");
- frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- Main demo = null;
- try {
- demo = new Main();
- } catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
- demo.setOpaque(true);
- frame.setContentPane(demo);
- frame.pack();
- centerDialog(frame);
- frame.setVisible(true);
- }
-
- private static void centerDialog(JFrame frame) {
- Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
- Dimension dialogSize = frame.getSize();
-
- frame.setLocation((screen.width - dialogSize.width)/2,
- (screen.height - dialogSize.height)/2);
- }
-
- public static void main(String[] args) {
- javax.swing.SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- createAndShowGUI();
- }
- });
- }
-
-
-}
diff --git a/extra/net/sourceforge/javaws/about/resources/about.html b/extra/net/sourceforge/javaws/about/resources/about.html
deleted file mode 100644
index e0d0a92..0000000
--- a/extra/net/sourceforge/javaws/about/resources/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <title>
- </title>
- </head>
- <body>
- <h3>IcedTea-Web</h3> is a high-quality JNLP client, built on <b>NetX</b>, that executes
- network-based applications.
- <br>NetX downloads code over the
- network, caches it, and runs it in a secure sandbox
- environment (unless signed).
- <br><br><big><b>
- Features of NetX:
- </b></big>
- <ul>
- <li><b>Modular: </b>Easily add JNLP capabilities to an application.</li>
- <li><b>Small Size: </b>Loads from a ~130K JAR file.</li>
- <li><b>Saves Memory: </b>Launch programs in a shared JVM.</li>
- <li><b>Fast startup:</b> Runs applications from a cache for fast starting. </li>
- <li><b>Security:</b> Run any application in a sandbox or log its activities.</li>
- <li><b>Auto-Update:</b> Applications can auto-update without special code.</li>
- <li><b>Network Deployment:</b> Deploy to the internet, not with installers. </li>
- <li><b>Open Source:</b> GNU Lesser General Public License.</li>
- </ul>
- </body>
-</html>
-
diff --git a/extra/net/sourceforge/javaws/about/resources/applications.html b/extra/net/sourceforge/javaws/about/resources/applications.html
deleted file mode 100644
index e9210d6..0000000
--- a/extra/net/sourceforge/javaws/about/resources/applications.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>Applications</title>
-</head>
-<body>
-
-<big><b>Sample Applications:</b></big><br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jGoodies.com/download/jdiskreport/jdiskreport.jnlp">jDiskReport</a> -</b> http://www.jGoodies.com/download/jdiskreport/jdiskreport.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jgoodies.com/download/jpathreport/jpathreport.jnlp">jPathReport</a> -</b> http://www.jgoodies.com/download/jpathreport/jpathreport.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.L2FProd.com/software/skinlf/jnlp/demo.php">Skin L2F Demo</a> -</b> http://www.L2FProd.com/software/skinlf/jnlp/demo.php<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.glub.com/products/secureftp/secureftp.jnlp">Secure FTP</a> -</b> http://www.glub.com/products/secureftp/secureftp.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jext.org/apps/jext.jnlp">Jext</a> -</b> http://www.jext.org/apps/jext.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.javazoom.net/jlgui/jws/jlgui.jnlp">Java Music Player</a> -</b> http://www.javazoom.net/jlgui/jws/jlgui.jnlp<br>
-<br>
-<big><b>Apps using netx:</b></big><br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://jnlp.sourceforge.net/netx/start/start.jnlp">Java Start Button</a> -</b> http://jnlp.sourceforge.net/netx/start/start.jnlp<br>
-<br>
-<big><b>Sun Demos:</b></big><br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/swingset2.jnlp">SwingSet2</a> -</b> http://java.sun.com/products/javawebstart/apps/swingset2.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/notepad.jnlp">Notepad</a> -</b> http://java.sun.com/products/javawebstart/apps/notepad.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/draw.jnlp">Draw</a> -</b> http://java.sun.com/products/javawebstart/apps/draw.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/mg.jnlp">Military Game</a> -</b> http://java.sun.com/products/javawebstart/apps/mg.jnlp<br>
-<br>
-<big><b>Tests:</b></big><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/SecurityTest.jnlp">Security Test</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/SecurityTestSigned.jnlp">Security Test (signed)</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/StrictTest.jnlp">Security Test (signed; fail strict JNLP)</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/PermissionList.jnlp">Permission Test</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/PermissionListSigned.jnlp">Permission Test (signed)</a>
-<table cellpadding="0" cellspacing="0" border="0">
- <tbody><tr><td valign="Top" nowrap="true" bgcolor="#ffffff" width="500"><br>
- </td></tr></tbody>
-</table>
-</body>
-</html>
diff --git a/extra/net/sourceforge/javaws/about/resources/notes.html b/extra/net/sourceforge/javaws/about/resources/notes.html
deleted file mode 100644
index c8d95ba..0000000
--- a/extra/net/sourceforge/javaws/about/resources/notes.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <title>Release Notes</title>
- </head>
- <body>
- <br>
- <table cellpadding="2" cellspacing="2" border="0" width="100%">
- <tbody>
- <tr>
- <td valign="Top" width="15"></td>
- <td valign="Top" width="100%">
- <table cellpadding="0" cellspacing="0" border="0" align="Center">
- <tbody>
- <tr>
- <td valign="Middle" align="Center" nowrap="true"><div align="Center">
- <img src="jamIcon.jpg" alt="Jam Icon" width="87" height="84" align="Center">
- </div>
- </td>
- </tr>
- <tr>
- <td valign="Middle" nowrap="true" align="Justify">
- <div align="Center">
- <b>Lillian Angel</b> <br>
- <b>Deepak Bhole</b> <br>
- <b>Danesh Dadachanji</b> <br>
- <b>Adam Domurad</b> <br>
- <b>Thomas Fitzsimmons</b> <br>
- <b>Andrew John Hughes</b> <br>
- <b>Matthias Klose </b> <br>
- <b>Francis Kung</b> <br>
- <b>Omair Majid</b> <br>
- <b>Jon A. Maxwell</b> <br>
- <b>Thomas Meyer</b> <br>
- <b>Saad Mohammad</b> <br>
- <b>Andrew Su</b> <br>
- <b>Joshua Sumali</b> <br>
- <b>Jiri Vanek</b> <br>
- <b>Mark Wielaard</b> <br>
- <b>Man Lung Wong</b> <br>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
-<br>
-<big><b>Release Notes</b></big>
-<br>
-<table cellpadding="0" cellspacing="0" border="0">
- <tbody>
- <tr>
- <td valign="Top" width="15"><br></td>
-
-
- <td valign="Top">
- NetX on IcedTea: Security Support
- <ul>
- <li> Full signed application support </li>
- <li> User trusted certificates support </li>
- <li> Some JNLP API Services implemented </li>
- <li> Improved unsigned application sandboxing with JNLP API </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td valign="Top" width="15"><br></td>
- <td valign="Top">
- Version 0.5: Refines multi-app capabilities + native code support
- <ul>
- <li> Released under LGPL. </li>
- <li> Separate event queue, look and feel, etc for each application. </li>
- <li> Native code support. </li>
- <li> Supports headless mode. </li>
- <li> Internationalized messages. </li>
- <li> Uses NanoXML parser. </li>
- <li> Minor changes listed on project web site... </li>
- </ul>
-
- </td>
- </tr>
- </tbody>
-</table>
-<b> Home page of IcedTea-Web:
- <a href="http://icedtea.classpath.org/wiki/IcedTea-Web">
- http://icedtea.classpath.org/wiki/IcedTea-Web
- </a><br>
- Please visit also the SourceForge site
- <a href="http://jnlp.sourceforge.net/netx/index.html">
- http://jnlp.sourceforge.net/netx/index.html
- </a>
- and the IcedTea site
- <a href="http://iced-tea.org">http://iced-tea.org</a>
- for more information.</b><br>
-</body>
-</html>
diff --git a/netx/net/sourceforge/jnlp/about/AboutDialog.java b/netx/net/sourceforge/jnlp/about/AboutDialog.java
new file mode 100644
index 0000000..7ae32bc
--- /dev/null
+++ b/netx/net/sourceforge/jnlp/about/AboutDialog.java
@@ -0,0 +1,192 @@
+/* Main.java
+ Copyright (C) 2008 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package net.sourceforge.jnlp.about;
+
+import static net.sourceforge.jnlp.runtime.Translator.R;
+
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.net.URL;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
+import javax.swing.border.EmptyBorder;
+
+import net.sourceforge.jnlp.util.ScreenFinder;
+
+public class AboutDialog extends JPanel implements Runnable, ActionListener {
+
+ private static final String about_url = "/net/sourceforge/jnlp/resources/about.html";
+ private static final String authors_url = "/net/sourceforge/jnlp/resources/AUTHORS.html";
+ private static final String changelog_url = "/net/sourceforge/jnlp/resources/ChangeLog.html";
+ private static final String copying_url = "/net/sourceforge/jnlp/resources/COPYING.html";
+ private static final String news_url = "/net/sourceforge/jnlp/resources/NEWS.html";
+
+ private JFrame frame;
+ private JPanel contentPane;
+ private HTMLPanel aboutPanel, authorsPanel, newsPanel, changelogPanel, copyingPanel;
+ private JButton aboutButton, authorsButton, newsButton, changelogButton, copyingButton;
+
+ public AboutDialog() throws IOException {
+ super(new GridBagLayout());
+
+ frame = new JFrame("About IcedTea-Web");
+ frame.setContentPane(this);
+ frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+
+ URL res_about = getClass().getResource(about_url);
+ URL res_authors = getClass().getResource(authors_url);
+ URL res_news = getClass().getResource(news_url);
+ URL res_changelog = getClass().getResource(changelog_url);
+ URL res_copying = getClass().getResource(copying_url);
+
+ aboutPanel = new HTMLPanel(res_about, R("AboutDialogueTabAbout"));
+ authorsPanel = new HTMLPanel(res_authors, R("AboutDialogueTabAuthors"));
+ newsPanel = new HTMLPanel(res_news, R("News"));
+ changelogPanel = new HTMLPanel(res_changelog, R("AboutDialogueTabChangelog"));
+ copyingPanel = new HTMLPanel(res_copying, R("AboutDialogueTabGPLv2"));
+
+ aboutButton = new JButton(aboutPanel.getIdentifier());
+ aboutButton.setActionCommand(aboutPanel.getIdentifier());
+ aboutButton.addActionListener(this);
+
+ authorsButton = new JButton(authorsPanel.getIdentifier());
+ authorsButton.setActionCommand(authorsPanel.getIdentifier());
+ authorsButton.addActionListener(this);
+
+ newsButton = new JButton(newsPanel.getIdentifier());
+ newsButton.setActionCommand(newsPanel.getIdentifier());
+ newsButton.addActionListener(this);
+
+ changelogButton = new JButton(changelogPanel.getIdentifier());
+ changelogButton.setActionCommand(changelogPanel.getIdentifier());
+ changelogButton.addActionListener(this);
+
+ copyingButton = new JButton(copyingPanel.getIdentifier());
+ copyingButton.setActionCommand(copyingPanel.getIdentifier());
+ copyingButton.addActionListener(this);
+
+ contentPane = aboutPanel;
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ String action = e.getActionCommand();
+ if (action.equals(((HTMLPanel) contentPane).getIdentifier()))
+ return;
+
+ if (action.equals(aboutPanel.getIdentifier())) {
+ contentPane = aboutPanel;
+ } else if (action.equals(authorsPanel.getIdentifier())) {
+ contentPane = authorsPanel;
+ } else if (action.equals(newsPanel.getIdentifier())) {
+ contentPane = newsPanel;
+ } else if (action.equals(changelogPanel.getIdentifier())) {
+ contentPane = changelogPanel;
+ } else if (action.equals(copyingPanel.getIdentifier())) {
+ contentPane = copyingPanel;
+ }
+
+ layoutWindow();
+ }
+
+ private void layoutWindow() {
+ this.removeAll();
+
+ GridBagConstraints gbc = new GridBagConstraints();
+
+ gbc.fill = GridBagConstraints.BOTH;
+ gbc.gridy = 0;
+ gbc.gridx = 0;
+ gbc.gridwidth = 5;
+ gbc.weightx = 1.0;
+ gbc.weighty = 1.0;
+ this.add(contentPane, gbc);
+
+ gbc.gridy = 1;
+ gbc.gridx = 0;
+ gbc.gridwidth = 1;
+ gbc.ipady = 16;
+ this.add(aboutButton, gbc);
+
+ gbc.gridx = 1;
+ this.add(authorsButton, gbc);
+
+ gbc.gridx = 2;
+ this.add(newsButton, gbc);
+
+ gbc.gridx = 3;
+ this.add(changelogButton, gbc);
+
+ gbc.gridx = 4;
+ this.add(copyingButton, gbc);
+
+ Dimension contentSize = new Dimension(640, 480);
+ contentPane.setMinimumSize(contentSize);
+ contentPane.setPreferredSize(contentSize);
+ contentPane.setBorder(new EmptyBorder(0, 0, 8, 0));
+
+ this.setBorder(new EmptyBorder(8, 8, 8, 8));
+
+ frame.pack();
+ }
+
+ @Override
+ public void run() {
+ try {
+ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+ } catch (Exception e) {
+ }
+
+ layoutWindow();
+ ScreenFinder.centerWindowsToCurrentScreen(frame);
+ frame.setVisible(true);
+ }
+
+ public static void display() throws IOException {
+ SwingUtilities.invokeLater(new AboutDialog());
+ }
+
+}
diff --git a/extra/net/sourceforge/javaws/about/HTMLPanel.java b/netx/net/sourceforge/jnlp/about/HTMLPanel.java
index e544e32..67c1733 100644
--- a/extra/net/sourceforge/javaws/about/HTMLPanel.java
+++ b/netx/net/sourceforge/jnlp/about/HTMLPanel.java
@@ -35,25 +35,50 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
*/
-package net.sourceforge.javaws.about;
+package net.sourceforge.jnlp.about;
import java.awt.BorderLayout;
+import java.awt.Desktop;
import java.io.IOException;
+import java.net.URISyntaxException;
import java.net.URL;
+import javax.swing.JEditorPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
-import javax.swing.JEditorPane;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
public class HTMLPanel extends JPanel {
- JEditorPane pane;
-
- public HTMLPanel(URL url) throws IOException {
- super(new BorderLayout());
- pane = new JEditorPane(url);
- pane.setEditable(false);
- JScrollPane scroller = new JScrollPane(pane);
- add(scroller, BorderLayout.CENTER);
- }
+ private String id;
+
+ public HTMLPanel(URL url, String identifier) throws IOException {
+ super(new BorderLayout());
+ id = identifier;
+ JEditorPane pane = new JEditorPane(url);
+ pane.setContentType("text/html");
+ pane.setEditable(false);
+ pane.addHyperlinkListener(new UrlHyperlinkListener());
+ JScrollPane scroller = new JScrollPane(pane);
+ this.add(scroller, BorderLayout.CENTER);
+ }
+
+ public String getIdentifier() {
+ return id;
+ }
+
+ private class UrlHyperlinkListener implements HyperlinkListener {
+ @Override
+ public void hyperlinkUpdate(HyperlinkEvent event) {
+ if (Desktop.isDesktopSupported() && event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
+ try {
+ Desktop.getDesktop().browse(event.getURL().toURI());
+ } catch (URISyntaxException ex) {
+ } catch (IOException ex) {
+ }
+ }
+ }
+ }
+
}
diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties b/netx/net/sourceforge/jnlp/resources/Messages.properties
index d0de783..232f7d0 100644
--- a/netx/net/sourceforge/jnlp/resources/Messages.properties
+++ b/netx/net/sourceforge/jnlp/resources/Messages.properties
@@ -33,6 +33,13 @@ Username=Username:
Value=Value
Version=Version
+#about dialogue
+AboutDialogueTabAbout=About
+AboutDialogueTabAuthors=Authors
+AboutDialogueTabChangelog=Changelog
+AboutDialogueTabNews=News
+AboutDialogueTabGPLv2=GPLv2
+
# LS - Severity
LSMinor=Minor
LSFatal=Fatal
@@ -138,6 +145,7 @@ PBadHeapSize=Invalid value for heap size ({0})
# Runtime
BLaunchAbout=Launching about window...
+BLaunchAboutFailure=Was not able to launch About window
BNeedsFile=Must specify a .jnlp file
RNoAboutJnlp=Unable to find about.jnlp
BFileLoc=JNLP file location
@@ -172,6 +180,10 @@ RProxyFirefoxOptionNotImplemented=Browser proxy option "{0}" ({1}) not supported
RBrowserLocationPromptTitle=Browser Location
RBrowserLocationPromptMessage=Specify Browser Location
RBrowserLocationPromptMessageWithReason=Specify Browser Location (the browser command "{0}" is invalid).
+BAboutITW=The IcedTea-Web project provides a Free Software web browser plugin running applets written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project. Visit the IcedTea-Web homepage: http://icedtea.classpath.org/wiki/IcedTea-Web . Use "man javaws" or "javaws -help" for more information.
+BFileInfoAuthors=Names and email addresses of contributors to this project can be found in the file AUTHORS in the IcedTea-Web root directory.
+BFileInfoCopying=The full GPLv2 license of this project can be found in the file COPYING in the IcedTea-Web root directory.
+BFileInfoNews=News about releases of this project can be found in the file NEWS in the IcedTea-Web root directory.
# Boot options, message should be shorter than this ---------------->
BOUsage=javaws [-run-options] <jnlp file>
diff --git a/netx/net/sourceforge/jnlp/resources/about.html b/netx/net/sourceforge/jnlp/resources/about.html
new file mode 100644
index 0000000..73674d2
--- /dev/null
+++ b/netx/net/sourceforge/jnlp/resources/about.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>
+ </title>
+ </head>
+ <body>
+ <center><img src="itw_logo.png" alt="IcedTea-Web Logo" width="413" height="240"></center><br>
+ <b>IcedTea-Web</b> provides a Free Software web browser plugin running applets
+ written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project.
+ <br><br>NetX allows Java applets and applications to be downloaded over the
+ network, cached, and (by default) run in a secure sandbox environment. Subsequent runs of the applet
+ download the latest version automatically. Update and security settings, among others, can be set using the itw-settings command.
+ <br>IcedTea-Web also includes a plugin to <a href="http://www.java.com/en/download/testjava.jsp">enable Java applets</a>
+ within web browsers.
+ <br><br>
+ <h2><b>
+ Features of NetX:
+ </b></h2>
+ <ul>
+ <li><b>Modular:</b> Easily add JNLP capabilities to an application.</li>
+ <li><b>Saves Memory:</b> Launch programs in a shared JVM.</li>
+ <li><b>Fast startup:</b> Runs applications from a cache for fast starting.</li>
+ <li><b>Security:</b> Run any application in a sandbox or log its activities.</li>
+ <li><b>Auto-Update:</b> Applications can auto-update without special code.</li>
+ <li><b>Network Deployment:</b> Deploy to the internet, not with installers.</li>
+ <li><b>Open Source:</b> GNU Lesser General Public License.</li>
+ </ul>
+ Visit the <a href="http://icedtea.classpath.org/wiki/Main_Page">IcedTea project wiki</a>
+ or specifically the <a href="http://icedtea.classpath.org/wiki/IcedTea-Web">IcedTea-Web home</a> pages for more information.
+ <br>Help with common issues with IcedTea-Web can be found <a href="http://icedtea.classpath.org/wiki/IcedTea-Web#Common_Issues">here</a>.
+ <br><br><h2><b>
+ Contributing:
+ </b></h2>
+ <br>
+ A <a href="http://icedtea.classpath.org/wiki/DeveloperQuickStart">QuickStart</a> guide for the IcedTea project is available on the wiki.
+ <a href="http://icedtea.classpath.org/wiki/IcedTea-Web#Code_style">Code style</a> guidelines and
+ <a href="http://icedtea.classpath.org/wiki/IcedTea-Web/DevelopingWithEclipse">Eclipse setup</a> instructions for IcedTea-Web
+ are available as well. Patches should be accompanied by unit tests and
+ <a href="http://icedtea.classpath.org/wiki/Reproducers">reproducers</a> before being sent to
+ <a href="http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev">the mailing list</a>.
+ </body>
+</html>
+
diff --git a/netx/net/sourceforge/jnlp/resources/about.jnlp b/netx/net/sourceforge/jnlp/resources/about.jnlp
deleted file mode 100644
index 44763b6..0000000
--- a/netx/net/sourceforge/jnlp/resources/about.jnlp
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<jnlp spec="1.0" href="about.jnlp" codebase=".">
- <information>
- <title>About window for NetX</title>
- <vendor>NetX</vendor>
- <homepage href="http://jnlp.sourceforge.net/netx/"/>
- <description>Displays information about NetX</description>
- <offline/>
- </information>
- <resources>
- <j2se version="1.4+"/>
- <jar href="about.jar"/>
- </resources>
- <application-desc main-class="net.sourceforge.javaws.about.Main">
- </application-desc>
-</jnlp>
-
diff --git a/netx/net/sourceforge/jnlp/resources/itw_logo.png b/netx/net/sourceforge/jnlp/resources/itw_logo.png
new file mode 100644
index 0000000..1886f0f
--- /dev/null
+++ b/netx/net/sourceforge/jnlp/resources/itw_logo.png
Binary files differ
diff --git a/extra/net/sourceforge/javaws/about/resources/jamIcon.jpg b/netx/net/sourceforge/jnlp/resources/jamIcon.jpg
index 6a827c7..6a827c7 100644
--- a/extra/net/sourceforge/javaws/about/resources/jamIcon.jpg
+++ b/netx/net/sourceforge/jnlp/resources/jamIcon.jpg
Binary files differ
diff --git a/netx/net/sourceforge/jnlp/runtime/Boot.java b/netx/net/sourceforge/jnlp/runtime/Boot.java
index 76a95ce..76b89b4 100644
--- a/netx/net/sourceforge/jnlp/runtime/Boot.java
+++ b/netx/net/sourceforge/jnlp/runtime/Boot.java
@@ -19,6 +19,7 @@ package net.sourceforge.jnlp.runtime;
import static net.sourceforge.jnlp.runtime.Translator.R;
import java.io.File;
+import java.io.IOException;
import java.net.URL;
import java.security.AccessController;
import java.security.PrivilegedAction;
@@ -31,6 +32,7 @@ import java.util.Map;
import net.sourceforge.jnlp.LaunchException;
import net.sourceforge.jnlp.Launcher;
import net.sourceforge.jnlp.ParserSettings;
+import net.sourceforge.jnlp.about.AboutDialog;
import net.sourceforge.jnlp.cache.CacheUtil;
import net.sourceforge.jnlp.cache.UpdatePolicy;
import net.sourceforge.jnlp.security.viewer.CertificateViewer;
@@ -58,12 +60,6 @@ public final class Boot implements PrivilegedAction<Void> {
public static final String name = Boot.class.getPackage().getImplementationTitle();
public static final String version = Boot.class.getPackage().getImplementationVersion();
- /** the text to display before launching the about link */
- private static final String aboutMessage = ""
- + name + " " + version
- + "\n"
- + R("BLaunchAbout");
-
private static final String miniLicense = "\n"
+ " netx - an open-source JNLP client.\n"
+ " Copyright (C) 2001-2003 Jon A. Maxwell (JAM)\n"
@@ -83,6 +79,17 @@ public final class Boot implements PrivilegedAction<Void> {
+ " Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+ "\n";
+ private static final String itwInfoMessage = ""
+ + name + " " + version
+ + "\n\n* "
+ + R("BAboutITW")
+ + "\n* "
+ + R("BFileInfoAuthors")
+ + "\n* "
+ + R("BFileInfoNews")
+ + "\n* "
+ + R("BFileInfoCopying");
+
private static final String helpMessage = "\n"
+ "Usage: " + R("BOUsage") + "\n"
+ " " + R("BOUsage2") + "\n"
@@ -143,8 +150,21 @@ public final class Boot implements PrivilegedAction<Void> {
System.exit(0);
}
- if (null != getOption("-about"))
- System.out.println(aboutMessage);
+ if (null != getOption("-about")) {
+ System.out.println(itwInfoMessage);
+ if (null != getOption("-headless")) {
+ System.exit(0);
+ } else {
+ System.out.println(R("BLaunchAbout"));
+ try {
+ AboutDialog.display();
+ return;
+ } catch (IOException e) {
+ System.out.println(R("BLaunchAboutFailure"));
+ throw new RuntimeException(e);
+ }
+ }
+ }
if (null != getOption("-verbose"))
JNLPRuntime.setDebug(true);
@@ -234,33 +254,6 @@ public final class Boot implements PrivilegedAction<Void> {
}
/**
- * Returns the location of the about.jnlp file or null if this file
- * does not exist.
- */
- private static String getAboutFile() {
- ClassLoader cl = Boot.class.getClassLoader();
- if (cl == null) {
- cl = ClassLoader.getSystemClassLoader();
- }
- try {
- //extracts full path to about.jnlp
- String s = cl.getResource("net/sourceforge/jnlp/runtime/Boot.class").toString();
- s=s.substring(0,s.indexOf("!"));
- s=s.substring(s.indexOf(":")+1);
- s=s.substring(s.indexOf(":")+1);
- s="file://"+s.replace("netx.jar","about.jnlp");
- if (JNLPRuntime.isDebug()){
- System.out.println("Using " + s + " as about.jnlp URL");
- }
-
- return s;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
* Returns the url of file to open; does not return if no file was
* specified, or if the file location was invalid.
*/
@@ -268,15 +261,6 @@ public final class Boot implements PrivilegedAction<Void> {
String location = getJNLPFile();
- // override -jnlp with aboutFile
- if (getOption("-about") != null) {
- location = getAboutFile();
- if (location == null)
- fatalError(R("RNoAboutJnlp"));
- } else {
- location = getJNLPFile();
- }
-
if (location == null) {
System.out.println(helpMessage);
System.exit(1);