summaryrefslogtreecommitdiff
path: root/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/AppletHelpListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/AppletHelpListener.java')
-rw-r--r--BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/AppletHelpListener.java35
1 files changed, 25 insertions, 10 deletions
diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/AppletHelpListener.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/AppletHelpListener.java
index 4040431f..743dc7ef 100644
--- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/AppletHelpListener.java
+++ b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/AppletHelpListener.java
@@ -18,30 +18,45 @@
package at.gv.egiz.bku.online.applet;
import at.gv.egiz.bku.gui.AbstractHelpListener;
-import java.applet.AppletContext;
+import java.awt.Desktop;
import java.net.URL;
import java.util.Locale;
/**
- *
+ * Now uses java.awt.Desktop, which deprecates
+ * the distinction between local and applet help listener
+ * TODO: integrate in AbstractHelpListener
+ *
+ * @deprecated
* @author clemens
*/
public class AppletHelpListener extends AbstractHelpListener {
- protected AppletContext ctx;
+// protected AppletContext ctx;
+ protected Desktop desktop;
- public AppletHelpListener(AppletContext ctx, URL helpURL, Locale locale) {
+ public AppletHelpListener(URL helpURL, Locale locale) {
super(helpURL, locale);
- if (ctx == null) {
- throw new RuntimeException("no applet context provided");
+// if (ctx == null) {
+// throw new RuntimeException("no applet context provided");
+// }
+// this.ctx = ctx;
+ if (Desktop.isDesktopSupported()) {
+ this.desktop = Desktop.getDesktop();
}
- this.ctx = ctx;
}
@Override
public void showDocument(URL helpDocument) throws Exception {
- ctx.showDocument(helpDocument, "_blank");
+// ctx.showDocument(helpDocument, "_blank");
+ if (desktop == null) {
+ log.error("Failed to open default browser: Desktop API not available (libgnome installed?)");
+ } else {
+ if (!desktop.isSupported(Desktop.Action.BROWSE)) {
+ log.error("Failed to open default browser: The system provides the Desktop API, but does not support the BROWSE action");
+ } else {
+ Desktop.getDesktop().browse(helpDocument.toURI());
+ }
+ }
}
-
-
}