13569 tray panel should support help
authorStephen Talley <stephen.talley@sun.com>
Wed, 23 Dec 2009 17:21:25 -0500
changeset 408 7f34363e6fb5
parent 407 b313617320f8
child 409 10721e81cee4
13569 tray panel should support help
usr/src/java/vpanels/client/org/opensolaris/os/vp/client/swing/AppInstance.java
usr/src/java/vpanels/panel/org/opensolaris/os/vp/panel/swing/control/SystemTrayControl.java
usr/src/java/vpanels/panel/org/opensolaris/os/vp/panel/swing/control/resources/Resources.properties
--- a/usr/src/java/vpanels/client/org/opensolaris/os/vp/client/swing/AppInstance.java	Wed Dec 23 16:26:57 2009 -0500
+++ b/usr/src/java/vpanels/client/org/opensolaris/os/vp/client/swing/AppInstance.java	Wed Dec 23 17:21:25 2009 -0500
@@ -294,6 +294,12 @@
     public void showHelp() {
 	Window window = navigator.getLastWindow();
 
+	if (window == null) {
+            // Absurdly, the Swing help viewer needs a non-null window to show,
+            // even if that window is not visible
+	    window = new Window(null);
+	}
+
 	ActionEvent event = new ActionEvent(
 	    window, ActionEvent.ACTION_PERFORMED, "showHelp");
 
--- a/usr/src/java/vpanels/panel/org/opensolaris/os/vp/panel/swing/control/SystemTrayControl.java	Wed Dec 23 16:26:57 2009 -0500
+++ b/usr/src/java/vpanels/panel/org/opensolaris/os/vp/panel/swing/control/SystemTrayControl.java	Wed Dec 23 17:21:25 2009 -0500
@@ -28,6 +28,7 @@
 
 import java.awt.*;
 import java.awt.event.*;
+import java.net.URL;
 import java.util.Map;
 import org.opensolaris.os.vp.panel.common.*;
 import org.opensolaris.os.vp.panel.common.action.ActionAbortedException;
@@ -157,6 +158,22 @@
 	    });
 	popup.add(loginItem);
 
+	final URL url = getHelpURL();
+	if (url != null) {
+	    MenuItem helpItem =
+		new MenuItem(Finder.getString("tray.popup.help"));
+	    helpItem.addActionListener(
+		new ActionListener() {
+		    @Override
+		    public void actionPerformed(ActionEvent e) {
+			ClientContext context = getClientContext();
+			context.getHelpBroker().setCurrentURL(url);
+			context.showHelp();
+		    }
+		});
+	    popup.add(helpItem);
+	}
+
 	MenuItem exitItem = new MenuItem(Finder.getString("tray.popup.exit"));
 	exitItem.addActionListener(
 	    new ActionListener() {
--- a/usr/src/java/vpanels/panel/org/opensolaris/os/vp/panel/swing/control/resources/Resources.properties	Wed Dec 23 16:26:57 2009 -0500
+++ b/usr/src/java/vpanels/panel/org/opensolaris/os/vp/panel/swing/control/resources/Resources.properties	Wed Dec 23 17:21:25 2009 -0500
@@ -50,4 +50,5 @@
 wizard.cancel.confirm.message = Cancel the running wizard?
 
 tray.popup.login = Change host...
+tray.popup.help = Help...
 tray.popup.exit = Exit