# This patch file was generated by NetBeans IDE
# Following Index: paths are relative to: F:\Sources\MainTrunk\core
# This patch can be applied using context Tools: Patch action on respective folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: src/org/netbeans/core/resources/copy.gif
*** F:\Sources\MainTrunk\core\src\org\netbeans\core\resources\copy.gif No Base Revision
--- F:\Sources\MainTrunk\core\src\org\netbeans\core\resources\copy.gif Locally New
***************
*** 1,0 ****
--- 1,1 ----
+ [Binary File Locally New]
Index: src/org/netbeans/core/ui/Bundle.properties
*** F:\Sources\MainTrunk\core\src\org\netbeans\core\ui\Bundle.properties Base (1.80)
--- F:\Sources\MainTrunk\core\src\org\netbeans\core\ui\Bundle.properties Locally Modified (Based On 1.80)
***************
*** 23,28 ****
--- 23,30 ----
LBL_IDEInstall=Install Dirs:
LBL_UserDir=User Dir:
Format_OperatingSystem_Value={0} version {1} running on {2}
+ CTL_CopyButton=Copy Info
+ CTL_CopyButton_tooltip=Copy NetBeans Product Information to clipboard
#SwingBrowser
LBL_SwingBrowserDescription=Simple HTML Browser based on a Swing component
Index: src/org/netbeans/core/ui/ProductInformationPanel.java
*** F:\Sources\MainTrunk\core\src\org\netbeans\core\ui\ProductInformationPanel.java Base (1.29)
--- F:\Sources\MainTrunk\core\src\org\netbeans\core\ui\ProductInformationPanel.java Locally Modified (Based On 1.29)
***************
*** 17,22 ****
--- 17,25 ----
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
+ import java.awt.Toolkit;
+ import java.awt.datatransfer.Clipboard;
+ import java.awt.datatransfer.StringSelection;
import java.awt.event.FocusEvent;
import java.io.File;
import java.text.MessageFormat;
***************
*** 25,38 ****
--- 28,46 ----
import java.util.Locale;
import java.util.Set;
import java.util.StringTokenizer;
+ import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import org.openide.filesystems.FileUtil;
import org.openide.util.Enumerations;
+ import org.openide.util.HelpCtx;
+ import org.openide.util.Lookup;
import org.openide.util.NbBundle;
import org.openide.util.Utilities;
+ import org.openide.util.actions.CallableSystemAction;
+ import org.openide.util.datatransfer.ExClipboard;
public class ProductInformationPanel extends JPanel {
***************
*** 40,45 ****
--- 48,58 ----
private static final Color COLOR = Color.black;
+ /** holds system clipboard */
+ private static Clipboard clipboard;
+ /** holds instance of action to copy product info into clipboard */
+ private static Action copyAction;
+
public ProductInformationPanel() {
initComponents();
***************
*** 95,111 ****
userDirLabel = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
productInformationLabel = new FocusableLabel();
- productVersionValueLabel = new FocusableLabel();
- operatingSystemValueLabel = new FocusableLabel();
- javaValueLabel = new FocusableLabel();
- vmValueLabel = new FocusableLabel();
- vendorValueLabel = new FocusableLabel();
- javaHomeValueLabel = new FocusableLabel();
- systemLocaleValueLabel = new FocusableLabel();
- homeDirValueLabel = new FocusableLabel();
- currentDirValueLabel = new FocusableLabel();
ideInstallValueField = new javax.swing.JTextArea();
! userDirValueLabel = new FocusableLabel();
setLayout(new java.awt.GridBagLayout());
--- 108,125 ----
userDirLabel = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
productInformationLabel = new FocusableLabel();
ideInstallValueField = new javax.swing.JTextArea();
! copyButton = new javax.swing.JButton();
! productVersionValueLabel = new javax.swing.JTextArea();
! operatingSystemValueLabel = new javax.swing.JTextArea();
! javaValueLabel = new javax.swing.JTextArea();
! vmValueLabel = new javax.swing.JTextArea();
! vendorValueLabel = new javax.swing.JTextArea();
! javaHomeValueLabel = new javax.swing.JTextArea();
! systemLocaleValueLabel = new javax.swing.JTextArea();
! homeDirValueLabel = new javax.swing.JTextArea();
! currentDirValueLabel = new javax.swing.JTextArea();
! userDirValueLabel = new javax.swing.JTextArea();
setLayout(new java.awt.GridBagLayout());
***************
*** 131,137 ****
operatingSystemLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_OperationgSystem"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(operatingSystemLabel, gridBagConstraints);
--- 145,151 ----
operatingSystemLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_OperationgSystem"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(operatingSystemLabel, gridBagConstraints);
***************
*** 140,146 ****
javaLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_Java"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(javaLabel, gridBagConstraints);
--- 154,160 ----
javaLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_Java"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(javaLabel, gridBagConstraints);
***************
*** 149,155 ****
vmLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_VM"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(vmLabel, gridBagConstraints);
--- 163,169 ----
vmLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_VM"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(vmLabel, gridBagConstraints);
***************
*** 158,164 ****
vendorLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_Vendor"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 6;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(vendorLabel, gridBagConstraints);
--- 172,178 ----
vendorLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_Vendor"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(vendorLabel, gridBagConstraints);
***************
*** 167,173 ****
javaHomeLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_JavaHome"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 7;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(javaHomeLabel, gridBagConstraints);
--- 181,187 ----
javaHomeLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_JavaHome"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 6;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(javaHomeLabel, gridBagConstraints);
***************
*** 176,182 ****
systemLocaleLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_SystemLocale"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 8;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(systemLocaleLabel, gridBagConstraints);
--- 190,196 ----
systemLocaleLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_SystemLocale"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 7;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(systemLocaleLabel, gridBagConstraints);
***************
*** 185,191 ****
homeDirLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_HomeDir"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 9;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(homeDirLabel, gridBagConstraints);
--- 199,205 ----
homeDirLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_HomeDir"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 8;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(homeDirLabel, gridBagConstraints);
***************
*** 194,200 ****
currentDirLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_CurrentDir"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 10;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(currentDirLabel, gridBagConstraints);
--- 208,214 ----
currentDirLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_CurrentDir"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 9;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(currentDirLabel, gridBagConstraints);
***************
*** 203,213 ****
ideInstallLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_IDEInstall"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 12;
gridBagConstraints.gridheight = java.awt.GridBagConstraints.RELATIVE;
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
! gridBagConstraints.insets = new java.awt.Insets(6, 12, 11, 0);
add(ideInstallLabel, gridBagConstraints);
userDirLabel.setLabelFor(userDirValueLabel);
--- 217,227 ----
ideInstallLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_IDEInstall"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 11;
gridBagConstraints.gridheight = java.awt.GridBagConstraints.RELATIVE;
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
! gridBagConstraints.insets = new java.awt.Insets(6, 12, 5, 0);
add(ideInstallLabel, gridBagConstraints);
userDirLabel.setLabelFor(userDirValueLabel);
***************
*** 214,220 ****
userDirLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_UserDir"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 11;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(userDirLabel, gridBagConstraints);
--- 228,234 ----
userDirLabel.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class, "LBL_UserDir"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 10;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
add(userDirLabel, gridBagConstraints);
***************
*** 221,228 ****
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 16;
! gridBagConstraints.gridwidth = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
--- 235,242 ----
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
! gridBagConstraints.gridy = 15;
! gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
***************
*** 235,362 ****
gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 11);
add(productInformationLabel, gridBagConstraints);
productVersionValueLabel.setText(getProductVersionValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(0, 12, 0, 11);
add(productVersionValueLabel, gridBagConstraints);
operatingSystemValueLabel.setText(getOperatingSystemValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(operatingSystemValueLabel, gridBagConstraints);
javaValueLabel.setText(getJavaValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(javaValueLabel, gridBagConstraints);
vmValueLabel.setText(getVMValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(vmValueLabel, gridBagConstraints);
vendorValueLabel.setText(getVendorValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 6;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(vendorValueLabel, gridBagConstraints);
javaHomeValueLabel.setText(getJavaHomeValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 7;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(javaHomeValueLabel, gridBagConstraints);
systemLocaleValueLabel.setText(getSystemLocaleValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 8;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(systemLocaleValueLabel, gridBagConstraints);
homeDirValueLabel.setText(getHomeDirValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 9;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(homeDirValueLabel, gridBagConstraints);
currentDirValueLabel.setText(getCurrentDirValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 10;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(currentDirValueLabel, gridBagConstraints);
! ideInstallValueField.setEditable(false);
! ideInstallValueField.setText(getIDEInstallValue ()
!
! );
! ideInstallValueField.setOpaque(false);
! gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 12;
! gridBagConstraints.gridheight = java.awt.GridBagConstraints.RELATIVE;
! gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
! gridBagConstraints.insets = new java.awt.Insets(6, 12, 11, 11);
! add(ideInstallValueField, gridBagConstraints);
!
userDirValueLabel.setText(getUserDirValue());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 11;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(userDirValueLabel, gridBagConstraints);
! }
! // //GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel currentDirLabel;
! private javax.swing.JLabel currentDirValueLabel;
private javax.swing.JLabel homeDirLabel;
! private javax.swing.JLabel homeDirValueLabel;
private javax.swing.JLabel ideImageLabel;
private javax.swing.JLabel ideInstallLabel;
private javax.swing.JTextArea ideInstallValueField;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel javaHomeLabel;
! private javax.swing.JLabel javaHomeValueLabel;
private javax.swing.JLabel javaLabel;
! private javax.swing.JLabel javaValueLabel;
private javax.swing.JLabel operatingSystemLabel;
! private javax.swing.JLabel operatingSystemValueLabel;
private javax.swing.JLabel productInformationLabel;
private javax.swing.JLabel productVersionLabel;
! private javax.swing.JLabel productVersionValueLabel;
private javax.swing.JLabel systemLocaleLabel;
! private javax.swing.JLabel systemLocaleValueLabel;
private javax.swing.JLabel userDirLabel;
! private javax.swing.JLabel userDirValueLabel;
private javax.swing.JLabel vendorLabel;
! private javax.swing.JLabel vendorValueLabel;
private javax.swing.JLabel vmLabel;
! private javax.swing.JLabel vmValueLabel;
// End of variables declaration//GEN-END:variables
private void updateLabelFont (javax.swing.JComponent label, Color color) {
--- 249,412 ----
gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 11);
add(productInformationLabel, gridBagConstraints);
+ ideInstallValueField.setEditable(false);
+ ideInstallValueField.setText(getIDEInstallValue ());
+ ideInstallValueField.setOpaque(false);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 11;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.gridheight = java.awt.GridBagConstraints.RELATIVE;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.insets = new java.awt.Insets(6, 12, 5, 11);
+ add(ideInstallValueField, gridBagConstraints);
+
+ copyButton.setAction(getCopyAction());
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 3;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.insets = new java.awt.Insets(12, 0, 0, 12);
+ add(copyButton, gridBagConstraints);
+
+ productVersionValueLabel.setEditable(false);
productVersionValueLabel.setText(getProductVersionValue());
+ productVersionValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(0, 12, 0, 11);
add(productVersionValueLabel, gridBagConstraints);
+ operatingSystemValueLabel.setEditable(false);
operatingSystemValueLabel.setText(getOperatingSystemValue());
+ operatingSystemValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 2;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(operatingSystemValueLabel, gridBagConstraints);
+ javaValueLabel.setEditable(false);
javaValueLabel.setText(getJavaValue());
+ javaValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 3;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(javaValueLabel, gridBagConstraints);
+ vmValueLabel.setEditable(false);
vmValueLabel.setText(getVMValue());
+ vmValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 4;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(vmValueLabel, gridBagConstraints);
+ vendorValueLabel.setEditable(false);
vendorValueLabel.setText(getVendorValue());
+ vendorValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 5;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(vendorValueLabel, gridBagConstraints);
+ javaHomeValueLabel.setEditable(false);
javaHomeValueLabel.setText(getJavaHomeValue());
+ javaHomeValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 6;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(javaHomeValueLabel, gridBagConstraints);
+ systemLocaleValueLabel.setEditable(false);
systemLocaleValueLabel.setText(getSystemLocaleValue());
+ systemLocaleValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 7;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(systemLocaleValueLabel, gridBagConstraints);
+ homeDirValueLabel.setEditable(false);
homeDirValueLabel.setText(getHomeDirValue());
+ homeDirValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 8;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(homeDirValueLabel, gridBagConstraints);
+ currentDirValueLabel.setEditable(false);
currentDirValueLabel.setText(getCurrentDirValue());
+ currentDirValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 9;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(currentDirValueLabel, gridBagConstraints);
! userDirValueLabel.setEditable(false);
userDirValueLabel.setText(getUserDirValue());
+ userDirValueLabel.setOpaque(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
! gridBagConstraints.gridy = 10;
! gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 11);
add(userDirValueLabel, gridBagConstraints);
! }// //GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton copyButton;
private javax.swing.JLabel currentDirLabel;
! private javax.swing.JTextArea currentDirValueLabel;
private javax.swing.JLabel homeDirLabel;
! private javax.swing.JTextArea homeDirValueLabel;
private javax.swing.JLabel ideImageLabel;
private javax.swing.JLabel ideInstallLabel;
private javax.swing.JTextArea ideInstallValueField;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel javaHomeLabel;
! private javax.swing.JTextArea javaHomeValueLabel;
private javax.swing.JLabel javaLabel;
! private javax.swing.JTextArea javaValueLabel;
private javax.swing.JLabel operatingSystemLabel;
! private javax.swing.JTextArea operatingSystemValueLabel;
private javax.swing.JLabel productInformationLabel;
private javax.swing.JLabel productVersionLabel;
! private javax.swing.JTextArea productVersionValueLabel;
private javax.swing.JLabel systemLocaleLabel;
! private javax.swing.JTextArea systemLocaleValueLabel;
private javax.swing.JLabel userDirLabel;
! private javax.swing.JTextArea userDirValueLabel;
private javax.swing.JLabel vendorLabel;
! private javax.swing.JTextArea vendorValueLabel;
private javax.swing.JLabel vmLabel;
! private javax.swing.JTextArea vmValueLabel;
// End of variables declaration//GEN-END:variables
private void updateLabelFont (javax.swing.JComponent label, Color color) {
***************
*** 396,408 ****
return NbBundle.getMessage(ProductInformationPanel.class, "LBL_ProductInformation");
}
! private String getProductVersionValue () {
return MessageFormat.format(
NbBundle.getBundle("org.netbeans.core.startup.Bundle").getString("currentVersion"),
new Object[] {System.getProperty("netbeans.buildnumber")});
}
! private String getOperatingSystemValue () {
return NbBundle.getMessage(ProductInformationPanel.class, "Format_OperatingSystem_Value",
System.getProperty("os.name", "unknown"),
System.getProperty("os.version", "unknown"),
--- 446,458 ----
return NbBundle.getMessage(ProductInformationPanel.class, "LBL_ProductInformation");
}
! private static String getProductVersionValue () {
return MessageFormat.format(
NbBundle.getBundle("org.netbeans.core.startup.Bundle").getString("currentVersion"),
new Object[] {System.getProperty("netbeans.buildnumber")});
}
! private static String getOperatingSystemValue () {
return NbBundle.getMessage(ProductInformationPanel.class, "Format_OperatingSystem_Value",
System.getProperty("os.name", "unknown"),
System.getProperty("os.version", "unknown"),
***************
*** 409,419 ****
System.getProperty("os.arch", "unknown"));
}
! private String getJavaValue () {
return System.getProperty("java.version", "unknown");
}
! private String getVMValue () {
return System.getProperty("java.vm.name", "unknown") + " " + System.getProperty("java.vm.version", "");
}
--- 459,469 ----
System.getProperty("os.arch", "unknown"));
}
! private static String getJavaValue () {
return System.getProperty("java.version", "unknown");
}
! private static String getVMValue () {
return System.getProperty("java.vm.name", "unknown") + " " + System.getProperty("java.vm.version", "");
}
***************
*** 425,431 ****
return System.getProperty("java.home", "unknown");
}
! private String getSystemLocaleValue () {
String branding;
return Locale.getDefault().toString() + ((branding = NbBundle.getBranding()) == null ? "" : (" (" + branding + ")")); // NOI18N
}
--- 475,481 ----
return System.getProperty("java.home", "unknown");
}
! private static String getSystemLocaleValue () {
String branding;
return Locale.getDefault().toString() + ((branding = NbBundle.getBranding()) == null ? "" : (" (" + branding + ")")); // NOI18N
}
***************
*** 475,480 ****
--- 525,601 ----
return System.getProperty("netbeans.user");
}
+ private static String getEncodingValue() {
+ return System.getProperty("file.encoding", "unknown");
+ }
+
+ private static Clipboard getExClipboard() {
+ if (clipboard == null) {
+ clipboard = (ExClipboard) Lookup.getDefault().lookup(ExClipboard.class);
+ if (clipboard == null) {
+ clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+ }
+ }
+ return clipboard;
+ }
+
+ private static Action getCopyAction () {
+ if (copyAction == null) {
+ copyAction = new CopyProductInfoAction();
+ }
+ return copyAction;
+ }
+
+ /** Copies product information into clipboard */
+ private static class CopyProductInfoAction extends CallableSystemAction {
+
+ public void performAction() {
+ StringBuffer sb = new StringBuffer();
+ sb.append(getProductVersionValue());
+ sb.append("\n");
+ sb.append(getJavaValue());
+ sb.append("; ");
+ sb.append(getVMValue());
+ sb.append("\n");
+ sb.append(getOperatingSystemValue());
+ sb.append("\n");
+ sb.append(getSystemLocaleValue());
+ sb.append("; ");
+ sb.append(getEncodingValue());
+ StringSelection stringSel = new StringSelection(sb.toString());
+ Clipboard cb = getExClipboard();
+ if (cb != null) {
+ cb.setContents(stringSel, null);
+ }
+ }
+
+ public String getName() {
+ return NbBundle.getMessage(ProductInformationPanel.class,
+ "CTL_CopyButton"); // NOI18N;
+ }
+
+ public HelpCtx getHelpCtx() {
+ return HelpCtx.DEFAULT_HELP;
+ }
+
+ protected String iconResource() {
+ return "org/netbeans/core/resources/copy.gif"; // NOI18N
+ }
+
+ protected void initialize() {
+ super.initialize();
+ String tooltip = NbBundle.getMessage(ProductInformationPanel.class,
+ "CTL_CopyButton_tooltip"); // NOI18N
+ putValue(javax.swing.Action.SHORT_DESCRIPTION, tooltip);
+ }
+
+ protected boolean asynchronous() {
+ return false;
+ }
+
+ }
+
+
/**
*/
static class FocusableLabel extends JLabel {
***************
*** 498,504 ****
getAccessibleContext().setAccessibleName(getText());
}
! public boolean isFocusTraversable() {
return (true);
}
--- 619,625 ----
getAccessibleContext().setAccessibleName(getText());
}
! public boolean isFocusable() {
return (true);
}
***************
*** 529,544 ****
//java.util.ResourceBundle bundle;
//bundle = org.openide.util.NbBundle.getBundle(this.getClass());
! productVersionValueLabel.getAccessibleContext().setAccessibleName(productVersionLabel.getText() + productVersionValueLabel.getText());
! operatingSystemValueLabel.getAccessibleContext().setAccessibleName(operatingSystemLabel.getText() + operatingSystemValueLabel.getText());
! javaValueLabel.getAccessibleContext().setAccessibleName(javaLabel.getText() + vmValueLabel.getText());
! vmValueLabel.getAccessibleContext().setAccessibleName(vmLabel.getText() + vmValueLabel.getText());
! vendorValueLabel.getAccessibleContext().setAccessibleName(vendorLabel.getText() + vendorValueLabel.getText());
! javaHomeValueLabel.getAccessibleContext().setAccessibleName(javaHomeLabel.getText() + javaHomeValueLabel.getText());
! systemLocaleValueLabel.getAccessibleContext().setAccessibleName(systemLocaleLabel.getText() + systemLocaleValueLabel.getText());
! homeDirValueLabel.getAccessibleContext().setAccessibleName(homeDirLabel.getText() + homeDirValueLabel.getText());
! currentDirValueLabel.getAccessibleContext().setAccessibleName(currentDirLabel.getText() + currentDirValueLabel.getText());
! ideInstallValueField.getAccessibleContext().setAccessibleName(ideInstallLabel.getText() + ideInstallValueField.getText());
! userDirValueLabel.getAccessibleContext().setAccessibleName(userDirLabel.getText() + userDirValueLabel.getText());
}
}
--- 650,686 ----
//java.util.ResourceBundle bundle;
//bundle = org.openide.util.NbBundle.getBundle(this.getClass());
! productVersionValueLabel.getAccessibleContext().setAccessibleName(productVersionLabel.getText() + " " + productVersionValueLabel.getText());
! productVersionValueLabel.getAccessibleContext().setAccessibleDescription(productVersionValueLabel.getText());
!
! operatingSystemValueLabel.getAccessibleContext().setAccessibleName(operatingSystemLabel.getText() + " " + operatingSystemValueLabel.getText());
! operatingSystemValueLabel.getAccessibleContext().setAccessibleDescription(operatingSystemValueLabel.getText());
!
! javaValueLabel.getAccessibleContext().setAccessibleName(javaLabel.getText() + " " + javaValueLabel.getText());
! javaValueLabel.getAccessibleContext().setAccessibleDescription(javaValueLabel.getText());
!
! vmValueLabel.getAccessibleContext().setAccessibleName(vmLabel.getText() + " " + vmValueLabel.getText());
! vmValueLabel.getAccessibleContext().setAccessibleDescription(vmValueLabel.getText());
!
! vendorValueLabel.getAccessibleContext().setAccessibleName(vendorLabel.getText() + " " + vendorValueLabel.getText());
! vendorValueLabel.getAccessibleContext().setAccessibleDescription(vendorValueLabel.getText());
!
! javaHomeValueLabel.getAccessibleContext().setAccessibleName(javaHomeLabel.getText() + " " + javaHomeValueLabel.getText());
! javaHomeValueLabel.getAccessibleContext().setAccessibleDescription(javaHomeValueLabel.getText());
!
! systemLocaleValueLabel.getAccessibleContext().setAccessibleName(systemLocaleLabel.getText() + " " + systemLocaleValueLabel.getText());
! systemLocaleValueLabel.getAccessibleContext().setAccessibleDescription(systemLocaleValueLabel.getText());
!
! homeDirValueLabel.getAccessibleContext().setAccessibleName(homeDirLabel.getText() + " " + homeDirValueLabel.getText());
! homeDirValueLabel.getAccessibleContext().setAccessibleDescription(homeDirValueLabel.getText());
!
! currentDirValueLabel.getAccessibleContext().setAccessibleName(currentDirLabel.getText() + " " + currentDirValueLabel.getText());
! currentDirValueLabel.getAccessibleContext().setAccessibleDescription(currentDirValueLabel.getText());
!
! ideInstallValueField.getAccessibleContext().setAccessibleName(ideInstallLabel.getText() + " " + ideInstallValueField.getText());
! ideInstallValueField.getAccessibleContext().setAccessibleDescription(ideInstallValueField.getText());
!
! userDirValueLabel.getAccessibleContext().setAccessibleName(userDirLabel.getText() + " " + userDirValueLabel.getText());
! userDirValueLabel.getAccessibleContext().setAccessibleDescription(userDirValueLabel.getText());
}
}
Index: src/org/netbeans/core/ui/ProductInformationPanel.form
*** F:\Sources\MainTrunk\core\src\org\netbeans\core\ui\ProductInformationPanel.form Base (1.13)
--- F:\Sources\MainTrunk\core\src\org\netbeans\core\ui\ProductInformationPanel.form Locally Modified (Based On 1.13)
***************
*** 52,58 ****
!
--- 52,58 ----
!
***************
*** 67,73 ****
!
--- 67,73 ----
!
***************
*** 82,88 ****
!
--- 82,88 ----
!
***************
*** 97,103 ****
!
--- 97,103 ----
!
***************
*** 112,118 ****
!
--- 112,118 ----
!
***************
*** 127,133 ****
!
--- 127,133 ----
!
***************
*** 142,148 ****
!
--- 142,148 ----
!
***************
*** 157,163 ****
!
--- 157,163 ----
!
***************
*** 172,178 ****
!
--- 172,178 ----
!
***************
*** 187,193 ****
!
--- 187,193 ----
!
***************
*** 194,200 ****
!
--- 194,200 ----
!
***************
*** 215,381 ****
!
!
-
-
-
!
!
!
-
-
-
!
!
!
-
-
-
!
!
!
-
-
-
!
!
!
-
-
-
!
!
!
-
-
-
!
!
!
-
-
-
!
!
!
-
-
-
!
!
!
-
-
-
!
!
!
!
!
-
-
-
!
--- 215,383 ----
!
+
!
+
!
!
+
+
+
+
+
+
+
+
+
+
+
+
+
!
+
!
!
+
!
+
!
!
+
!
+
!
!
+
!
+
!
!
+
!
+
!
!
+
!
+
!
!
+
!
+
!
!
+
!
+
!
!
!
!
!
+
+
!