/hg/icedtea-web: Added "Copy codebase to clipboard" action to Po...

aazores at icedtea.classpath.org aazores at icedtea.classpath.org
Thu Jun 5 15:22:49 UTC 2014


changeset a4e068fd5b89 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a4e068fd5b89
author: Andrew Azores <aazores at redhat.com>
date: Thu Jun 05 11:22:31 2014 -0400

	Added "Copy codebase to clipboard" action to PolicyEditor

	2014-06-05  Andrew Azores  <aazores at redhat.com>

	    Added "Copy codebase to clipboard" action to PolicyEditor
	    * netx/net/sourceforge/jnlp/resources/Messages.properties
	    (PECopyCodebaseToClipboardItem): new message
	    * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
	    (copyCodebaseToClipboardButtonAction): new action for "Copy codebase to
	    clipboard" button
	    (createMenuBar): added "Copy codebase to clipboard" button to Edit menu
	    (renameCodebaseButtionAction): prefill dialog with old codebase


diffstat:

 ChangeLog                                                         |  13 ++++-
 netx/net/sourceforge/jnlp/resources/Messages.properties           |   1 +
 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java |  26 ++++++++-
 3 files changed, 36 insertions(+), 4 deletions(-)

diffs (110 lines):

diff -r 098125135681 -r a4e068fd5b89 ChangeLog
--- a/ChangeLog	Thu Jun 05 10:49:33 2014 -0400
+++ b/ChangeLog	Thu Jun 05 11:22:31 2014 -0400
@@ -1,3 +1,14 @@
+2014-06-05  Andrew Azores  <aazores at redhat.com>
+
+	Added "Copy codebase to clipboard" action to PolicyEditor
+	* netx/net/sourceforge/jnlp/resources/Messages.properties
+	(PECopyCodebaseToClipboardItem): new message
+	* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
+	(copyCodebaseToClipboardButtonAction): new action for "Copy codebase to
+	clipboard" button
+	(createMenuBar): added "Copy codebase to clipboard" button to Edit menu
+	(renameCodebaseButtionAction): prefill dialog with old codebase
+
 2014-06-05  Andrew Azores  <aazores at redhat.com>
 
 	Added Rename, Copy, and Paste actions for codebases in PolicyEditor
@@ -18,7 +29,7 @@
 	Fixed Time Zone difference failure in unit test CreatePluginHeaderTestOk
 	* unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java:
 	Test suite would check for the time in CET against the user's time value
-	converted into their local timezone. Created a Date variable that 
+	converted into their local timezone. Created a Date variable that
 	ensures time passed into PluginMessage and the one being checked are
 	of the same time zone.
 
diff -r 098125135681 -r a4e068fd5b89 netx/net/sourceforge/jnlp/resources/Messages.properties
--- a/netx/net/sourceforge/jnlp/resources/Messages.properties	Thu Jun 05 10:49:33 2014 -0400
+++ b/netx/net/sourceforge/jnlp/resources/Messages.properties	Thu Jun 05 11:22:31 2014 -0400
@@ -574,6 +574,7 @@
 PERenameCodebaseItem=Rename codebase
 PECopyCodebaseItem=Copy codebase
 PEPasteCodebaseItem=Paste codebase
+PECopyCodebaseToClipboardItem=Copy codebase URL to clipboard
 PERenameCodebase=Rename codebase to:
 PEPasteCodebase=Paste copied codebase as:
 PEViewMenu=View
diff -r 098125135681 -r a4e068fd5b89 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
--- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java	Thu Jun 05 10:49:33 2014 -0400
+++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java	Thu Jun 05 11:22:31 2014 -0400
@@ -43,7 +43,11 @@
 import java.awt.Dialog.ModalityType;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
+import java.awt.Toolkit;
 import java.awt.Window;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.KeyEvent;
@@ -102,7 +106,6 @@
 import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions.Group;
 import net.sourceforge.jnlp.util.FileUtils;
 import net.sourceforge.jnlp.util.FileUtils.OpenFileResult;
-import net.sourceforge.jnlp.util.ScreenFinder;
 import net.sourceforge.jnlp.util.logging.OutputController;
 
 /**
@@ -174,7 +177,7 @@
 
     private final ActionListener okButtonAction, addCodebaseButtonAction,
             removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction,
-            renameCodebaseButtonAction, copyCodebaseButtonAction, pasteCodebaseButtonAction;
+            renameCodebaseButtonAction, copyCodebaseButtonAction, pasteCodebaseButtonAction, copyCodebaseToClipboardButtonAction;
     private ActionListener closeButtonAction;
 
     private static class JCheckBoxWithGroup extends JCheckBox {
@@ -323,7 +326,7 @@
                 }
                 String newCodebase = "";
                 while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) {
-                    newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PERenameCodebase"), "http://");
+                    newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PERenameCodebase"), oldCodebase);
                     if (newCodebase == null) {
                         return;
                     }
@@ -367,6 +370,19 @@
             }
         };
 
+        copyCodebaseToClipboardButtonAction = new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                final String selectedCodebase = getSelectedCodebase();
+                if (selectedCodebase.isEmpty()) {
+                    return;
+                }
+                final Transferable clipboardContents = new StringSelection(selectedCodebase);
+                final Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
+                clip.setContents(clipboardContents, null);
+            }
+        };
+
         viewCustomButtonAction = new ActionListener() {
             @Override
             public void actionPerformed(final ActionEvent e) {
@@ -950,6 +966,10 @@
         final JMenuItem pasteCodebaseItem = new JMenuItem(R("PEPasteCodebaseItem"));
         pasteCodebaseItem.addActionListener(editor.pasteCodebaseButtonAction);
         editMenu.add(pasteCodebaseItem);
+
+        final JMenuItem copyCodebaseToClipboardItem = new JMenuItem(R("PECopyCodebaseToClipboardItem"));
+        copyCodebaseToClipboardItem.addActionListener(editor.copyCodebaseToClipboardButtonAction);
+        editMenu.add(copyCodebaseToClipboardItem);
         menuBar.add(editMenu);
 
         final JMenu viewMenu = new JMenu(R("PEViewMenu"));


More information about the distro-pkg-dev mailing list