diff options
Diffstat (limited to 'netx/net/sourceforge/jnlp/security')
-rw-r--r-- | netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java | 15 | ||||
-rw-r--r-- | netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java | 182 |
2 files changed, 197 insertions, 0 deletions
diff --git a/netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java b/netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java index fefa2df..4cbcd6a 100644 --- a/netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java +++ b/netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java @@ -53,6 +53,7 @@ import javax.swing.ButtonGroup; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; +import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; @@ -60,7 +61,9 @@ import javax.swing.SwingConstants; import net.sourceforge.jnlp.PluginBridge; import net.sourceforge.jnlp.security.appletextendedsecurity.ExecuteUnsignedApplet; +import net.sourceforge.jnlp.security.appletextendedsecurity.ExtendedAppletSecurityHelp; import net.sourceforge.jnlp.security.appletextendedsecurity.UnsignedAppletTrustConfirmation; +import net.sourceforge.jnlp.util.ScreenFinder; public class UnsignedAppletTrustWarningPanel extends JPanel { @@ -101,6 +104,7 @@ public class UnsignedAppletTrustWarningPanel extends JPanel { private JButton allowButton; private JButton rejectButton; + private JButton helpButton; private JCheckBox permanencyCheckBox; private JRadioButton applyToAppletButton; private JRadioButton applyToCodeBaseButton; @@ -218,12 +222,23 @@ public class UnsignedAppletTrustWarningPanel extends JPanel { allowButton = new JButton(R("ButProceed")); rejectButton = new JButton(R("ButCancel")); + helpButton = new JButton(R("APPEXTSECguiPanelHelpButton")); allowButton.addActionListener(chosenActionSetter(true)); rejectButton.addActionListener(chosenActionSetter(false)); + helpButton.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent e) { + JDialog d = new ExtendedAppletSecurityHelp(null, false,"dialogue"); + ScreenFinder.centerWindowsToCurrentScreen(d); + d.setVisible(true); + } + }); + buttonPanel.add(allowButton); buttonPanel.add(rejectButton); + buttonPanel.add(helpButton); buttonPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); diff --git a/netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java b/netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java new file mode 100644 index 0000000..2bb2380 --- /dev/null +++ b/netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java @@ -0,0 +1,182 @@ +/* Copyright (C) 2013 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.security.appletextendedsecurity; + +import java.awt.Dimension; +import java.io.IOException; +import javax.swing.JButton; +import javax.swing.JEditorPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSeparator; +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; +import net.sourceforge.jnlp.runtime.Translator; + +public class ExtendedAppletSecurityHelp extends javax.swing.JDialog implements HyperlinkListener { + + public ExtendedAppletSecurityHelp(java.awt.Frame parent, boolean modal, String reference) { + this(parent, modal); + mainHtmlPane.scrollToReference(reference); + + } + + public ExtendedAppletSecurityHelp(java.awt.Frame parent, boolean modal) { + super(parent, modal); + Dimension d = new Dimension(600, 400); + setPreferredSize(d); + setSize(d); + initComponents(); + mainHtmlPane.setText(Translator.R("APPEXTSEChelp")); + mainHtmlPane.addHyperlinkListener(ExtendedAppletSecurityHelp.this); + mainHtmlPane.setCaretPosition(1); + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + } + + @Override + public void hyperlinkUpdate(HyperlinkEvent event) { + if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { + try { + if (event.getURL() == null) { + String s = event.getDescription().replace("#", ""); + mainHtmlPane.scrollToReference(s); + } else { + mainHtmlPane.setPage(event.getURL()); + } + } catch (IOException ioe) { + ioe.printStackTrace(); + } + } + } + + private void initComponents() { + + jScrollPane1 = new javax.swing.JScrollPane(); + mainHtmlPane = new javax.swing.JEditorPane(); + mainPanel = new javax.swing.JPanel(); + niceSeparator = new javax.swing.JSeparator(); + mainButtonsPanel = new javax.swing.JPanel(); + navigationPanel = new javax.swing.JPanel(); + homeButton = new javax.swing.JButton(); + homeAndDialogueButton = new javax.swing.JButton(); + closePanel = new javax.swing.JPanel(); + closeButton = new javax.swing.JButton(); + getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS)); + mainHtmlPane.setContentType("text/html"); + mainHtmlPane.setEditable(false); + jScrollPane1.setViewportView(mainHtmlPane); + getContentPane().add(jScrollPane1); + javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(mainPanel); + mainPanel.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 485, Short.MAX_VALUE) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addGap(0, 217, Short.MAX_VALUE) + .addComponent(niceSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 218, Short.MAX_VALUE)))); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 10, Short.MAX_VALUE) + .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(niceSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE)))); + + getContentPane().add(mainPanel); + mainButtonsPanel.setLayout(new javax.swing.BoxLayout(mainButtonsPanel, javax.swing.BoxLayout.LINE_AXIS)); + navigationPanel.setLayout(new javax.swing.BoxLayout(navigationPanel, javax.swing.BoxLayout.LINE_AXIS)); + homeButton.setText(Translator.R("SPLASHHome")); + homeButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton2ActionPerformed(evt); + } + }); + navigationPanel.add(homeButton); + homeAndDialogueButton.setText(Translator.R("APPEXTSEChelpHomeDialogue")); + homeAndDialogueButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + closeButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + ExtendedAppletSecurityHelp.this.dispose(); + } + }); + navigationPanel.add(homeAndDialogueButton); + mainButtonsPanel.add(navigationPanel); + closeButton.setText(Translator.R("ButClose")); + closePanel.add(closeButton); + mainButtonsPanel.add(closePanel); + getContentPane().add(mainButtonsPanel); + + pack(); + } + + private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { + // TODO add your handling code here: + mainHtmlPane.setText(Translator.R("APPEXTSEChelp")); + mainHtmlPane.setCaretPosition(1); + } + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { + // TODO add your handling code here: + mainHtmlPane.setText(Translator.R("APPEXTSEChelp")); + mainHtmlPane.scrollToReference("dialogue"); + } + + public static void main(String args[]) { + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + ExtendedAppletSecurityHelp dialog = new ExtendedAppletSecurityHelp(null, false); + dialog.setVisible(true); + } + }); + } + private JButton homeAndDialogueButton; + private JButton homeButton; + private JButton closeButton; + private JEditorPane mainHtmlPane; + private JPanel mainButtonsPanel; + private JPanel navigationPanel; + private JPanel closePanel; + private JPanel mainPanel; + private JScrollPane jScrollPane1; + private JSeparator niceSeparator; +} |