# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: E:\sources\netbeans.org\newtrunk # 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: editor/options/src/org/netbeans/modules/options/general/AdvancedProxyPanel.form *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\AdvancedProxyPanel.form Base (1.2) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\AdvancedProxyPanel.form Locally Deleted *************** *** 1,352 **** - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--- 1,0 ---- Index: editor/options/src/org/netbeans/modules/options/general/AdvancedProxyPanel.java *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\AdvancedProxyPanel.java Base (1.2) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\AdvancedProxyPanel.java Locally Deleted *************** *** 1,401 **** - /* - * The contents of this file are subject to the terms of the Common Development - * and Distribution License (the License). You may not use this file except in - * compliance with the License. - * - * You can obtain a copy of the License at http://www.netbeans.org/cddl.html - * or http://www.netbeans.org/cddl.txt. - * - * When distributing Covered Code, include this CDDL Header Notice in each file - * and include the License file at http://www.netbeans.org/cddl.txt. - * If applicable, add the following below the CDDL Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyrighted [year] [name of copyright owner]" - * - * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun - * Microsystems, Inc. All Rights Reserved. - */ - package org.netbeans.modules.options.general; - - import javax.swing.event.DocumentEvent; - import javax.swing.event.DocumentListener; - - /** - * - * @author Jiri Rechtacek - */ - public class AdvancedProxyPanel extends javax.swing.JPanel { - private GeneralOptionsModel options; - private String oldHttpsHost; - private String oldHttpsPort; - private String oldSocksHost; - private String oldSocksPort; - - /** Creates new form AdvancedProxyPanel */ - public AdvancedProxyPanel (GeneralOptionsModel model) { - options = model; - initComponents (); - tfHttpProxyHost.getDocument().addDocumentListener (new DocumentListener () { - public void insertUpdate(DocumentEvent arg0) { - followHttpHostIfDemand (); - } - - public void removeUpdate(DocumentEvent arg0) { - followHttpHostIfDemand (); - } - - public void changedUpdate(DocumentEvent arg0) { - followHttpHostIfDemand (); - } - }); - tfHttpProxyPort.getDocument().addDocumentListener (new DocumentListener () { - public void insertUpdate(DocumentEvent arg0) { - followHttpPortIfDemand (); - } - - public void removeUpdate(DocumentEvent arg0) { - followHttpPortIfDemand (); - } - - public void changedUpdate(DocumentEvent arg0) { - followHttpPortIfDemand (); - } - }); - } - - // helps implement OptionsPanelController - - public void update (String httpHost, String httpPort) { - readOptions (); - - if (! options.getHttpProxyHost ().equals (httpHost)) { - tfHttpProxyHost.setText (httpHost); - } - if (! options.getHttpProxyPort ().equals (httpPort)) { - tfHttpProxyPort.setText (httpPort); - } - } - - public void applyChanges() { - writeOptions (); - } - - // helpers - - private void readOptions () { - cbSameProxySettings.setSelected (options.useProxyAllProtocols ()); - cbUseProxyAuthentication.setSelected(options.useProxyAuthentication ()); - tfHttpProxyHost.setText (options.getHttpProxyHost ()); - tfHttpProxyPort.setText (options.getHttpProxyPort ()); - tfHttpsProxyHost.setText (options.getHttpsProxyHost ()); - tfHttpsProxyPort.setText (options.getHttpsProxyPort ()); - tfSocksHost.setText (options.getSocksHost ()); - tfSocksPort.setText (options.getSocksPort ()); - tfUserName.setText (options.getProxyAuthenticationUsername ()); - pfUserPassword.setText (new String (options.getProxyAuthenticationPassword ())); - tfNonProxyHosts.setText (options.getNonProxyHosts ()); - - oldHttpsHost = tfHttpsProxyHost.getText (); - oldHttpsPort = tfHttpsProxyPort.getText (); - oldSocksHost = tfSocksHost.getText (); - oldSocksPort = tfSocksPort.getText (); - - followHttpProxyIfDemand(); - updateAuthentication (); - } - - private void writeOptions () { - options.setUseProxyAllProtocols (cbSameProxySettings.isSelected ()); - options.setUseProxyAuthentication(cbUseProxyAuthentication.isSelected ()); - options.setHttpProxyHost (tfHttpProxyHost.getText ()); - options.setHttpProxyPort (tfHttpProxyPort.getText ()); - options.setHttpsProxyHost (tfHttpsProxyHost.getText ()); - options.setHttpsProxyPort (tfHttpsProxyPort.getText ()); - options.setSocksHost (tfSocksHost.getText ()); - options.setSocksPort (tfSocksPort.getText ()); - options.setNonProxyHosts (tfNonProxyHosts.getText ()); - options.setAuthenticationUsername (tfUserName.getText ()); - options.setAuthenticationPassword (pfUserPassword.getPassword ()); - } - - private void followHttpProxyIfDemand () { - boolean same = cbSameProxySettings.isSelected (); - tfHttpsProxyHost.setEnabled (! same); - tfHttpsProxyPort.setEnabled (! same); - tfSocksHost.setEnabled (! same); - tfSocksPort.setEnabled (! same); - lHttpsProxyHost.setEnabled (! same); - lHttpsProxyPort.setEnabled (! same); - lSocksHost.setEnabled (! same); - lSocksPort.setEnabled (! same); - - followHttpHostIfDemand (); - followHttpPortIfDemand (); - } - - private void updateAuthentication () { - boolean use = cbUseProxyAuthentication.isSelected (); - tfUserName.setEnabled (use); - lUserName.setEnabled (use); - pfUserPassword.setEnabled (use); - lUserPassword.setEnabled (use); - } - - private void followHttpHostIfDemand () { - if (! cbSameProxySettings.isSelected ()) { - return ; - } - String host = tfHttpProxyHost.getText (); - tfHttpsProxyHost.setText (host); - tfSocksHost.setText (host); - } - - private void followHttpPortIfDemand () { - if (! cbSameProxySettings.isSelected ()) { - return ; - } - String port = tfHttpProxyPort.getText (); - tfHttpsProxyPort.setText (port); - tfSocksPort.setText (port); - } - - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. - */ - // //GEN-BEGIN:initComponents - private void initComponents() { - - lHttpProxyHost = new javax.swing.JLabel(); - tfHttpProxyHost = new javax.swing.JTextField(); - cbSameProxySettings = new javax.swing.JCheckBox(); - lHttpsProxyHost = new javax.swing.JLabel(); - tfHttpsProxyHost = new javax.swing.JTextField(); - lSocksHost = new javax.swing.JLabel(); - tfSocksHost = new javax.swing.JTextField(); - lHttpProxyPort = new javax.swing.JLabel(); - lHttpsProxyPort = new javax.swing.JLabel(); - lSocksPort = new javax.swing.JLabel(); - tfHttpProxyPort = new javax.swing.JTextField(); - tfHttpsProxyPort = new javax.swing.JTextField(); - tfSocksPort = new javax.swing.JTextField(); - lNonProxyHosts = new javax.swing.JLabel(); - tfNonProxyHosts = new javax.swing.JTextField(); - lNonProxyHostsDescription = new javax.swing.JLabel(); - sSeparator = new javax.swing.JSeparator(); - cbUseProxyAuthentication = new javax.swing.JCheckBox(); - lUserName = new javax.swing.JLabel(); - lUserPassword = new javax.swing.JLabel(); - tfUserName = new javax.swing.JTextField(); - pfUserPassword = new javax.swing.JPasswordField(); - - lHttpProxyHost.setLabelFor(tfHttpProxyHost); - org.openide.awt.Mnemonics.setLocalizedText(lHttpProxyHost, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpProxyHost")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(cbSameProxySettings, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_cbSameProxySettings")); // NOI18N - cbSameProxySettings.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - cbSameProxySettings.setMargin(new java.awt.Insets(0, 0, 0, 0)); - cbSameProxySettings.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cbSameProxySettingsActionPerformed(evt); - } - }); - - lHttpsProxyHost.setLabelFor(tfHttpsProxyHost); - org.openide.awt.Mnemonics.setLocalizedText(lHttpsProxyHost, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpsProxyHots")); // NOI18N - - lSocksHost.setLabelFor(tfSocksHost); - org.openide.awt.Mnemonics.setLocalizedText(lSocksHost, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lSocksHost")); // NOI18N - - lHttpProxyPort.setLabelFor(tfHttpProxyPort); - org.openide.awt.Mnemonics.setLocalizedText(lHttpProxyPort, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpProxyPort")); // NOI18N - - lHttpsProxyPort.setLabelFor(tfHttpsProxyPort); - org.openide.awt.Mnemonics.setLocalizedText(lHttpsProxyPort, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpsProxyPort")); // NOI18N - - lSocksPort.setLabelFor(tfSocksPort); - org.openide.awt.Mnemonics.setLocalizedText(lSocksPort, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lSocksPort")); // NOI18N - - tfHttpProxyPort.setColumns(4); - - tfHttpsProxyPort.setColumns(4); - - tfSocksPort.setColumns(4); - - lNonProxyHosts.setLabelFor(tfNonProxyHosts); - org.openide.awt.Mnemonics.setLocalizedText(lNonProxyHosts, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lNonProxyHosts")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(lNonProxyHostsDescription, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lNonProxyHostsDescription")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(cbUseProxyAuthentication, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_cbUseProxyAuthentication")); // NOI18N - cbUseProxyAuthentication.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - cbUseProxyAuthentication.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cbUseProxyAuthenticationActionPerformed(evt); - } - }); - - lUserName.setLabelFor(tfUserName); - org.openide.awt.Mnemonics.setLocalizedText(lUserName, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lUserName")); // NOI18N - - lUserPassword.setLabelFor(pfUserPassword); - org.openide.awt.Mnemonics.setLocalizedText(lUserPassword, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lUserPassword")); // NOI18N - - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .add(12, 12, 12) - .add(cbUseProxyAuthentication)) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(lUserName) - .add(lUserPassword)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) - .add(pfUserPassword) - .add(tfUserName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 399, Short.MAX_VALUE))) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(sSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 414, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() - .add(12, 12, 12) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(lHttpProxyHost) - .add(lHttpsProxyHost) - .add(lSocksHost) - .add(lNonProxyHosts)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) - .add(lNonProxyHostsDescription, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 349, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(cbSameProxySettings, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 325, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(layout.createSequentialGroup() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false) - .add(org.jdesktop.layout.GroupLayout.LEADING, tfHttpProxyHost) - .add(org.jdesktop.layout.GroupLayout.LEADING, tfSocksHost) - .add(org.jdesktop.layout.GroupLayout.LEADING, tfHttpsProxyHost, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(lHttpProxyPort) - .add(lHttpsProxyPort) - .add(lSocksPort)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) - .add(tfHttpProxyPort) - .add(tfSocksPort) - .add(tfHttpsProxyPort))) - .add(tfNonProxyHosts))))) - .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - layout.setVerticalGroup( - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lHttpProxyHost) - .add(tfHttpProxyHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(lHttpProxyPort) - .add(tfHttpProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(cbSameProxySettings) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lHttpsProxyHost) - .add(tfHttpsProxyHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(lHttpsProxyPort) - .add(tfHttpsProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lSocksHost) - .add(tfSocksHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(lSocksPort) - .add(tfSocksPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lNonProxyHosts) - .add(tfNonProxyHosts, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(lNonProxyHostsDescription) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(sSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(cbUseProxyAuthentication) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lUserName) - .add(tfUserName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lUserPassword) - .add(pfUserPassword, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(30, Short.MAX_VALUE)) - ); - - tfHttpProxyHost.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpProxyHost")); // NOI18N - cbSameProxySettings.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_cbSameProxySettings")); // NOI18N - tfHttpsProxyHost.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpsProxyHost")); // NOI18N - tfSocksHost.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfSocksHost")); // NOI18N - tfHttpProxyPort.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpProxyPort")); // NOI18N - tfHttpsProxyPort.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpsProxyPort")); // NOI18N - tfSocksPort.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfSocksPort")); // NOI18N - tfNonProxyHosts.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfNonProxyHosts")); // NOI18N - cbUseProxyAuthentication.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_cbUseProxyAuthentication")); // NOI18N - tfUserName.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfUserName")); // NOI18N - pfUserPassword.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_pfUserPassword")); // NOI18N - - getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel")); // NOI18N - }// //GEN-END:initComponents - - private void cbUseProxyAuthenticationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbUseProxyAuthenticationActionPerformed - updateAuthentication (); - }//GEN-LAST:event_cbUseProxyAuthenticationActionPerformed - - private void cbSameProxySettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbSameProxySettingsActionPerformed - if (cbSameProxySettings.isSelected ()) { - oldHttpsHost = tfHttpsProxyHost.getText (); - oldHttpsPort = tfHttpsProxyPort.getText (); - oldSocksHost = tfSocksHost.getText (); - oldSocksPort = tfSocksPort.getText (); - } else { - tfHttpsProxyHost.setText (oldHttpsHost); - tfHttpsProxyPort.setText (oldHttpsPort); - tfSocksHost.setText (oldSocksHost); - tfSocksPort.setText (oldSocksPort); - } - followHttpProxyIfDemand (); - }//GEN-LAST:event_cbSameProxySettingsActionPerformed - - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JCheckBox cbSameProxySettings; - private javax.swing.JCheckBox cbUseProxyAuthentication; - private javax.swing.JLabel lHttpProxyHost; - private javax.swing.JLabel lHttpProxyPort; - private javax.swing.JLabel lHttpsProxyHost; - private javax.swing.JLabel lHttpsProxyPort; - private javax.swing.JLabel lNonProxyHosts; - private javax.swing.JLabel lNonProxyHostsDescription; - private javax.swing.JLabel lSocksHost; - private javax.swing.JLabel lSocksPort; - private javax.swing.JLabel lUserName; - private javax.swing.JLabel lUserPassword; - private javax.swing.JPasswordField pfUserPassword; - private javax.swing.JSeparator sSeparator; - private javax.swing.JTextField tfHttpProxyHost; - private javax.swing.JTextField tfHttpProxyPort; - private javax.swing.JTextField tfHttpsProxyHost; - private javax.swing.JTextField tfHttpsProxyPort; - private javax.swing.JTextField tfNonProxyHosts; - private javax.swing.JTextField tfSocksHost; - private javax.swing.JTextField tfSocksPort; - private javax.swing.JTextField tfUserName; - // End of variables declaration//GEN-END:variables - - } --- 1,0 ---- Index: editor/options/src/org/netbeans/modules/options/general/Bundle.properties *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\Bundle.properties Base (1.15) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\Bundle.properties Locally Deleted *************** *** 1,171 **** - # The contents of this file are subject to the terms of the Common Development - # and Distribution License (the License). You may not use this file except in - # compliance with the License. - # - # You can obtain a copy of the License at http://www.netbeans.org/cddl.html - # or http://www.netbeans.org/cddl.txt. - # - # When distributing Covered Code, include this CDDL Header Notice in each file - # and include the License file at http://www.netbeans.org/cddl.txt. - # If applicable, add the following below the CDDL Header, with the fields - # enclosed by brackets [] replaced by your own identifying information: - # "Portions Copyrighted [year] [name of copyright owner]" - # - # The Original Software is NetBeans. The Initial Developer of the Original - # Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun - # Microsystems, Inc. All Rights Reserved. - - - #GeneralOptionsPanel - CTL_General_Options=&General - CTL_General_Options_Title=General - CTL_General_Options_Category=General - CTL_General_Options_Description=General options, Proxy settings, Editor settings - CTL_Package_View_Type=View Java Packages as: - CTL_Flattern_Packages=&List - AN_Flattern_Packages=List - AD_Flattern_Packages=List - CTL_Tree_Packages=Tree - AN_Tree_Packages=Tree - AD_Tree_Packages=Tree - CTL_No_Proxy=&No Proxy - AN_No_Proxy=No Proxy - AD_No_Proxy=No Proxy - CTL_Use_System_Proxy_Settings=&Use System Proxy Settings - AN_Use_System_Proxy_Settings=Use System Proxy Settings - AD_Use_System_Proxy_Settings=Use System Proxy Settings - CTL_Use_HTTP_Proxy=Manual &Proxy Settings - AN_Use_HTTP_Proxy=HTTP Proxy - AD_Use_HTTP_Proxy=HTTP Proxy - AN_Web_Browser=Web Browser - AD_Web_Browser=Web Browser - AN_Host=Host - AD_Host=Host - AN_Port=Port - AD_Port=Port - AN_Update_Period=Update Period - AD_Update_Period=Update Period - AN_Ask_Before_Check=Ask Before Check - AD_Ask_Before_Check=Ask Before Check - Line_Numbers=&Line Numbers - Antialiasing=Antialiasing: - Text_Antialiasing=Use Antialiasing - Toolbar=&Toolbar - Package_View=Package View - SDI_Window_Mode=SDI Window Mode - MDI_Window_Mode=MDI Window Mode - Tree_View=Tree View - Default_System_Browser= - Swing_HTML_Browser=Swing Browser - Mozilla=Mozilla - Internet_Explorer=Internet Explorer - CTL_General=General - CTL_Web_Browser=&Web Browser: - Confirm_Delete=&Confirm Delete: - CTL_Web_Proxy=Proxy Settings: - CTL_Proxy_Settings=Proxy - CTL_Proxy_Port=Po&rt\: - CTL_Proxy_Host=HTTP Pro&xy\: - Code_Folding=Code Folding: - Show=Show: - Editor=Editor - CTL_Check_Period=Check Perio&d: - CTL_Ask_Before_Check=Ask &Before Check: - CTL_Auto_Update=Auto Update - Use_Folding=&Use Code Folding - Fold_Methods=Fold &Methods - Fold_Classes=Fol&d Inner Classes - Fold_Imports=Fold Import&s - Fold_JavaDoc=Fold &Javadoc Comments - Fold_Licence=F&old Initial Comment - Auto_Popup=Auto Popup: - Auto_Popup_Completion=Completion Window - Auto_Popup_JavaDoc=Javadoc Window - CTL_Update_every_startup=Every Startup - CTL_Update_every_day=Every Day - CTL_Update_every_week=Every Week - CTL_Update_every_2weeks=Every Two Weeks - CTL_Update_every_month=Every Month - CTL_Update_never=Never - CTL_Default_System_Browser=Default System Browser - CTL_Internet_Explorer=Internet Explorer - CTL_Firefox=Firefox - CTL_Mozilla=Mozilla - CTL_Swing_HTML_Browser=Internal Browser - - - - - AN_NonProxy=No Proxy For - - AD_NonProxy=No Proxy For - - CTL_Non_Proxy=No Prox&y For\: - - Non_Proxy_Hint=(e.g. localhost, *.netbeans.org, *.mydomain.com) - LBL_GeneralOptionsPanel_bMoreProxy=M&ore... - - LBL_GeneralOptionsPanel_lWebProxy=Proxy Settings\: - - HTTP\ Proxy\:=LBL_AdvancedProxyPanel_lHttpProxyHost - LBL_AdvancedProxyPanel_lHttpProxyHost=HTTP &Proxy\: - - LBL_AdvancedProxyPanel_lNonProxyHostsDescription=(e.g. localhost, *.netbeans.org, 127.0.0.1) - - LBL_AdvancedProxyPanel_lHttpProxyPort=P&ort\: - - LBL_AdvancedProxyPanel_lHttpsProxyPort=Po&rt\: - - LBL_AdvancedProxyPanel_lSocksPort=Por&t\: - LBL_AdvancedProxyPanel_lHttpsProxyHots=&HTTPS Proxy\: - - LBL_AdvancedProxyPanel_lSocksHost=&SOCKS Proxy\: - LBL_AdvancedProxyPanel_lNonProxyHosts=No Pro&xy Hosts\: - LBL_AdvancedProxyPanel_cbUseProxyAuthentication=Proxy Re&quires Authentication - - LBL_AdvancedProxyPanel_lUserName=&Username\: - - LBL_AdvancedProxyPanel_lUserPassword=Pass&word\: - LBL_AdvancedProxyPanel_cbSameProxySettings=Use the same proxy settings for &all protocols - - LBL_AdvancedProxyPanel_Title=Advanced Proxy Options - - GeneralOptionsPanel.rbUseSystemProxy.text=Use System Proxy Settings - - GeneralOptionsPanel.lProxy.text=Proxy - - GeneralOptionsPanel.lViewJavaPackagesAs.text=View Java Packages as\: - - GeneralOptionsPanel.rbList.text=List - - GeneralOptionsPanel.rbTree.text=Tree - - GeneralOptionsPanel.lWebBrowser.text=Web Browser\: - - GeneralOptionsPanel.lGeneral.text=General - - GeneralOptionsPanel.rbNoProxy.text=No Proxy - - ACD_AdvancedProxyPanel_cbSameProxySettings=N/A - - ACD_AdvancedProxyPanel_cbUseProxyAuthentication=N/A - - ACD_AdvancedProxyPanel_tfHttpProxyHost=N/A - - ACD_AdvancedProxyPanel_tfHttpsProxyHost=N/A - - ACD_AdvancedProxyPanel_tfSocksHost=N/A - - ACD_AdvancedProxyPanel_tfNonProxyHosts=N/A - - ACD_AdvancedProxyPanel_tfHttpProxyPort=N/A - - ACD_AdvancedProxyPanel_tfHttpsProxyPort=N/A - - ACD_AdvancedProxyPanel_tfSocksPort=N/A - - ACD_AdvancedProxyPanel_tfUserName=N/A - - ACD_AdvancedProxyPanel_pfUserPassword=N/A - - ACD_AdvancedProxyPanel=N/A --- 1,0 ---- Index: editor/options/src/org/netbeans/modules/options/general/GeneralOptions.java *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptions.java Base (1.6) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptions.java Locally Deleted *************** *** 1,71 **** - /* - * The contents of this file are subject to the terms of the Common Development - * and Distribution License (the License). You may not use this file except in - * compliance with the License. - * - * You can obtain a copy of the License at http://www.netbeans.org/cddl.html - * or http://www.netbeans.org/cddl.txt. - * - * When distributing Covered Code, include this CDDL Header Notice in each file - * and include the License file at http://www.netbeans.org/cddl.txt. - * If applicable, add the following below the CDDL Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyrighted [year] [name of copyright owner]" - * - * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun - * Microsystems, Inc. All Rights Reserved. - */ - - package org.netbeans.modules.options.general; - - import javax.swing.Icon; - import javax.swing.ImageIcon; - import javax.swing.JComponent; - import org.netbeans.spi.options.OptionsCategory; - import org.netbeans.spi.options.OptionsPanelController; - import org.openide.util.NbBundle; - import org.openide.util.Utilities; - - - /** - * Contains information about General Options Panel, and creates a new - * instance of it. - * - * @author Jan Jancura - */ - - public final class GeneralOptions extends OptionsCategory { - - private static String loc (String key) { - return NbBundle.getMessage (GeneralOptionsPanel.class, key); - } - - - private static Icon icon; - - public Icon getIcon () { - if (icon == null) - icon = new ImageIcon ( - Utilities.loadImage - ("org/netbeans/modules/options/resources/generalOptions.png") - ); - return icon; - } - - public String getCategoryName () { - return loc ("CTL_General_Options"); - } - - public String getTitle () { - return loc ("CTL_General_Options_Title"); - } - - public String getDescription () { - return loc ("CTL_General_Options_Description"); - } - - public OptionsPanelController create () { - return new GeneralOptionsPanelController (); - } - } --- 1,0 ---- Index: editor/options/src/org/netbeans/modules/options/general/GeneralOptionsModel.java *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsModel.java Base (1.14) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsModel.java Locally Deleted *************** *** 1,281 **** - /* - * The contents of this file are subject to the terms of the Common Development - * and Distribution License (the License). You may not use this file except in - * compliance with the License. - * - * You can obtain a copy of the License at http://www.netbeans.org/cddl.html - * or http://www.netbeans.org/cddl.txt. - * - * When distributing Covered Code, include this CDDL Header Notice in each file - * and include the License file at http://www.netbeans.org/cddl.txt. - * If applicable, add the following below the CDDL Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyrighted [year] [name of copyright owner]" - * - * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun - * Microsystems, Inc. All Rights Reserved. - */ - - package org.netbeans.modules.options.general; - - import java.lang.reflect.InvocationTargetException; - import java.lang.reflect.Method; - import java.util.Iterator; - import java.util.Map; - import java.util.Set; - import java.util.prefs.Preferences; - import org.netbeans.api.editor.mimelookup.MimeLookup; - import org.netbeans.api.editor.mimelookup.MimePath; - import org.netbeans.core.ProxySettings; - import org.netbeans.modules.editor.options.AllOptionsFolder; - import org.netbeans.modules.editor.options.BaseOptions; - import org.netbeans.modules.editor.settings.storage.api.EditorSettings; - import org.openide.util.NbPreferences; - - - class GeneralOptionsModel { - - - private static Preferences getProxyPreferences () { - return NbPreferences.root ().node ("org/netbeans/core"); - } - - int getProxyType () { - return getProxyPreferences ().getInt (ProxySettings.PROXY_TYPE, ProxySettings.AUTO_DETECT_PROXY); - } - - void setProxyType (int proxyType) { - if (proxyType != getProxyType ()) { - getProxyPreferences ().putInt (ProxySettings.PROXY_TYPE, proxyType); - } - } - - String getHttpProxyHost () { - return ProxySettings.getHttpHost (); - } - - void setHttpProxyHost (String proxyHost) { - if (!proxyHost.equals(getHttpProxyHost ())) { - getProxyPreferences ().put (ProxySettings.PROXY_HTTP_HOST, proxyHost); - } - } - - String getHttpProxyPort () { - return ProxySettings.getHttpPort (); - } - - void setHttpProxyPort (String proxyPort) { - if (proxyPort != getHttpProxyPort()) { - getProxyPreferences().put(ProxySettings.PROXY_HTTP_PORT, validatePort (proxyPort) ? proxyPort : ""); - } - } - - String getHttpsProxyHost () { - return ProxySettings.getHttpsHost (); - } - - void setHttpsProxyHost (String proxyHost) { - if (!proxyHost.equals(getHttpsProxyHost ())) { - getProxyPreferences ().put (ProxySettings.PROXY_HTTPS_HOST, proxyHost); - } - } - - String getHttpsProxyPort () { - return ProxySettings.getHttpsPort (); - } - - void setHttpsProxyPort (String proxyPort) { - if (proxyPort != getHttpsProxyPort()) { - getProxyPreferences().put(ProxySettings.PROXY_HTTPS_PORT, validatePort (proxyPort) ? proxyPort : ""); - } - } - - String getSocksHost () { - return ProxySettings.getSocksHost (); - } - - void setSocksHost (String socksHost) { - if (socksHost != getSocksHost()) { - getProxyPreferences ().put (ProxySettings.PROXY_SOCKS_HOST, socksHost); - } - } - - String getSocksPort () { - return ProxySettings.getSocksPort (); - } - - void setSocksPort (String socksPort) { - if (socksPort != getSocksPort()) { - getProxyPreferences ().put (ProxySettings.PROXY_SOCKS_PORT, validatePort (socksPort) ? socksPort : ""); - } - } - - String getNonProxyHosts () { - return code2view (ProxySettings.getNonProxyHosts ()); - } - - void setNonProxyHosts (String nonProxy) { - if (!nonProxy.equals(getNonProxyHosts())) { - getProxyPreferences ().put (ProxySettings.NOT_PROXY_HOSTS, view2code (nonProxy)); - } - } - - boolean useProxyAuthentication () { - return ProxySettings.useAuthentication (); - } - - void setUseProxyAuthentication (boolean use) { - if (use != useProxyAuthentication()) { - getProxyPreferences ().putBoolean (ProxySettings.USE_PROXY_AUTHENTICATION, use); - } - } - - boolean useProxyAllProtocols () { - return ProxySettings.useProxyAllProtocols (); - } - - void setUseProxyAllProtocols (boolean use) { - if (use != useProxyAllProtocols ()) { - getProxyPreferences ().putBoolean (ProxySettings.USE_PROXY_ALL_PROTOCOLS, use); - } - } - - String getProxyAuthenticationUsername () { - return ProxySettings.getAuthenticationUsername (); - } - - //TODO: not used yet - store valu just in case if modified - void setAuthenticationUsername (String username) { - getProxyPreferences ().put (ProxySettings.PROXY_AUTHENTICATION_USERNAME, username); - } - - char [] getProxyAuthenticationPassword () { - return ProxySettings.getAuthenticationPassword (); - } - - //TODO: not used yet - store valu just in case if modified - void setAuthenticationPassword(char [] password) { - getProxyPreferences().put(ProxySettings.PROXY_AUTHENTICATION_PASSWORD, new String(password)); - } - - boolean isTextAntialiasing () { - return AllOptionsFolder.getDefault ().isTextAntialiasing (); - } - - //TODO: not used yet - store valu just in case if modified - void setTextAntialiasing(boolean textAntialiasing) { - AllOptionsFolder.getDefault().setTextAntialiasing(textAntialiasing); - } - - Map getCodeFoldingProperties () { - return (Map) getEditorOption - ("getCodeFoldingProps", "text/x-java"); - } - - //TODO: not used yet - store valu just in case if modified - void setCodeFoldingProperties (Map properties) { - setEditorOption - ("setCodeFoldingProps", Map.class, properties); - } - - boolean getAutoPopupCompletion () { - Boolean b = (Boolean) getEditorOption - ("getCompletionAutoPopup", "text/x-java"); - if (b == null) return true; - return b.booleanValue (); - } - - //TODO: not used yet - store valu just in case if modified - void setAutoPopupCompletion (boolean auto) { - setEditorOption ("setCompletionAutoPopup", Boolean.TYPE, new Boolean (auto)); - } - - boolean getAutoPopupJavaDoc () { - Boolean b = (Boolean) getEditorOption - ("getJavaDocAutoPopup", "text/x-java"); - if (b == null) return true; - return b.booleanValue (); - } - - //TODO: not used yet - store valu just in case if modified - void setAutoPopupJavaDoc (boolean auto) { - setEditorOption ("setJavaDocAutoPopup", Boolean.TYPE, new Boolean (auto)); - } - - - // private helper methods .................................................. - - private static Object getEditorOption (String methodName, String mimeType) { - //S ystem.out.println("\n getEditorOption " + methodName + " : " + mimeType); - BaseOptions options = getOptions (mimeType); - - if (options != null) { - try { - Method m = options.getClass().getMethod(methodName, new Class[] {}); - return m.invoke (options, new Object [] {}); - } catch (NoSuchMethodException ex) { - ex.printStackTrace (); - } catch (IllegalAccessException ex) { - ex.printStackTrace (); - } catch (InvocationTargetException ex) { - ex.printStackTrace (); - } - } - - return null; - } - - private static void setEditorOption (String methodName, Class paramType, Object value) { - //S ystem.out.println("\n setEditorOption " + methodName + " : " + value); - Set mimeTypes = EditorSettings.getDefault().getMimeTypes(); - for(Iterator i = mimeTypes.iterator(); i.hasNext(); ) { - String mimeType = (String) i.next(); - BaseOptions baseOptions = (BaseOptions) MimeLookup.getLookup(MimePath.parse(mimeType)).lookup(BaseOptions.class); - - if (baseOptions == null) { - continue; - } - - try { - //S ystem.out.println (baseOptions.getClass ()); - Method m = baseOptions.getClass ().getMethod - (methodName, new Class[] {paramType}); - //S ystem.out.println(" " + m); - m.invoke (baseOptions, new Object[] {value}); - //S ystem.out.println("invoked! " + baseOptions); - } catch (NoSuchMethodException ex) { - } catch (InvocationTargetException ex) { - ex.printStackTrace (); - } catch (IllegalAccessException ex) { - } - } - } - - private static boolean validatePort (String port) { - if (port.trim ().length () == 0) return true; - - boolean ok = false; - try { - Integer.parseInt (port); - ok = true; - } catch (NumberFormatException nfe) { - assert false : nfe; - } - return ok; - } - - private static BaseOptions getOptions (String mimeType) { - return (BaseOptions) MimeLookup.getLookup(MimePath.parse(mimeType)).lookup(BaseOptions.class); - } - - private static String code2view (String code) { - return code == null ? code : code.replace ("|", ", "); - } - - private static String view2code (String view) { - return view == null ? view : view.replace (", ", "|"); - } - } - - --- 1,0 ---- Index: editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanel.form *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsPanel.form Base (1.9) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsPanel.form Locally Deleted *************** *** 1,283 **** - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--- 1,0 ---- Index: editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanel.java *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsPanel.java Base (1.33) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsPanel.java Locally Deleted *************** *** 1,486 **** - package org.netbeans.modules.options.general; - /* - * The contents of this file are subject to the terms of the Common Development - * and Distribution License (the License). You may not use this file except in - * compliance with the License. - * - * You can obtain a copy of the License at http://www.netbeans.org/cddl.html - * or http://www.netbeans.org/cddl.txt. - * - * When distributing Covered Code, include this CDDL Header Notice in each file - * and include the License file at http://www.netbeans.org/cddl.txt. - * If applicable, add the following below the CDDL Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyrighted [year] [name of copyright owner]" - * - * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun - * Microsystems, Inc. All Rights Reserved. - */ - - import java.awt.Component; - import java.awt.event.ActionEvent; - import java.awt.event.ActionListener; - import java.lang.reflect.Method; - import java.util.logging.Level; - import java.util.logging.Logger; - import javax.swing.AbstractButton; - import javax.swing.ButtonGroup; - import javax.swing.JLabel; - import javax.swing.JPanel; - import org.netbeans.beaninfo.editors.HtmlBrowser; - import org.openide.DialogDescriptor; - import org.openide.DialogDisplayer; - import org.openide.awt.Mnemonics; - import org.openide.util.Lookup; - import org.openide.util.NbBundle; - - /** - * Implementation of one panel in Options Dialog. - * - * @author Jan Jancura - */ - public class GeneralOptionsPanel extends JPanel implements ActionListener { - - private boolean changed = false; - private GeneralOptionsModel model; - private HtmlBrowser.FactoryEditor editor; - private AdvancedProxyPanel advancedPanel; - - - /** - * Creates new form GeneralOptionsPanel. - */ - public GeneralOptionsPanel () { - initComponents (); - - loc (lGeneral, "General"); - loc (lViewJavaPackagesAs, "Package_View_Type"); - loc (lWebBrowser, "Web_Browser"); - loc (lProxy, "Proxy_Settings"); - loc (lWebProxy, "Web_Proxy"); - loc (lProxyHost, "Proxy_Host"); - loc (lProxyPort, "Proxy_Port"); - - - cbWebBrowser.getAccessibleContext ().setAccessibleName (loc ("AN_Web_Browser")); - cbWebBrowser.getAccessibleContext ().setAccessibleDescription (loc ("AD_Web_Browser")); - tfProxyHost.getAccessibleContext ().setAccessibleName (loc ("AN_Host")); - tfProxyHost.getAccessibleContext ().setAccessibleDescription (loc ("AD_Host")); - tfProxyPort.getAccessibleContext ().setAccessibleName (loc ("AN_Port")); - tfProxyPort.getAccessibleContext ().setAccessibleDescription (loc ("AD_Port")); - rbNoProxy.addActionListener (this); - rbUseSystemProxy.addActionListener (this); - rbHTTPProxy.addActionListener (this); - rbList.addActionListener (this); - rbTree.addActionListener (this); - cbWebBrowser.addActionListener (this); - tfProxyHost.addActionListener (this); - tfProxyPort.addActionListener (this); - - ButtonGroup bgPackages = new ButtonGroup (); - bgPackages.add (rbList); - bgPackages.add (rbTree); - loc (rbList, "Flattern_Packages"); - loc (rbTree, "Tree_Packages"); - ButtonGroup bgProxy = new ButtonGroup (); - bgProxy.add (rbNoProxy); - bgProxy.add (rbUseSystemProxy); - bgProxy.add (rbHTTPProxy); - loc (rbNoProxy, "No_Proxy"); - loc (rbUseSystemProxy, "Use_System_Proxy_Settings"); - loc (rbHTTPProxy, "Use_HTTP_Proxy"); - - // if system proxy setting is not detectable, disable this radio - // button - if (System.getProperty("netbeans.system_http_proxy") == null) // NOI18N - rbUseSystemProxy.setEnabled(false); - } - - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. - */ - // //GEN-BEGIN:initComponents - private void initComponents() { - - lGeneral = new javax.swing.JLabel(); - jSeparator1 = new javax.swing.JSeparator(); - lViewJavaPackagesAs = new javax.swing.JLabel(); - rbList = new javax.swing.JRadioButton(); - rbTree = new javax.swing.JRadioButton(); - lWebBrowser = new javax.swing.JLabel(); - cbWebBrowser = new javax.swing.JComboBox(); - lProxy = new javax.swing.JLabel(); - jSeparator2 = new javax.swing.JSeparator(); - lWebProxy = new javax.swing.JLabel(); - rbNoProxy = new javax.swing.JRadioButton(); - rbUseSystemProxy = new javax.swing.JRadioButton(); - rbHTTPProxy = new javax.swing.JRadioButton(); - lProxyHost = new javax.swing.JLabel(); - tfProxyHost = new javax.swing.JTextField(); - lProxyPort = new javax.swing.JLabel(); - tfProxyPort = new javax.swing.JTextField(); - bMoreProxy = new javax.swing.JButton(); - - org.openide.awt.Mnemonics.setLocalizedText(lGeneral, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.lGeneral.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(lViewJavaPackagesAs, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.lViewJavaPackagesAs.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(rbList, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.rbList.text")); // NOI18N - rbList.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - - org.openide.awt.Mnemonics.setLocalizedText(rbTree, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.rbTree.text")); // NOI18N - rbTree.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - - lWebBrowser.setLabelFor(cbWebBrowser); - org.openide.awt.Mnemonics.setLocalizedText(lWebBrowser, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.lWebBrowser.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(lProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.lProxy.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(lWebProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "LBL_GeneralOptionsPanel_lWebProxy")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(rbNoProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.rbNoProxy.text")); // NOI18N - rbNoProxy.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - - org.openide.awt.Mnemonics.setLocalizedText(rbUseSystemProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.rbUseSystemProxy.text")); // NOI18N - rbUseSystemProxy.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - - org.openide.awt.Mnemonics.setLocalizedText(rbHTTPProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "CTL_Use_HTTP_Proxy", new Object[] {})); // NOI18N - rbHTTPProxy.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - - lProxyHost.setLabelFor(tfProxyHost); - org.openide.awt.Mnemonics.setLocalizedText(lProxyHost, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "CTL_Proxy_Host", new Object[] {})); // NOI18N - - tfProxyHost.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - tfProxyHostFocusGained(evt); - } - public void focusLost(java.awt.event.FocusEvent evt) { - tfProxyHostFocusLost(evt); - } - }); - - lProxyPort.setLabelFor(tfProxyPort); - org.openide.awt.Mnemonics.setLocalizedText(lProxyPort, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "CTL_Proxy_Port", new Object[] {})); // NOI18N - - tfProxyPort.setColumns(4); - tfProxyPort.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - tfProxyPortFocusGained(evt); - } - public void focusLost(java.awt.event.FocusEvent evt) { - tfProxyPortFocusLost(evt); - } - }); - - org.openide.awt.Mnemonics.setLocalizedText(bMoreProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "LBL_GeneralOptionsPanel_bMoreProxy")); // NOI18N - bMoreProxy.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - bMoreProxyActionPerformed(evt); - } - }); - - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .add(12, 12, 12) - .add(lViewJavaPackagesAs)) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(lWebProxy)) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(lWebBrowser))) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(rbList) - .add(rbTree, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 420, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(rbNoProxy) - .add(rbUseSystemProxy) - .add(rbHTTPProxy) - .add(layout.createSequentialGroup() - .add(17, 17, 17) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(bMoreProxy) - .add(layout.createSequentialGroup() - .add(lProxyHost) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(tfProxyHost, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 350, Short.MAX_VALUE) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(lProxyPort) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(tfProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)) - .add(cbWebBrowser, 0, 501, Short.MAX_VALUE))) - .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup() - .add(lProxy) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(jSeparator2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 0, Short.MAX_VALUE)) - .add(layout.createSequentialGroup() - .add(lGeneral) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 590, Short.MAX_VALUE))) - .addContainerGap()) - ); - layout.setVerticalGroup( - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) - .add(lGeneral) - .add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lViewJavaPackagesAs) - .add(rbList)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(rbTree) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(cbWebBrowser, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(lWebBrowser)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(lProxy) - .add(layout.createSequentialGroup() - .add(5, 5, 5) - .add(jSeparator2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(lWebProxy) - .add(layout.createSequentialGroup() - .add(rbNoProxy) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(rbUseSystemProxy) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(rbHTTPProxy))) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lProxyHost) - .add(tfProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(lProxyPort) - .add(tfProxyHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(bMoreProxy) - .addContainerGap(114, Short.MAX_VALUE)) - ); - }// //GEN-END:initComponents - - private void bMoreProxyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bMoreProxyActionPerformed - assert model != null : "Model found when AdvancedProxyPanel is created"; - if (advancedPanel == null) { - advancedPanel = new AdvancedProxyPanel (model); - } - DialogDescriptor dd = new DialogDescriptor (advancedPanel, loc ("LBL_AdvancedProxyPanel_Title")); - advancedPanel.update (tfProxyHost.getText (), tfProxyPort.getText ()); - DialogDisplayer.getDefault ().createDialog (dd).setVisible (true); - if (DialogDescriptor.OK_OPTION.equals (dd.getValue ())) { - advancedPanel.applyChanges (); - tfProxyHost.setText (model.getHttpProxyHost ()); - tfProxyPort.setText (model.getHttpProxyPort ()); - isChanged (); - } - }//GEN-LAST:event_bMoreProxyActionPerformed - - private void tfProxyPortFocusLost (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyPortFocusLost - tfProxyPort.select (0, 0); - }//GEN-LAST:event_tfProxyPortFocusLost - - private void tfProxyHostFocusLost (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyHostFocusLost - tfProxyHost.select (0, 0); - }//GEN-LAST:event_tfProxyHostFocusLost - - private void tfProxyPortFocusGained (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyPortFocusGained - tfProxyPort.setCaretPosition (0); - tfProxyPort.selectAll (); - }//GEN-LAST:event_tfProxyPortFocusGained - - private void tfProxyHostFocusGained (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyHostFocusGained - tfProxyHost.setCaretPosition (0); - tfProxyHost.selectAll (); - }//GEN-LAST:event_tfProxyHostFocusGained - - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JButton bMoreProxy; - private javax.swing.JComboBox cbWebBrowser; - private javax.swing.JSeparator jSeparator1; - private javax.swing.JSeparator jSeparator2; - private javax.swing.JLabel lGeneral; - private javax.swing.JLabel lProxy; - private javax.swing.JLabel lProxyHost; - private javax.swing.JLabel lProxyPort; - private javax.swing.JLabel lViewJavaPackagesAs; - private javax.swing.JLabel lWebBrowser; - private javax.swing.JLabel lWebProxy; - private javax.swing.JRadioButton rbHTTPProxy; - private javax.swing.JRadioButton rbList; - private javax.swing.JRadioButton rbNoProxy; - private javax.swing.JRadioButton rbTree; - private javax.swing.JRadioButton rbUseSystemProxy; - private javax.swing.JTextField tfProxyHost; - private javax.swing.JTextField tfProxyPort; - // End of variables declaration//GEN-END:variables - - - private static String loc (String key) { - return NbBundle.getMessage (GeneralOptionsPanel.class, key); - } - - private static void loc (Component c, String key) { - if (!(c instanceof JLabel)) { - c.getAccessibleContext ().setAccessibleName (loc ("AN_" + key)); - c.getAccessibleContext ().setAccessibleDescription (loc ("AD_" + key)); - } - if (c instanceof AbstractButton) { - Mnemonics.setLocalizedText ( - (AbstractButton) c, - loc ("CTL_" + key) - ); - } else { - Mnemonics.setLocalizedText ( - (JLabel) c, - loc ("CTL_" + key) - ); - } - } - - void update () { - model = new GeneralOptionsModel (); - - rbList.setSelected (true); - - // proxy settings - switch (model.getProxyType ()) { - case 0: - rbNoProxy.setSelected (true); - tfProxyHost.setEnabled (false); - tfProxyPort.setEnabled (false); - bMoreProxy.setEnabled (false); - break; - case 1: - rbUseSystemProxy.setSelected (true); - tfProxyHost.setEnabled (false); - tfProxyPort.setEnabled (false); - bMoreProxy.setEnabled (false); - break; - default: - rbHTTPProxy.setSelected (true); - tfProxyHost.setEnabled (true); - tfProxyPort.setEnabled (true); - bMoreProxy.setEnabled (true); - break; - } - tfProxyHost.setText (model.getHttpProxyHost ()); - tfProxyPort.setText (model.getHttpProxyPort ()); - - // web browser settings - if (editor == null) { - editor = (HtmlBrowser.FactoryEditor)Lookup.getDefault().lookup(HtmlBrowser.FactoryEditor.class); - } - cbWebBrowser.removeAllItems (); - String[] tags = editor.getTags (); - int i, k = tags.length; - for (i = 0; i < k; i++) - cbWebBrowser.addItem (tags [i]); - cbWebBrowser.setSelectedItem (editor.getAsText ()); - - // package view settings - ClassLoader classLoader = (ClassLoader) Lookup.getDefault ().lookup - (ClassLoader.class); - try { - Class clazz = classLoader.loadClass - ("org.netbeans.modules.java.project.JavaProjectSettings"); - Method method = clazz.getMethod ("getPackageViewType", new Class[0]); - Integer integer = (Integer) method.invoke(null, new Object[] {}); - if (integer.intValue () == 0) - rbList.setSelected (true); - else - rbTree.setSelected (true); - rbList.setEnabled(true); - rbTree.setEnabled(true); - lViewJavaPackagesAs.setEnabled(true); - } catch (ClassNotFoundException x) { - // ignore, module not installed - rbList.setSelected(false); - rbList.setEnabled(false); - rbTree.setSelected(false); - rbTree.setEnabled(false); - lViewJavaPackagesAs.setEnabled(false); - } catch (Exception ex) { - Logger.getLogger(GeneralOptionsPanel.class.getName()).log(Level.WARNING, null, ex); - } - changed = false; - } - - void applyChanges () { - // listening on JTextFields dont work! - // if (!changed) return; - - if (model == null) return; - - // proxy settings - if (rbNoProxy.isSelected ()) { - model.setProxyType (0); - } else - if (rbUseSystemProxy.isSelected ()) { - model.setProxyType (1); - } else { - model.setProxyType (2); - } - - model.setHttpProxyHost (tfProxyHost.getText ()); - model.setHttpProxyPort (tfProxyPort.getText ()); - - // web browser settings - if (editor == null) { - editor = (HtmlBrowser.FactoryEditor)Lookup.getDefault().lookup(HtmlBrowser.FactoryEditor.class); - } - editor.setAsText ((String) cbWebBrowser.getSelectedItem ()); - // package view settings - ClassLoader classLoader = (ClassLoader) Lookup.getDefault ().lookup - (ClassLoader.class); - try { - Class clazz = classLoader.loadClass - ("org.netbeans.modules.java.project.JavaProjectSettings"); - Method method = clazz.getMethod("setPackageViewType", new Class [] {Integer.TYPE}); - Integer integer = new Integer (1); - if (rbList.isSelected ()) - integer = new Integer (0); - method.invoke (null, new Object[] {integer}); - } catch (ClassNotFoundException x) { - // ignore, module not installed - } catch (Exception ex) { - Logger.getLogger(GeneralOptionsPanel.class.getName()).log(Level.WARNING, null, ex); - } - } - - void cancel () { - } - - boolean dataValid () { - return true; - } - - boolean isChanged () { - if (model == null) return false; - if (!tfProxyHost.getText ().equals (model.getHttpProxyHost ())) return true; - if (!tfProxyPort.getText ().equals (model.getHttpProxyPort ())) return true; - return changed; - } - - public void actionPerformed (ActionEvent e) { - changed = true; - tfProxyHost.setEnabled (rbHTTPProxy.isSelected ()); - tfProxyPort.setEnabled (rbHTTPProxy.isSelected ()); - bMoreProxy.setEnabled (rbHTTPProxy.isSelected ()); - } - } --- 1,0 ---- Index: editor/options/src/org/netbeans/modules/options/general/GeneralOptionsPanelController.java *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsPanelController.java Base (1.8) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\general\GeneralOptionsPanelController.java Locally Deleted *************** *** 1,81 **** - /* - * The contents of this file are subject to the terms of the Common Development - * and Distribution License (the License). You may not use this file except in - * compliance with the License. - * - * You can obtain a copy of the License at http://www.netbeans.org/cddl.html - * or http://www.netbeans.org/cddl.txt. - * - * When distributing Covered Code, include this CDDL Header Notice in each file - * and include the License file at http://www.netbeans.org/cddl.txt. - * If applicable, add the following below the CDDL Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyrighted [year] [name of copyright owner]" - * - * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun - * Microsystems, Inc. All Rights Reserved. - */ - - package org.netbeans.modules.options.general; - - import java.beans.PropertyChangeListener; - import javax.swing.JComponent; - import org.netbeans.spi.options.OptionsPanelController; - import org.openide.util.HelpCtx; - import org.openide.util.Lookup; - - - /** - * Implementation of one panel in Options Dialog. - * - * @author Jan Jancura - */ - public final class GeneralOptionsPanelController extends OptionsPanelController { - - - public void update () { - getGeneralOptionsPanel ().update (); - } - - public void applyChanges () { - getGeneralOptionsPanel ().applyChanges (); - } - - public void cancel () { - getGeneralOptionsPanel ().cancel (); - } - - public boolean isValid () { - return getGeneralOptionsPanel ().dataValid (); - } - - public boolean isChanged () { - return getGeneralOptionsPanel ().isChanged (); - } - - public HelpCtx getHelpCtx () { - return new HelpCtx ("netbeans.optionsDialog.general"); - } - - public JComponent getComponent (Lookup masterLookup) { - return getGeneralOptionsPanel (); - } - - public void addPropertyChangeListener (PropertyChangeListener l) { - getGeneralOptionsPanel ().addPropertyChangeListener (l); - } - - public void removePropertyChangeListener (PropertyChangeListener l) { - getGeneralOptionsPanel ().removePropertyChangeListener (l); - } - - - private GeneralOptionsPanel generalOptionsPanel; - - private GeneralOptionsPanel getGeneralOptionsPanel () { - if (generalOptionsPanel == null) - generalOptionsPanel = new GeneralOptionsPanel (); - return generalOptionsPanel; - } - } --- 1,0 ---- Index: core/ui/src/org/netbeans/core/ui/options/general/AdvancedProxyPanel.form *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\AdvancedProxyPanel.form No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\AdvancedProxyPanel.form Locally New *************** *** 1,0 **** --- 1,352 ---- + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index: core/ui/src/org/netbeans/core/ui/options/general/AdvancedProxyPanel.java *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\AdvancedProxyPanel.java No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\AdvancedProxyPanel.java Locally New *************** *** 1,0 **** --- 1,401 ---- + /* + * The contents of this file are subject to the terms of the Common Development + * and Distribution License (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the License at http://www.netbeans.org/cddl.html + * or http://www.netbeans.org/cddl.txt. + * + * When distributing Covered Code, include this CDDL Header Notice in each file + * and include the License file at http://www.netbeans.org/cddl.txt. + * If applicable, add the following below the CDDL Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * The Original Software is NetBeans. The Initial Developer of the Original + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun + * Microsystems, Inc. All Rights Reserved. + */ + package org.netbeans.core.ui.options.general; + + import javax.swing.event.DocumentEvent; + import javax.swing.event.DocumentListener; + + /** + * + * @author Jiri Rechtacek + */ + public class AdvancedProxyPanel extends javax.swing.JPanel { + private GeneralOptionsModel options; + private String oldHttpsHost; + private String oldHttpsPort; + private String oldSocksHost; + private String oldSocksPort; + + /** Creates new form AdvancedProxyPanel */ + public AdvancedProxyPanel (GeneralOptionsModel model) { + options = model; + initComponents (); + tfHttpProxyHost.getDocument().addDocumentListener (new DocumentListener () { + public void insertUpdate(DocumentEvent arg0) { + followHttpHostIfDemand (); + } + + public void removeUpdate(DocumentEvent arg0) { + followHttpHostIfDemand (); + } + + public void changedUpdate(DocumentEvent arg0) { + followHttpHostIfDemand (); + } + }); + tfHttpProxyPort.getDocument().addDocumentListener (new DocumentListener () { + public void insertUpdate(DocumentEvent arg0) { + followHttpPortIfDemand (); + } + + public void removeUpdate(DocumentEvent arg0) { + followHttpPortIfDemand (); + } + + public void changedUpdate(DocumentEvent arg0) { + followHttpPortIfDemand (); + } + }); + } + + // helps implement OptionsPanelController + + public void update (String httpHost, String httpPort) { + readOptions (); + + if (! options.getHttpProxyHost ().equals (httpHost)) { + tfHttpProxyHost.setText (httpHost); + } + if (! options.getHttpProxyPort ().equals (httpPort)) { + tfHttpProxyPort.setText (httpPort); + } + } + + public void applyChanges() { + writeOptions (); + } + + // helpers + + private void readOptions () { + cbSameProxySettings.setSelected (options.useProxyAllProtocols ()); + cbUseProxyAuthentication.setSelected(options.useProxyAuthentication ()); + tfHttpProxyHost.setText (options.getHttpProxyHost ()); + tfHttpProxyPort.setText (options.getHttpProxyPort ()); + tfHttpsProxyHost.setText (options.getHttpsProxyHost ()); + tfHttpsProxyPort.setText (options.getHttpsProxyPort ()); + tfSocksHost.setText (options.getSocksHost ()); + tfSocksPort.setText (options.getSocksPort ()); + tfUserName.setText (options.getProxyAuthenticationUsername ()); + pfUserPassword.setText (new String (options.getProxyAuthenticationPassword ())); + tfNonProxyHosts.setText (options.getNonProxyHosts ()); + + oldHttpsHost = tfHttpsProxyHost.getText (); + oldHttpsPort = tfHttpsProxyPort.getText (); + oldSocksHost = tfSocksHost.getText (); + oldSocksPort = tfSocksPort.getText (); + + followHttpProxyIfDemand(); + updateAuthentication (); + } + + private void writeOptions () { + options.setUseProxyAllProtocols (cbSameProxySettings.isSelected ()); + options.setUseProxyAuthentication(cbUseProxyAuthentication.isSelected ()); + options.setHttpProxyHost (tfHttpProxyHost.getText ()); + options.setHttpProxyPort (tfHttpProxyPort.getText ()); + options.setHttpsProxyHost (tfHttpsProxyHost.getText ()); + options.setHttpsProxyPort (tfHttpsProxyPort.getText ()); + options.setSocksHost (tfSocksHost.getText ()); + options.setSocksPort (tfSocksPort.getText ()); + options.setNonProxyHosts (tfNonProxyHosts.getText ()); + options.setAuthenticationUsername (tfUserName.getText ()); + options.setAuthenticationPassword (pfUserPassword.getPassword ()); + } + + private void followHttpProxyIfDemand () { + boolean same = cbSameProxySettings.isSelected (); + tfHttpsProxyHost.setEnabled (! same); + tfHttpsProxyPort.setEnabled (! same); + tfSocksHost.setEnabled (! same); + tfSocksPort.setEnabled (! same); + lHttpsProxyHost.setEnabled (! same); + lHttpsProxyPort.setEnabled (! same); + lSocksHost.setEnabled (! same); + lSocksPort.setEnabled (! same); + + followHttpHostIfDemand (); + followHttpPortIfDemand (); + } + + private void updateAuthentication () { + boolean use = cbUseProxyAuthentication.isSelected (); + tfUserName.setEnabled (use); + lUserName.setEnabled (use); + pfUserPassword.setEnabled (use); + lUserPassword.setEnabled (use); + } + + private void followHttpHostIfDemand () { + if (! cbSameProxySettings.isSelected ()) { + return ; + } + String host = tfHttpProxyHost.getText (); + tfHttpsProxyHost.setText (host); + tfSocksHost.setText (host); + } + + private void followHttpPortIfDemand () { + if (! cbSameProxySettings.isSelected ()) { + return ; + } + String port = tfHttpProxyPort.getText (); + tfHttpsProxyPort.setText (port); + tfSocksPort.setText (port); + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + + lHttpProxyHost = new javax.swing.JLabel(); + tfHttpProxyHost = new javax.swing.JTextField(); + cbSameProxySettings = new javax.swing.JCheckBox(); + lHttpsProxyHost = new javax.swing.JLabel(); + tfHttpsProxyHost = new javax.swing.JTextField(); + lSocksHost = new javax.swing.JLabel(); + tfSocksHost = new javax.swing.JTextField(); + lHttpProxyPort = new javax.swing.JLabel(); + lHttpsProxyPort = new javax.swing.JLabel(); + lSocksPort = new javax.swing.JLabel(); + tfHttpProxyPort = new javax.swing.JTextField(); + tfHttpsProxyPort = new javax.swing.JTextField(); + tfSocksPort = new javax.swing.JTextField(); + lNonProxyHosts = new javax.swing.JLabel(); + tfNonProxyHosts = new javax.swing.JTextField(); + lNonProxyHostsDescription = new javax.swing.JLabel(); + sSeparator = new javax.swing.JSeparator(); + cbUseProxyAuthentication = new javax.swing.JCheckBox(); + lUserName = new javax.swing.JLabel(); + lUserPassword = new javax.swing.JLabel(); + tfUserName = new javax.swing.JTextField(); + pfUserPassword = new javax.swing.JPasswordField(); + + lHttpProxyHost.setLabelFor(tfHttpProxyHost); + org.openide.awt.Mnemonics.setLocalizedText(lHttpProxyHost, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpProxyHost")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(cbSameProxySettings, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_cbSameProxySettings")); // NOI18N + cbSameProxySettings.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + cbSameProxySettings.setMargin(new java.awt.Insets(0, 0, 0, 0)); + cbSameProxySettings.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cbSameProxySettingsActionPerformed(evt); + } + }); + + lHttpsProxyHost.setLabelFor(tfHttpsProxyHost); + org.openide.awt.Mnemonics.setLocalizedText(lHttpsProxyHost, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpsProxyHots")); // NOI18N + + lSocksHost.setLabelFor(tfSocksHost); + org.openide.awt.Mnemonics.setLocalizedText(lSocksHost, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lSocksHost")); // NOI18N + + lHttpProxyPort.setLabelFor(tfHttpProxyPort); + org.openide.awt.Mnemonics.setLocalizedText(lHttpProxyPort, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpProxyPort")); // NOI18N + + lHttpsProxyPort.setLabelFor(tfHttpsProxyPort); + org.openide.awt.Mnemonics.setLocalizedText(lHttpsProxyPort, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lHttpsProxyPort")); // NOI18N + + lSocksPort.setLabelFor(tfSocksPort); + org.openide.awt.Mnemonics.setLocalizedText(lSocksPort, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lSocksPort")); // NOI18N + + tfHttpProxyPort.setColumns(4); + + tfHttpsProxyPort.setColumns(4); + + tfSocksPort.setColumns(4); + + lNonProxyHosts.setLabelFor(tfNonProxyHosts); + org.openide.awt.Mnemonics.setLocalizedText(lNonProxyHosts, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lNonProxyHosts")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(lNonProxyHostsDescription, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lNonProxyHostsDescription")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(cbUseProxyAuthentication, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_cbUseProxyAuthentication")); // NOI18N + cbUseProxyAuthentication.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + cbUseProxyAuthentication.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cbUseProxyAuthenticationActionPerformed(evt); + } + }); + + lUserName.setLabelFor(tfUserName); + org.openide.awt.Mnemonics.setLocalizedText(lUserName, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lUserName")); // NOI18N + + lUserPassword.setLabelFor(pfUserPassword); + org.openide.awt.Mnemonics.setLocalizedText(lUserPassword, org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "LBL_AdvancedProxyPanel_lUserPassword")); // NOI18N + + org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(12, 12, 12) + .add(cbUseProxyAuthentication)) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(lUserName) + .add(lUserPassword)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(pfUserPassword) + .add(tfUserName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 399, Short.MAX_VALUE))) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(sSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 414, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() + .add(12, 12, 12) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(lHttpProxyHost) + .add(lHttpsProxyHost) + .add(lSocksHost) + .add(lNonProxyHosts)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(lNonProxyHostsDescription, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 349, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(cbSameProxySettings, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 325, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false) + .add(org.jdesktop.layout.GroupLayout.LEADING, tfHttpProxyHost) + .add(org.jdesktop.layout.GroupLayout.LEADING, tfSocksHost) + .add(org.jdesktop.layout.GroupLayout.LEADING, tfHttpsProxyHost, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(lHttpProxyPort) + .add(lHttpsProxyPort) + .add(lSocksPort)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(tfHttpProxyPort) + .add(tfSocksPort) + .add(tfHttpsProxyPort))) + .add(tfNonProxyHosts))))) + .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lHttpProxyHost) + .add(tfHttpProxyHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lHttpProxyPort) + .add(tfHttpProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(cbSameProxySettings) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lHttpsProxyHost) + .add(tfHttpsProxyHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lHttpsProxyPort) + .add(tfHttpsProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lSocksHost) + .add(tfSocksHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lSocksPort) + .add(tfSocksPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lNonProxyHosts) + .add(tfNonProxyHosts, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(lNonProxyHostsDescription) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(sSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(cbUseProxyAuthentication) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lUserName) + .add(tfUserName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lUserPassword) + .add(pfUserPassword, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(30, Short.MAX_VALUE)) + ); + + tfHttpProxyHost.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpProxyHost")); // NOI18N + cbSameProxySettings.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_cbSameProxySettings")); // NOI18N + tfHttpsProxyHost.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpsProxyHost")); // NOI18N + tfSocksHost.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfSocksHost")); // NOI18N + tfHttpProxyPort.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpProxyPort")); // NOI18N + tfHttpsProxyPort.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfHttpsProxyPort")); // NOI18N + tfSocksPort.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfSocksPort")); // NOI18N + tfNonProxyHosts.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfNonProxyHosts")); // NOI18N + cbUseProxyAuthentication.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_cbUseProxyAuthentication")); // NOI18N + tfUserName.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_tfUserName")); // NOI18N + pfUserPassword.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel_pfUserPassword")); // NOI18N + + getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AdvancedProxyPanel.class, "ACD_AdvancedProxyPanel")); // NOI18N + }// //GEN-END:initComponents + + private void cbUseProxyAuthenticationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbUseProxyAuthenticationActionPerformed + updateAuthentication (); + }//GEN-LAST:event_cbUseProxyAuthenticationActionPerformed + + private void cbSameProxySettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbSameProxySettingsActionPerformed + if (cbSameProxySettings.isSelected ()) { + oldHttpsHost = tfHttpsProxyHost.getText (); + oldHttpsPort = tfHttpsProxyPort.getText (); + oldSocksHost = tfSocksHost.getText (); + oldSocksPort = tfSocksPort.getText (); + } else { + tfHttpsProxyHost.setText (oldHttpsHost); + tfHttpsProxyPort.setText (oldHttpsPort); + tfSocksHost.setText (oldSocksHost); + tfSocksPort.setText (oldSocksPort); + } + followHttpProxyIfDemand (); + }//GEN-LAST:event_cbSameProxySettingsActionPerformed + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JCheckBox cbSameProxySettings; + private javax.swing.JCheckBox cbUseProxyAuthentication; + private javax.swing.JLabel lHttpProxyHost; + private javax.swing.JLabel lHttpProxyPort; + private javax.swing.JLabel lHttpsProxyHost; + private javax.swing.JLabel lHttpsProxyPort; + private javax.swing.JLabel lNonProxyHosts; + private javax.swing.JLabel lNonProxyHostsDescription; + private javax.swing.JLabel lSocksHost; + private javax.swing.JLabel lSocksPort; + private javax.swing.JLabel lUserName; + private javax.swing.JLabel lUserPassword; + private javax.swing.JPasswordField pfUserPassword; + private javax.swing.JSeparator sSeparator; + private javax.swing.JTextField tfHttpProxyHost; + private javax.swing.JTextField tfHttpProxyPort; + private javax.swing.JTextField tfHttpsProxyHost; + private javax.swing.JTextField tfHttpsProxyPort; + private javax.swing.JTextField tfNonProxyHosts; + private javax.swing.JTextField tfSocksHost; + private javax.swing.JTextField tfSocksPort; + private javax.swing.JTextField tfUserName; + // End of variables declaration//GEN-END:variables + + } Index: core/ui/src/org/netbeans/core/ui/options/general/Bundle.properties *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\Bundle.properties No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\Bundle.properties Locally New *************** *** 1,0 **** --- 1,210 ---- + # The contents of this file are subject to the terms of the Common Development + # and Distribution License (the License). You may not use this file except in + # compliance with the License. + # + # You can obtain a copy of the License at http://www.netbeans.org/cddl.html + # or http://www.netbeans.org/cddl.txt. + # + # When distributing Covered Code, include this CDDL Header Notice in each file + # and include the License file at http://www.netbeans.org/cddl.txt. + # If applicable, add the following below the CDDL Header, with the fields + # enclosed by brackets [] replaced by your own identifying information: + # "Portions Copyrighted [year] [name of copyright owner]" + # + # The Original Software is NetBeans. The Initial Developer of the Original + # Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + # Microsystems, Inc. All Rights Reserved. + + + #GeneralOptionsPanel + CTL_General_Options=&General + CTL_General_Options_Title=General + CTL_General_Options_Category=General + CTL_General_Options_Description=General options, Proxy settings, Editor settings + CTL_Package_View_Type=View Java Packages as: + CTL_Flattern_Packages=&List + AN_Flattern_Packages=List + AD_Flattern_Packages=List + CTL_Tree_Packages=Tree + AN_Tree_Packages=Tree + AD_Tree_Packages=Tree + CTL_No_Proxy=&No Proxy + AN_No_Proxy=No Proxy + AD_No_Proxy=No Proxy + CTL_Use_System_Proxy_Settings=&Use System Proxy Settings + AN_Use_System_Proxy_Settings=Use System Proxy Settings + AD_Use_System_Proxy_Settings=Use System Proxy Settings + CTL_Use_HTTP_Proxy=Manual &Proxy Settings + AN_Use_HTTP_Proxy=HTTP Proxy + AD_Use_HTTP_Proxy=HTTP Proxy + AN_Web_Browser=Web Browser + AD_Web_Browser=Web Browser + AN_Host=Host + AD_Host=Host + AN_Port=Port + AD_Port=Port + AN_Update_Period=Update Period + AD_Update_Period=Update Period + AN_Ask_Before_Check=Ask Before Check + AD_Ask_Before_Check=Ask Before Check + Line_Numbers=&Line Numbers + Antialiasing=Antialiasing: + Text_Antialiasing=Use Antialiasing + Toolbar=&Toolbar + Package_View=Package View + SDI_Window_Mode=SDI Window Mode + MDI_Window_Mode=MDI Window Mode + Tree_View=Tree View + Default_System_Browser= + Swing_HTML_Browser=Swing Browser + Mozilla=Mozilla + Internet_Explorer=Internet Explorer + CTL_General=General + CTL_Web_Browser=&Web Browser: + Confirm_Delete=&Confirm Delete: + CTL_Web_Proxy=Proxy Settings: + CTL_Proxy_Settings=Proxy + CTL_Proxy_Port=Po&rt\: + CTL_Proxy_Host=HTTP Pro&xy\: + Code_Folding=Code Folding: + Show=Show: + Editor=Editor + CTL_Check_Period=Check Perio&d: + CTL_Ask_Before_Check=Ask &Before Check: + CTL_Auto_Update=Auto Update + Use_Folding=&Use Code Folding + Fold_Methods=Fold &Methods + Fold_Classes=Fol&d Inner Classes + Fold_Imports=Fold Import&s + Fold_JavaDoc=Fold &Javadoc Comments + Fold_Licence=F&old Initial Comment + Auto_Popup=Auto Popup: + Auto_Popup_Completion=Completion Window + Auto_Popup_JavaDoc=Javadoc Window + CTL_Update_every_startup=Every Startup + CTL_Update_every_day=Every Day + CTL_Update_every_week=Every Week + CTL_Update_every_2weeks=Every Two Weeks + CTL_Update_every_month=Every Month + CTL_Update_never=Never + CTL_Default_System_Browser=Default System Browser + CTL_Internet_Explorer=Internet Explorer + CTL_Firefox=Firefox + CTL_Mozilla=Mozilla + CTL_Swing_HTML_Browser=Internal Browser + + + + + AN_NonProxy=No Proxy For + + AD_NonProxy=No Proxy For + + CTL_Non_Proxy=No Prox&y For\: + + Non_Proxy_Hint=(e.g. localhost, *.netbeans.org, *.mydomain.com) + LBL_GeneralOptionsPanel_bMoreProxy=M&ore... + + LBL_GeneralOptionsPanel_lWebProxy=Proxy Settings\: + + HTTP\ Proxy\:=LBL_AdvancedProxyPanel_lHttpProxyHost + LBL_AdvancedProxyPanel_lHttpProxyHost=HTTP &Proxy\: + + LBL_AdvancedProxyPanel_lNonProxyHostsDescription=(e.g. localhost, *.netbeans.org, 127.0.0.1) + + LBL_AdvancedProxyPanel_lHttpProxyPort=P&ort\: + + LBL_AdvancedProxyPanel_lHttpsProxyPort=Po&rt\: + + LBL_AdvancedProxyPanel_lSocksPort=Por&t\: + LBL_AdvancedProxyPanel_lHttpsProxyHots=&HTTPS Proxy\: + + LBL_AdvancedProxyPanel_lSocksHost=&SOCKS Proxy\: + LBL_AdvancedProxyPanel_lNonProxyHosts=No Pro&xy Hosts\: + LBL_AdvancedProxyPanel_cbUseProxyAuthentication=Proxy Re&quires Authentication + + LBL_AdvancedProxyPanel_lUserName=&Username\: + + LBL_AdvancedProxyPanel_lUserPassword=Pass&word\: + LBL_AdvancedProxyPanel_cbSameProxySettings=Use the same proxy settings for &all protocols + + LBL_AdvancedProxyPanel_Title=Advanced Proxy Options + + GeneralOptionsPanel.rbUseSystemProxy.text=Use System Proxy Settings + + GeneralOptionsPanel.lWebBrowser.text=Web Browser\: + + GeneralOptionsPanel.rbNoProxy.text=No Proxy + + ACD_AdvancedProxyPanel_cbSameProxySettings=N/A + + ACD_AdvancedProxyPanel_cbUseProxyAuthentication=N/A + + ACD_AdvancedProxyPanel_tfHttpProxyHost=N/A + + ACD_AdvancedProxyPanel_tfHttpsProxyHost=N/A + + ACD_AdvancedProxyPanel_tfSocksHost=N/A + + ACD_AdvancedProxyPanel_tfNonProxyHosts=N/A + + ACD_AdvancedProxyPanel_tfHttpProxyPort=N/A + + ACD_AdvancedProxyPanel_tfHttpsProxyPort=N/A + + ACD_AdvancedProxyPanel_tfSocksPort=N/A + + ACD_AdvancedProxyPanel_tfUserName=N/A + + ACD_AdvancedProxyPanel_pfUserPassword=N/A + + ACD_AdvancedProxyPanel=N/A + + LBL_WebBrowsersPanel_Title=Web Browsers + LBL_ExternalBrowser_Name=External Browser + WebBrowsersPanel.nameLabel.text=Name\: + WebBrowsersPanel.executableLabel.text=Executable\: + WebBrowsersPanel.parametersLabel.text=Parameters\: + WebBrowsersPanel.browseButton.text=Browse... + WebBrowsersPanel.nameTextField.text= + WebBrowsersPanel.executableTextField.text= + WebBrowsersPanel.parametersTextField.text= + WebBrowsersPanel.addButton.text=Add... + WebBrowsersPanel.removeButton.text=Remove + WebBrowsersPanel.browsersLabel.text=Web Browsers\: + GeneralOptionsPanel.editBrowserButton.text=Edit... + WebBrowsers_URL_Hint=Hint\: {URL} \= URL of the page to be loaded by the web browser + + ACS_WebBrowsersList=List of available web browsers + ACS_AddWebBrowserButton=Add new web browser + ACS_RemoveWebBrowserButton=Remove selected web browser + ACS_BrowserNameField=Web browser name + ACS_BrowserExecutableField=Web browser executable + ACS_BrowserParametersField=Web browser executable parameters + ACS_BrowseExecutableButton=Browse web browser executable + + WebBrowsersOptionsPanel.browsersLabel.text=Web Browsers\: + + WebBrowsersOptionsPanel.addButton.text=Add... + + WebBrowsersOptionsPanel.removeButton.text=Remove + + WebBrowsersOptionsPanel.nameLabel.text=Name\: + + WebBrowsersOptionsPanel.nameTextField.text= + + WebBrowsersOptionsPanel.browsersLabel.AccessibleContext.accessibleDescription=Web Browsers + + WebBrowsersOptionsPanel.browsersList.AccessibleContext.accessibleName=Browsers list + + WebBrowsersOptionsPanel.browsersList.AccessibleContext.accessibleDescription=List of Web Browsers + + WebBrowsersOptionsPanel.addButton.AccessibleContext.accessibleDescription=Add button + + WebBrowsersOptionsPanel.removeButton.AccessibleContext.accessibleDescription=Remove button + + WebBrowsersOptionsPanel.nameLabel.AccessibleContext.accessibleDescription=Browser name + + WebBrowsersOptionsPanel.nameTextField.AccessibleContext.accessibleName=Browser name + + WebBrowsersOptionsPanel.nameTextField.AccessibleContext.accessibleDescription=Browser name Index: core/ui/src/org/netbeans/core/ui/options/general/GeneralOptions.java *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptions.java No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptions.java Locally New *************** *** 1,0 **** --- 1,70 ---- + /* + * The contents of this file are subject to the terms of the Common Development + * and Distribution License (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the License at http://www.netbeans.org/cddl.html + * or http://www.netbeans.org/cddl.txt. + * + * When distributing Covered Code, include this CDDL Header Notice in each file + * and include the License file at http://www.netbeans.org/cddl.txt. + * If applicable, add the following below the CDDL Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * The Original Software is NetBeans. The Initial Developer of the Original + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + * Microsystems, Inc. All Rights Reserved. + */ + + package org.netbeans.core.ui.options.general; + + import javax.swing.Icon; + import javax.swing.ImageIcon; + import org.netbeans.spi.options.OptionsCategory; + import org.netbeans.spi.options.OptionsPanelController; + import org.openide.util.NbBundle; + import org.openide.util.Utilities; + + + /** + * Contains information about General Options Panel, and creates a new + * instance of it. + * + * @author Jan Jancura + */ + + public final class GeneralOptions extends OptionsCategory { + + private static String loc (String key) { + return NbBundle.getMessage (GeneralOptionsPanel.class, key); + } + + + private static Icon icon; + + public Icon getIcon () { + if (icon == null) + icon = new ImageIcon ( + Utilities.loadImage + ("org/netbeans/modules/options/resources/generalOptions.png") + ); + return icon; + } + + public String getCategoryName () { + return loc ("CTL_General_Options"); + } + + public String getTitle () { + return loc ("CTL_General_Options_Title"); + } + + public String getDescription () { + return loc ("CTL_General_Options_Description"); + } + + public OptionsPanelController create () { + return new GeneralOptionsPanelController (); + } + } Index: core/ui/src/org/netbeans/core/ui/options/general/GeneralOptionsModel.java *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsModel.java No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsModel.java Locally New *************** *** 1,0 **** --- 1,173 ---- + /* + * The contents of this file are subject to the terms of the Common Development + * and Distribution License (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the License at http://www.netbeans.org/cddl.html + * or http://www.netbeans.org/cddl.txt. + * + * When distributing Covered Code, include this CDDL Header Notice in each file + * and include the License file at http://www.netbeans.org/cddl.txt. + * If applicable, add the following below the CDDL Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * The Original Software is NetBeans. The Initial Developer of the Original + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + * Microsystems, Inc. All Rights Reserved. + */ + + package org.netbeans.core.ui.options.general; + + import java.util.prefs.Preferences; + import org.netbeans.core.ProxySettings; + import org.openide.util.NbPreferences; + + class GeneralOptionsModel { + + + private static Preferences getProxyPreferences () { + return NbPreferences.root ().node ("org/netbeans/core"); + } + + int getProxyType () { + return getProxyPreferences ().getInt (ProxySettings.PROXY_TYPE, ProxySettings.AUTO_DETECT_PROXY); + } + + void setProxyType (int proxyType) { + if (proxyType != getProxyType ()) { + getProxyPreferences ().putInt (ProxySettings.PROXY_TYPE, proxyType); + } + } + + String getHttpProxyHost () { + return ProxySettings.getHttpHost (); + } + + void setHttpProxyHost (String proxyHost) { + if (!proxyHost.equals(getHttpProxyHost ())) { + getProxyPreferences ().put (ProxySettings.PROXY_HTTP_HOST, proxyHost); + } + } + + String getHttpProxyPort () { + return ProxySettings.getHttpPort (); + } + + void setHttpProxyPort (String proxyPort) { + if (proxyPort != getHttpProxyPort()) { + getProxyPreferences().put(ProxySettings.PROXY_HTTP_PORT, validatePort (proxyPort) ? proxyPort : ""); + } + } + + String getHttpsProxyHost () { + return ProxySettings.getHttpsHost (); + } + + void setHttpsProxyHost (String proxyHost) { + if (!proxyHost.equals(getHttpsProxyHost ())) { + getProxyPreferences ().put (ProxySettings.PROXY_HTTPS_HOST, proxyHost); + } + } + + String getHttpsProxyPort () { + return ProxySettings.getHttpsPort (); + } + + void setHttpsProxyPort (String proxyPort) { + if (proxyPort != getHttpsProxyPort()) { + getProxyPreferences().put(ProxySettings.PROXY_HTTPS_PORT, validatePort (proxyPort) ? proxyPort : ""); + } + } + + String getSocksHost () { + return ProxySettings.getSocksHost (); + } + + void setSocksHost (String socksHost) { + if (socksHost != getSocksHost()) { + getProxyPreferences ().put (ProxySettings.PROXY_SOCKS_HOST, socksHost); + } + } + + String getSocksPort () { + return ProxySettings.getSocksPort (); + } + + void setSocksPort (String socksPort) { + if (socksPort != getSocksPort()) { + getProxyPreferences ().put (ProxySettings.PROXY_SOCKS_PORT, validatePort (socksPort) ? socksPort : ""); + } + } + + String getNonProxyHosts () { + return code2view (ProxySettings.getNonProxyHosts ()); + } + + void setNonProxyHosts (String nonProxy) { + if (!nonProxy.equals(getNonProxyHosts())) { + getProxyPreferences ().put (ProxySettings.NOT_PROXY_HOSTS, view2code (nonProxy)); + } + } + + boolean useProxyAuthentication () { + return ProxySettings.useAuthentication (); + } + + void setUseProxyAuthentication (boolean use) { + if (use != useProxyAuthentication()) { + getProxyPreferences ().putBoolean (ProxySettings.USE_PROXY_AUTHENTICATION, use); + } + } + + boolean useProxyAllProtocols () { + return ProxySettings.useProxyAllProtocols (); + } + + void setUseProxyAllProtocols (boolean use) { + if (use != useProxyAllProtocols ()) { + getProxyPreferences ().putBoolean (ProxySettings.USE_PROXY_ALL_PROTOCOLS, use); + } + } + + String getProxyAuthenticationUsername () { + return ProxySettings.getAuthenticationUsername (); + } + + //TODO: not used yet - store valu just in case if modified + void setAuthenticationUsername (String username) { + getProxyPreferences ().put (ProxySettings.PROXY_AUTHENTICATION_USERNAME, username); + } + + char [] getProxyAuthenticationPassword () { + return ProxySettings.getAuthenticationPassword (); + } + + //TODO: not used yet - store valu just in case if modified + void setAuthenticationPassword(char [] password) { + getProxyPreferences().put(ProxySettings.PROXY_AUTHENTICATION_PASSWORD, new String(password)); + } + + // private helper methods .................................................. + + private static boolean validatePort (String port) { + if (port.trim ().length () == 0) return true; + + boolean ok = false; + try { + Integer.parseInt (port); + ok = true; + } catch (NumberFormatException nfe) { + assert false : nfe; + } + return ok; + } + + private static String code2view (String code) { + return code == null ? code : code.replace ("|", ", "); + } + + private static String view2code (String view) { + return view == null ? view : view.replace (", ", "|"); + } + } Index: core/ui/src/org/netbeans/core/ui/options/general/GeneralOptionsPanel.form *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsPanel.form No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsPanel.form Locally New *************** *** 1,0 **** --- 1,211 ---- + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index: core/ui/src/org/netbeans/core/ui/options/general/GeneralOptionsPanel.java *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsPanel.java No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsPanel.java Locally New *************** *** 1,0 **** --- 1,414 ---- + /* + * The contents of this file are subject to the terms of the Common Development + * and Distribution License (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the License at http://www.netbeans.org/cddl.html + * or http://www.netbeans.org/cddl.txt. + * + * When distributing Covered Code, include this CDDL Header Notice in each file + * and include the License file at http://www.netbeans.org/cddl.txt. + * If applicable, add the following below the CDDL Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * The Original Software is NetBeans. The Initial Developer of the Original + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + * Microsystems, Inc. All Rights Reserved. + */ + + package org.netbeans.core.ui.options.general; + + import java.awt.Component; + import java.awt.event.ActionEvent; + import java.awt.event.ActionListener; + import javax.swing.AbstractButton; + import javax.swing.ButtonGroup; + import javax.swing.JLabel; + import javax.swing.JPanel; + import org.netbeans.beaninfo.editors.HtmlBrowser; + import org.openide.DialogDescriptor; + import org.openide.DialogDisplayer; + import org.openide.awt.Mnemonics; + import org.openide.util.Lookup; + import org.openide.util.NbBundle; + + /** + * Implementation of one panel in Options Dialog. + * + * @author Jan Jancura + */ + public class GeneralOptionsPanel extends JPanel implements ActionListener { + + private boolean changed = false; + private GeneralOptionsModel model; + private HtmlBrowser.FactoryEditor editor; + private AdvancedProxyPanel advancedPanel; + + + /** + * Creates new form GeneralOptionsPanel. + */ + public GeneralOptionsPanel () { + initComponents (); + + loc (lWebBrowser, "Web_Browser"); + loc (lWebProxy, "Web_Proxy"); + loc (lProxyHost, "Proxy_Host"); + loc (lProxyPort, "Proxy_Port"); + + + cbWebBrowser.getAccessibleContext ().setAccessibleName (loc ("AN_Web_Browser")); + cbWebBrowser.getAccessibleContext ().setAccessibleDescription (loc ("AD_Web_Browser")); + tfProxyHost.getAccessibleContext ().setAccessibleName (loc ("AN_Host")); + tfProxyHost.getAccessibleContext ().setAccessibleDescription (loc ("AD_Host")); + tfProxyPort.getAccessibleContext ().setAccessibleName (loc ("AN_Port")); + tfProxyPort.getAccessibleContext ().setAccessibleDescription (loc ("AD_Port")); + rbNoProxy.addActionListener (this); + rbUseSystemProxy.addActionListener (this); + rbHTTPProxy.addActionListener (this); + cbWebBrowser.addActionListener (this); + tfProxyHost.addActionListener (this); + tfProxyPort.addActionListener (this); + + ButtonGroup bgProxy = new ButtonGroup (); + bgProxy.add (rbNoProxy); + bgProxy.add (rbUseSystemProxy); + bgProxy.add (rbHTTPProxy); + loc (rbNoProxy, "No_Proxy"); + loc (rbUseSystemProxy, "Use_System_Proxy_Settings"); + loc (rbHTTPProxy, "Use_HTTP_Proxy"); + + // if system proxy setting is not detectable, disable this radio + // button + if (System.getProperty("netbeans.system_http_proxy") == null) // NOI18N + rbUseSystemProxy.setEnabled(false); + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + + lWebBrowser = new javax.swing.JLabel(); + cbWebBrowser = new javax.swing.JComboBox(); + jSeparator2 = new javax.swing.JSeparator(); + lWebProxy = new javax.swing.JLabel(); + rbNoProxy = new javax.swing.JRadioButton(); + rbUseSystemProxy = new javax.swing.JRadioButton(); + rbHTTPProxy = new javax.swing.JRadioButton(); + lProxyHost = new javax.swing.JLabel(); + tfProxyHost = new javax.swing.JTextField(); + lProxyPort = new javax.swing.JLabel(); + tfProxyPort = new javax.swing.JTextField(); + bMoreProxy = new javax.swing.JButton(); + editBrowserButton = new javax.swing.JButton(); + + lWebBrowser.setLabelFor(cbWebBrowser); + org.openide.awt.Mnemonics.setLocalizedText(lWebBrowser, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.lWebBrowser.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(lWebProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "LBL_GeneralOptionsPanel_lWebProxy")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(rbNoProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.rbNoProxy.text")); // NOI18N + rbNoProxy.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + + org.openide.awt.Mnemonics.setLocalizedText(rbUseSystemProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.rbUseSystemProxy.text")); // NOI18N + rbUseSystemProxy.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + + org.openide.awt.Mnemonics.setLocalizedText(rbHTTPProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "CTL_Use_HTTP_Proxy", new Object[] {})); // NOI18N + rbHTTPProxy.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + + lProxyHost.setLabelFor(tfProxyHost); + org.openide.awt.Mnemonics.setLocalizedText(lProxyHost, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "CTL_Proxy_Host", new Object[] {})); // NOI18N + + tfProxyHost.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + tfProxyHostFocusGained(evt); + } + public void focusLost(java.awt.event.FocusEvent evt) { + tfProxyHostFocusLost(evt); + } + }); + + lProxyPort.setLabelFor(tfProxyPort); + org.openide.awt.Mnemonics.setLocalizedText(lProxyPort, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "CTL_Proxy_Port", new Object[] {})); // NOI18N + + tfProxyPort.setColumns(4); + tfProxyPort.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + tfProxyPortFocusGained(evt); + } + public void focusLost(java.awt.event.FocusEvent evt) { + tfProxyPortFocusLost(evt); + } + }); + + org.openide.awt.Mnemonics.setLocalizedText(bMoreProxy, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "LBL_GeneralOptionsPanel_bMoreProxy")); // NOI18N + bMoreProxy.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + bMoreProxyActionPerformed(evt); + } + }); + + org.openide.awt.Mnemonics.setLocalizedText(editBrowserButton, org.openide.util.NbBundle.getMessage(GeneralOptionsPanel.class, "GeneralOptionsPanel.editBrowserButton.text")); // NOI18N + editBrowserButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + editBrowserButtonActionPerformed(evt); + } + }); + + org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup() + .add(lWebBrowser) + .add(18, 18, 18) + .add(cbWebBrowser, 0, 562, Short.MAX_VALUE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(editBrowserButton)) + .add(jSeparator2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 717, Short.MAX_VALUE) + .add(layout.createSequentialGroup() + .add(lWebProxy) + .add(18, 18, 18) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(rbNoProxy) + .add(rbUseSystemProxy) + .add(rbHTTPProxy) + .add(layout.createSequentialGroup() + .add(17, 17, 17) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(bMoreProxy) + .add(layout.createSequentialGroup() + .add(lProxyHost) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) + .add(tfProxyHost, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 454, Short.MAX_VALUE) + .add(12, 12, 12) + .add(lProxyPort) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) + .add(tfProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lWebBrowser) + .add(cbWebBrowser, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(editBrowserButton)) + .add(18, 18, 18) + .add(jSeparator2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(rbNoProxy) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(rbUseSystemProxy) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(rbHTTPProxy)) + .add(lWebProxy)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lProxyHost) + .add(tfProxyPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(tfProxyHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lProxyPort)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(bMoreProxy) + .addContainerGap(161, Short.MAX_VALUE)) + ); + }// //GEN-END:initComponents + + private void editBrowserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editBrowserButtonActionPerformed + WebBrowsersOptionsModel wbModel = new WebBrowsersOptionsModel(); + WebBrowsersOptionsPanel wbPanel = new WebBrowsersOptionsPanel(wbModel); + DialogDescriptor dialogDesc = new DialogDescriptor (wbPanel, loc("LBL_WebBrowsersPanel_Title")); + DialogDisplayer.getDefault().createDialog(dialogDesc).setVisible(true); + if (dialogDesc.getValue().equals(DialogDescriptor.OK_OPTION)) { + wbModel.applyChanges(); + updateWebBrowsers(); + for (int i = 0, items = cbWebBrowser.getItemCount(); i < items; i++) { + Object item = cbWebBrowser.getItemAt(i); + if (item.equals(wbModel.getSelectedValue())) { + cbWebBrowser.setSelectedItem(item); + break; + } + } + } else { + wbModel.discardChanges(); + } + }//GEN-LAST:event_editBrowserButtonActionPerformed + + private void bMoreProxyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bMoreProxyActionPerformed + assert model != null : "Model found when AdvancedProxyPanel is created"; + if (advancedPanel == null) { + advancedPanel = new AdvancedProxyPanel (model); + } + DialogDescriptor dd = new DialogDescriptor (advancedPanel, loc ("LBL_AdvancedProxyPanel_Title")); + advancedPanel.update (tfProxyHost.getText (), tfProxyPort.getText ()); + DialogDisplayer.getDefault ().createDialog (dd).setVisible (true); + if (DialogDescriptor.OK_OPTION.equals (dd.getValue ())) { + advancedPanel.applyChanges (); + tfProxyHost.setText (model.getHttpProxyHost ()); + tfProxyPort.setText (model.getHttpProxyPort ()); + isChanged (); + } + }//GEN-LAST:event_bMoreProxyActionPerformed + + private void tfProxyPortFocusLost (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyPortFocusLost + tfProxyPort.select (0, 0); + }//GEN-LAST:event_tfProxyPortFocusLost + + private void tfProxyHostFocusLost (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyHostFocusLost + tfProxyHost.select (0, 0); + }//GEN-LAST:event_tfProxyHostFocusLost + + private void tfProxyPortFocusGained (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyPortFocusGained + tfProxyPort.setCaretPosition (0); + tfProxyPort.selectAll (); + }//GEN-LAST:event_tfProxyPortFocusGained + + private void tfProxyHostFocusGained (java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfProxyHostFocusGained + tfProxyHost.setCaretPosition (0); + tfProxyHost.selectAll (); + }//GEN-LAST:event_tfProxyHostFocusGained + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton bMoreProxy; + private javax.swing.JComboBox cbWebBrowser; + private javax.swing.JButton editBrowserButton; + private javax.swing.JSeparator jSeparator2; + private javax.swing.JLabel lProxyHost; + private javax.swing.JLabel lProxyPort; + private javax.swing.JLabel lWebBrowser; + private javax.swing.JLabel lWebProxy; + private javax.swing.JRadioButton rbHTTPProxy; + private javax.swing.JRadioButton rbNoProxy; + private javax.swing.JRadioButton rbUseSystemProxy; + private javax.swing.JTextField tfProxyHost; + private javax.swing.JTextField tfProxyPort; + // End of variables declaration//GEN-END:variables + + + private static String loc (String key) { + return NbBundle.getMessage (GeneralOptionsPanel.class, key); + } + + private static void loc (Component c, String key) { + if (!(c instanceof JLabel)) { + c.getAccessibleContext ().setAccessibleName (loc ("AN_" + key)); + c.getAccessibleContext ().setAccessibleDescription (loc ("AD_" + key)); + } + if (c instanceof AbstractButton) { + Mnemonics.setLocalizedText ( + (AbstractButton) c, + loc ("CTL_" + key) + ); + } else { + Mnemonics.setLocalizedText ( + (JLabel) c, + loc ("CTL_" + key) + ); + } + } + + void update () { + model = new GeneralOptionsModel (); + + // proxy settings + switch (model.getProxyType ()) { + case 0: + rbNoProxy.setSelected (true); + tfProxyHost.setEnabled (false); + tfProxyPort.setEnabled (false); + bMoreProxy.setEnabled (false); + break; + case 1: + rbUseSystemProxy.setSelected (true); + tfProxyHost.setEnabled (false); + tfProxyPort.setEnabled (false); + bMoreProxy.setEnabled (false); + break; + default: + rbHTTPProxy.setSelected (true); + tfProxyHost.setEnabled (true); + tfProxyPort.setEnabled (true); + bMoreProxy.setEnabled (true); + break; + } + tfProxyHost.setText (model.getHttpProxyHost ()); + tfProxyPort.setText (model.getHttpProxyPort ()); + + updateWebBrowsers(); + + changed = false; + } + + private void updateWebBrowsers() { + if (editor == null) { + editor = Lookup.getDefault().lookup(HtmlBrowser.FactoryEditor.class); + } + cbWebBrowser.removeAllItems (); + String[] tags = editor.getTags (); + int i, k = tags.length; + for (i = 0; i < k; i++) { + cbWebBrowser.addItem (tags [i]); + } + cbWebBrowser.setSelectedItem (editor.getAsText ()); + } + + void applyChanges () { + // listening on JTextFields dont work! + // if (!changed) return; + + if (model == null) return; + + // proxy settings + if (rbNoProxy.isSelected ()) { + model.setProxyType (0); + } else + if (rbUseSystemProxy.isSelected ()) { + model.setProxyType (1); + } else { + model.setProxyType (2); + } + + model.setHttpProxyHost (tfProxyHost.getText ()); + model.setHttpProxyPort (tfProxyPort.getText ()); + + // web browser settings + if (editor == null) { + editor = Lookup.getDefault().lookup(HtmlBrowser.FactoryEditor.class); + } + editor.setAsText ((String) cbWebBrowser.getSelectedItem ()); + } + + void cancel () { + } + + boolean dataValid () { + return true; + } + + boolean isChanged () { + if (model == null) return false; + if (!tfProxyHost.getText ().equals (model.getHttpProxyHost ())) return true; + if (!tfProxyPort.getText ().equals (model.getHttpProxyPort ())) return true; + return changed; + } + + public void actionPerformed (ActionEvent e) { + changed = true; + tfProxyHost.setEnabled (rbHTTPProxy.isSelected ()); + tfProxyPort.setEnabled (rbHTTPProxy.isSelected ()); + bMoreProxy.setEnabled (rbHTTPProxy.isSelected ()); + } + } Index: core/ui/src/org/netbeans/core/ui/options/general/GeneralOptionsPanelController.java *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsPanelController.java No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\GeneralOptionsPanelController.java Locally New *************** *** 1,0 **** --- 1,81 ---- + /* + * The contents of this file are subject to the terms of the Common Development + * and Distribution License (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the License at http://www.netbeans.org/cddl.html + * or http://www.netbeans.org/cddl.txt. + * + * When distributing Covered Code, include this CDDL Header Notice in each file + * and include the License file at http://www.netbeans.org/cddl.txt. + * If applicable, add the following below the CDDL Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * The Original Software is NetBeans. The Initial Developer of the Original + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + * Microsystems, Inc. All Rights Reserved. + */ + + package org.netbeans.core.ui.options.general; + + import java.beans.PropertyChangeListener; + import javax.swing.JComponent; + import org.netbeans.spi.options.OptionsPanelController; + import org.openide.util.HelpCtx; + import org.openide.util.Lookup; + + + /** + * Implementation of one panel in Options Dialog. + * + * @author Jan Jancura + */ + public final class GeneralOptionsPanelController extends OptionsPanelController { + + + public void update () { + getGeneralOptionsPanel ().update (); + } + + public void applyChanges () { + getGeneralOptionsPanel ().applyChanges (); + } + + public void cancel () { + getGeneralOptionsPanel ().cancel (); + } + + public boolean isValid () { + return getGeneralOptionsPanel ().dataValid (); + } + + public boolean isChanged () { + return getGeneralOptionsPanel ().isChanged (); + } + + public HelpCtx getHelpCtx () { + return new HelpCtx ("netbeans.optionsDialog.general"); + } + + public JComponent getComponent (Lookup masterLookup) { + return getGeneralOptionsPanel (); + } + + public void addPropertyChangeListener (PropertyChangeListener l) { + getGeneralOptionsPanel ().addPropertyChangeListener (l); + } + + public void removePropertyChangeListener (PropertyChangeListener l) { + getGeneralOptionsPanel ().removePropertyChangeListener (l); + } + + + private GeneralOptionsPanel generalOptionsPanel; + + private GeneralOptionsPanel getGeneralOptionsPanel () { + if (generalOptionsPanel == null) + generalOptionsPanel = new GeneralOptionsPanel (); + return generalOptionsPanel; + } + } Index: core/ui/src/org/netbeans/core/ui/options/general/WebBrowsersOptionsModel.java *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\WebBrowsersOptionsModel.java No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\WebBrowsersOptionsModel.java Locally New *************** *** 1,0 **** --- 1,358 ---- + /* + * The contents of this file are subject to the terms of the Common Development + * and Distribution License (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the License at http://www.netbeans.org/cddl.html + * or http://www.netbeans.org/cddl.txt. + * + * When distributing Covered Code, include this CDDL Header Notice in each file + * and include the License file at http://www.netbeans.org/cddl.txt. + * If applicable, add the following below the CDDL Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Portions Copyrighted 2007 Sun Microsystems, Inc. + */ + + package org.netbeans.core.ui.options.general; + + import java.beans.Introspector; + import java.beans.PropertyDescriptor; + import java.io.IOException; + import java.util.ArrayList; + import java.util.Collection; + import java.util.List; + import java.util.Map; + import java.util.TreeMap; + import javax.swing.DefaultListModel; + import org.openide.cookies.InstanceCookie; + import org.openide.explorer.propertysheet.PropertyPanel; + import org.openide.filesystems.FileObject; + import org.openide.filesystems.Repository; + import org.openide.loaders.DataFolder; + import org.openide.loaders.DataObject; + import org.openide.util.Exceptions; + import org.openide.util.NbBundle; + + /** + * Model for web browsers options panel accessible from General options panel + * + * @author Milan Kubec + */ + public class WebBrowsersOptionsModel extends DefaultListModel { + + private static final String BROWSERS_FOLDER = "Services/Browsers"; // NOI18N + private static final String BROWSER_TEMPLATE = "Templates/Services/Browsers/ExtWebBrowser.settings"; // NOI18N + + private static final String EA_HIDDEN = "hidden"; // NOI18N + + private enum ChangeStatus { NONE, REMOVED, ADDED } + + private List browsersList = new ArrayList(); + private Map index2desc = new TreeMap(); + + private boolean isAdjusting = false; + private Object selectedValue = null; + + public WebBrowsersOptionsModel() { + + FileObject servicesBrowsers = Repository.getDefault().getDefaultFileSystem().findResource(BROWSERS_FOLDER); + + if (servicesBrowsers != null) { + + DataFolder folder = DataFolder.findFolder(servicesBrowsers); + DataObject[] browserSettings = folder.getChildren(); + + for (DataObject browserSetting : browserSettings) { + + InstanceCookie cookie = browserSetting.getCookie(InstanceCookie.class); + FileObject primaryFile = browserSetting.getPrimaryFile(); + + if (cookie != null && !Boolean.TRUE.equals(primaryFile.getAttribute(EA_HIDDEN))) { + WebBrowserDesc browserDesc = new WebBrowserDesc(browserSetting); + browsersList.add(browserDesc); + } + + } + + } + + int index = 0; + for (WebBrowserDesc desc : browsersList) { + addElement(desc.getOrigName()); + index2desc.put(index++, desc); + } + + } + + public void addBrowser() { + WebBrowserDesc desc = new WebBrowserDesc(); + desc.setChangeStatus(ChangeStatus.ADDED); + browsersList.add(desc); + adjustListItems(); + } + + public void removeBrowser(int idx) { + index2desc.get(idx).setChangeStatus(ChangeStatus.REMOVED); + adjustListItems(); + } + + private void adjustListItems() { + isAdjusting = true; + removeAllElements(); + index2desc.clear(); + int index = 0; + for (WebBrowserDesc desc : browsersList) { + if (!desc.getChangeStatus().equals(ChangeStatus.REMOVED)) { + String newName = desc.getNewName(); + if (newName != null) { + addElement(newName); + } else { + addElement(desc.getOrigName()); + } + index2desc.put(index++, desc); + } + } + isAdjusting = false; + } + + public boolean isAdjusting() { + return isAdjusting; + } + + public void updateList() { + adjustListItems(); + } + + public PropertyPanel getPropertyPanel(int index) { + return index2desc.get(index).getPropertyPanel(); + } + + public String getPropertyPanelID(int index) { + return index2desc.get(index).getPropertyPanelID(); + } + + public String getBrowserName(int index) { + String retVal = null; + String newName = index2desc.get(index).getNewName(); + if (newName != null) { + retVal = newName; + } else { + retVal = index2desc.get(index).getOrigName(); + } + return retVal; + } + + public void setBrowserName(int index, String name) { + index2desc.get(index).setNewName(name); + } + + public void setSelectedValue(Object obj) { + selectedValue = obj; + } + + public Object getSelectedValue() { + return selectedValue; + } + + public void applyChanges() { + // call applyChanges on all web browser desc + for (WebBrowserDesc desc : browsersList) { + desc.applyChanges(); + } + } + + public void discardChanges() { + // discard already created setting objects + for (WebBrowserDesc desc : browsersList) { + desc.discardChanges(); + } + } + + @SuppressWarnings("unchecked") + public List getPropertyPanels() { + List list = new ArrayList(); + Collection col = index2desc.values(); + for (WebBrowserDesc wbd : col) { + list.add(new PropertyPanelDesc(wbd.getPropertyPanel(), wbd.getPropertyPanelID())); + } + return list; + } + + public static class PropertyPanelDesc { + public PropertyPanel panel; + public String id; + public PropertyPanelDesc(PropertyPanel pp, String s) { + panel = pp; + id = s; + } + } + + // ------------------------------------------------------------------------- + + private static class WebBrowserDesc { + + private String origName = null; + private String newName = null; + + private ChangeStatus changeStatus = ChangeStatus.NONE; + + private DataObject browserSettings; + + private PropertyPanel propertyPanel = null; + private String propertyPanelID; + + private static int propertyPanelIDCounter = 0; + + public WebBrowserDesc() { + newName = NbBundle.getBundle(WebBrowsersModel.class).getString("LBL_ExternalBrowser_Name"); + browserSettings = createNewBrowserSettings(newName); + findPropertyPanel(); + } + + public WebBrowserDesc(DataObject brSettings) { + browserSettings = brSettings; + origName = browserSettings.getNodeDelegate().getDisplayName(); + findPropertyPanel(); + } + + private void findPropertyPanel() { + + try { + + InstanceCookie cookie = browserSettings.getCookie(InstanceCookie.class); + PropertyDescriptor[] propDesc = Introspector.getBeanInfo(cookie.instanceClass()).getPropertyDescriptors(); + + for (PropertyDescriptor pd : propDesc ) { + + if (pd.isPreferred() && !pd.isExpert() && !pd.isHidden()) { + propertyPanel = new WebBrowsersPropertyPanel(cookie.instanceCreate(), + pd.getName(), PropertyPanel.PREF_CUSTOM_EDITOR); + propertyPanelID = "PROPERTY_PANEL_" + propertyPanelIDCounter++; + break; + } + + } + + } catch (Exception ex) { + Exceptions.printStackTrace(ex); + } + + } + + public PropertyPanel getPropertyPanel() { + return propertyPanel; + } + + public String getPropertyPanelID() { + return propertyPanelID; + } + + public String getOrigName() { + return origName; + } + + public String getNewName() { + return newName; + } + + public void setNewName(String name) { + newName = name; + } + + public void setChangeStatus(ChangeStatus stat) { + changeStatus = stat; + } + + public ChangeStatus getChangeStatus() { + return changeStatus; + } + + public void applyChanges() { + + // save changed values + propertyPanel.updateValue(); + + // delete settings from disk for removed browsers + if (getChangeStatus() == ChangeStatus.REMOVED) { + if (browserSettings != null) { + try { + browserSettings.delete(); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } + } + + // update name of the browser + if (newName != null && !newName.equals(origName)) { + try { + browserSettings.rename(newName); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } + + } + + // Called if user cancels the customizer dialog + // newly created settings must be deleted + public void discardChanges() { + + ChangeStatus status = getChangeStatus(); + + if (status == ChangeStatus.ADDED) { + + if (browserSettings != null) { + try { + browserSettings.delete(); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } + + } + + } + + private DataObject createNewBrowserSettings(String name) { + + DataObject createdSettings = null; + + try { + + FileObject extWebBrowserTemplate = Repository.getDefault().getDefaultFileSystem().findResource(BROWSER_TEMPLATE); + FileObject browsersFolderFO = Repository.getDefault().getDefaultFileSystem().findResource(BROWSERS_FOLDER); + + if (extWebBrowserTemplate == null) { + return null; + } + + DataObject templateDO = DataObject.find(extWebBrowserTemplate); + DataFolder browsersFolderDF = DataFolder.findFolder(browsersFolderFO); + createdSettings = templateDO.createFromTemplate(browsersFolderDF, name); + + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + + return createdSettings; + } + + } + + private static class WebBrowsersPropertyPanel extends PropertyPanel { + + private WebBrowsersPropertyPanel(Object obj, String nm, int pref) { + super(obj, nm, pref); + } + + @Override + public void removeNotify() { + // disabled super.removeNotify() to be able to call updateValue to save changed value + } + + } + + } Index: core/ui/src/org/netbeans/core/ui/options/general/WebBrowsersOptionsPanel.form *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\WebBrowsersOptionsPanel.form No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\WebBrowsersOptionsPanel.form Locally New *************** *** 1,0 **** --- 1,172 ---- + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index: core/ui/src/org/netbeans/core/ui/options/general/WebBrowsersOptionsPanel.java *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\WebBrowsersOptionsPanel.java No Base Revision --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\options\general\WebBrowsersOptionsPanel.java Locally New *************** *** 1,0 **** --- 1,267 ---- + /* + * The contents of this file are subject to the terms of the Common Development + * and Distribution License (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the License at http://www.netbeans.org/cddl.html + * or http://www.netbeans.org/cddl.txt. + * + * When distributing Covered Code, include this CDDL Header Notice in each file + * and include the License file at http://www.netbeans.org/cddl.txt. + * If applicable, add the following below the CDDL Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Portions Copyrighted 2007 Sun Microsystems, Inc. + */ + + package org.netbeans.core.ui.options.general; + + import java.awt.CardLayout; + import java.util.ArrayList; + import java.util.List; + import javax.swing.JPanel; + import javax.swing.event.DocumentListener; + import javax.swing.event.DocumentEvent; + import javax.swing.event.ListSelectionEvent; + import javax.swing.event.ListSelectionListener; + import javax.swing.text.Document; + import org.netbeans.beaninfo.editors.HtmlBrowser; + import org.netbeans.core.ui.options.general.WebBrowsersOptionsModel.PropertyPanelDesc; + import org.openide.util.Lookup; + + /** + * Panel for customization of web browser preffered property + * + * @author Milan Kubec + */ + public class WebBrowsersOptionsPanel extends JPanel implements ListSelectionListener { + + private WebBrowsersOptionsModel browsersModel; + private DocumentListener fieldDocListener; + + private static List defaultBrowsersNames; + + static { + HtmlBrowser.FactoryEditor editor = Lookup.getDefault().lookup(HtmlBrowser.FactoryEditor.class); + String[] tags = editor.getTags(); + defaultBrowsersNames = new ArrayList(tags.length); + for (String s : tags) { + defaultBrowsersNames.add(s); + } + } + + /** Creates new form WebBrowsersOptionsPanel */ + public WebBrowsersOptionsPanel(WebBrowsersOptionsModel mdl) { + + browsersModel = mdl; + initComponents(); + + List propPanelDescs = browsersModel.getPropertyPanels(); + for (PropertyPanelDesc panelDesc : propPanelDescs) { + customPropertyPanel.add(panelDesc.panel, panelDesc.id); + } + + browsersList.setModel(browsersModel); + browsersList.addListSelectionListener(this); + browsersList.setSelectedIndex(0); + + fieldDocListener = new BrowsersDocListener(); + addListenerToField(); + + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + + browsersLabel = new javax.swing.JLabel(); + jScrollPane1 = new javax.swing.JScrollPane(); + browsersList = new javax.swing.JList(); + addButton = new javax.swing.JButton(); + removeButton = new javax.swing.JButton(); + nameLabel = new javax.swing.JLabel(); + nameTextField = new javax.swing.JTextField(); + customPropertyPanel = new javax.swing.JPanel(); + + browsersLabel.setText(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.browsersLabel.text")); // NOI18N + + jScrollPane1.setViewportView(browsersList); + browsersList.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.browsersList.AccessibleContext.accessibleName")); // NOI18N + browsersList.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.browsersList.AccessibleContext.accessibleDescription")); // NOI18N + + addButton.setText(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.addButton.text")); // NOI18N + addButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addButtonActionPerformed(evt); + } + }); + + removeButton.setText(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.removeButton.text")); // NOI18N + removeButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + removeButtonActionPerformed(evt); + } + }); + + nameLabel.setText(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.nameLabel.text")); // NOI18N + + nameTextField.setText(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.nameTextField.text")); // NOI18N + + customPropertyPanel.setMaximumSize(new java.awt.Dimension(350, 250)); + customPropertyPanel.setPreferredSize(new java.awt.Dimension(300, 200)); + customPropertyPanel.setLayout(new java.awt.CardLayout()); + + org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 170, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(12, 12, 12) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(layout.createSequentialGroup() + .add(nameLabel) + .add(18, 18, 18) + .add(nameTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 299, Short.MAX_VALUE)) + .add(customPropertyPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 348, Short.MAX_VALUE))) + .add(browsersLabel) + .add(layout.createSequentialGroup() + .add(addButton) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(removeButton))) + .addContainerGap()) + ); + + layout.linkSize(new java.awt.Component[] {addButton, removeButton}, org.jdesktop.layout.GroupLayout.HORIZONTAL); + + layout.setVerticalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(browsersLabel) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(nameLabel) + .add(nameTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(18, 18, 18) + .add(customPropertyPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 188, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 259, Short.MAX_VALUE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(addButton) + .add(removeButton)) + .addContainerGap()) + ); + + browsersLabel.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.browsersLabel.AccessibleContext.accessibleDescription")); // NOI18N + addButton.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.addButton.AccessibleContext.accessibleDescription")); // NOI18N + removeButton.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.removeButton.AccessibleContext.accessibleDescription")); // NOI18N + nameLabel.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.nameLabel.AccessibleContext.accessibleDescription")); // NOI18N + nameTextField.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.nameTextField.AccessibleContext.accessibleName")); // NOI18N + nameTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(WebBrowsersOptionsPanel.class, "WebBrowsersOptionsPanel.nameTextField.AccessibleContext.accessibleDescription")); // NOI18N + }// //GEN-END:initComponents + + private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeButtonActionPerformed + + int index = browsersList.getSelectedIndex(); + browsersModel.removeBrowser(index); + if (index > 1) { + browsersList.setSelectedIndex(index - 1); + } else { + browsersList.setSelectedIndex(0); + } + if (browsersModel.getSize() == 0) { + removeButton.setEnabled(false); + removeListenerFromField(); + nameTextField.setText(""); // NOI18N + addListenerToField(); + } + + }//GEN-LAST:event_removeButtonActionPerformed + + private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButtonActionPerformed + + browsersModel.addBrowser(); + int index = browsersModel.getSize() - 1; + customPropertyPanel.add(browsersModel.getPropertyPanel(index), browsersModel.getPropertyPanelID(index)); + browsersList.setSelectedIndex(index); + browsersList.ensureIndexIsVisible(index); + if (browsersModel.getSize() > 0 && removeButton.isEnabled() == false) { + removeButton.setEnabled(true); + } + + }//GEN-LAST:event_addButtonActionPerformed + + public void valueChanged(ListSelectionEvent evt) { + if (evt.getValueIsAdjusting() == false && browsersModel.isAdjusting() == false) { + int index = browsersList.getSelectedIndex(); + String panelID = browsersModel.getPropertyPanelID(index); + ((CardLayout) customPropertyPanel.getLayout()).show(customPropertyPanel, panelID); + nameTextField.setText(browsersModel.getBrowserName(index)); + checkNameTextField(); + browsersModel.setSelectedValue(browsersList.getSelectedValue()); + } + } + + // if any of default browsers is selected then browser name won't be editable + private void checkNameTextField() { + String text = nameTextField.getText(); + if (defaultBrowsersNames.contains(text)) { + nameTextField.setEditable(false); + } else { + nameTextField.setEditable(true); + } + } + + private class BrowsersDocListener implements DocumentListener { + + public void insertUpdate(DocumentEvent e) { + update(e); + } + + public void removeUpdate(DocumentEvent e) { + update(e); + } + + public void changedUpdate(DocumentEvent e) {} + + private void update(DocumentEvent evt) { + int index = browsersList.getSelectedIndex(); + Document doc = evt.getDocument(); + if (doc.equals(nameTextField.getDocument())) { + browsersModel.setBrowserName(index, nameTextField.getText()); + } + } + + } + + private void removeListenerFromField() { + nameTextField.getDocument().removeDocumentListener(fieldDocListener); + } + + private void addListenerToField() { + nameTextField.getDocument().addDocumentListener(fieldDocListener); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton addButton; + private javax.swing.JLabel browsersLabel; + private javax.swing.JList browsersList; + private javax.swing.JPanel customPropertyPanel; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JLabel nameLabel; + private javax.swing.JTextField nameTextField; + private javax.swing.JButton removeButton; + // End of variables declaration//GEN-END:variables + + } Index: core/execution/src/org/netbeans/core/execution/beaninfo/editors/Bundle.properties *** E:\sources\netbeans.org\newtrunk\core\execution\src\org\netbeans\core\execution\beaninfo\editors\Bundle.properties Base (1.6) --- E:\sources\netbeans.org\newtrunk\core\execution\src\org\netbeans\core\execution\beaninfo\editors\Bundle.properties Locally Modified (Based On 1.6) *************** *** 44,51 **** # NbProcessDescriptorCustomPropertyEditor CTL_NbProcessDescriptorCustomEditor.processLabel.text=&Process\: CTL_NbProcessDescriptorCustomEditor.argumentsLabel.text=&Arguments\: ! CTL_NbProcessDescriptorCustomEditor.argumentKeyLabel.text=Argument &Key ! CTL_NbProcessDescriptorCustomEditor.jButton1.text=... ACSD_NbProcessDescriptorCustomEditor.jButton1=N/A ACSD_NbProcessDescriptorCustomEditor.processLabel=N/A ACSD_NbProcessDescriptorCustomEditor.argumentsLabel=N/A --- 44,51 ---- # NbProcessDescriptorCustomPropertyEditor CTL_NbProcessDescriptorCustomEditor.processLabel.text=&Process\: CTL_NbProcessDescriptorCustomEditor.argumentsLabel.text=&Arguments\: ! CTL_NbProcessDescriptorCustomEditor.argumentKeyLabel.text=Arguments &Hint ! CTL_NbProcessDescriptorCustomEditor.jButton1.text=Browse... ACSD_NbProcessDescriptorCustomEditor.jButton1=N/A ACSD_NbProcessDescriptorCustomEditor.processLabel=N/A ACSD_NbProcessDescriptorCustomEditor.argumentsLabel=N/A Index: extbrowser/src/org/netbeans/modules/extbrowser/ExtWebBrowserBeanInfo.java *** E:\sources\netbeans.org\newtrunk\extbrowser\src\org\netbeans\modules\extbrowser\ExtWebBrowserBeanInfo.java Base (1.14) --- E:\sources\netbeans.org\newtrunk\extbrowser\src\org\netbeans\modules\extbrowser\ExtWebBrowserBeanInfo.java Locally Modified (Based On 1.14) *************** *** 45,50 **** --- 45,51 ---- properties[0].setDisplayName (NbBundle.getMessage (ExtWebBrowserBeanInfo.class, "PROP_browserExecutable")); properties[0].setShortDescription (NbBundle.getMessage (ExtWebBrowserBeanInfo.class, "HINT_browserExecutable")); + properties[0].setPreferred(true); // properties[1].setDisplayName (NbBundle.getMessage (ExtWebBrowserBeanInfo.class, "PROP_BROWSER_START_TIMEOUT")); // properties[1].setShortDescription (NbBundle.getMessage (ExtWebBrowserBeanInfo.class, "HINT_BROWSER_START_TIMEOUT")); Index: core/ui/src/org/netbeans/core/ui/resources/layer.xml *** E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\resources\layer.xml Base (1.129) --- E:\sources\netbeans.org\newtrunk\core\ui\src\org\netbeans\core\ui\resources\layer.xml Locally Modified (Based On 1.129) *************** *** 409,420 **** - - - - --- 409,420 ---- + *************** *** 719,722 **** --- 716,726 ---- + + + + + + + Index: editor/options/src/org/netbeans/modules/options/editor/mf-layer.xml *** E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\editor\mf-layer.xml Base (1.40) --- E:\sources\netbeans.org\newtrunk\editor\options\src\org\netbeans\modules\options\editor\mf-layer.xml Locally Modified (Based On 1.40) *************** *** 20,29 **** - - - - --- 20,25 ---- Index: core/execution/src/org/netbeans/core/execution/beaninfo/editors/NbProcessDescriptorCustomEditor.form *** E:\sources\netbeans.org\newtrunk\core\execution\src\org\netbeans\core\execution\beaninfo\editors\NbProcessDescriptorCustomEditor.form Base (1.4) --- E:\sources\netbeans.org\newtrunk\core\execution\src\org\netbeans\core\execution\beaninfo\editors\NbProcessDescriptorCustomEditor.form Locally Modified (Based On 1.4) *************** *** 1,13 ****
- - - - - - - --- 1,6 ---- *************** *** 127,140 **** - - --- 120,130 ---- + + Index: core/execution/src/org/netbeans/core/execution/beaninfo/editors/NbProcessDescriptorCustomEditor.java *** E:\sources\netbeans.org\newtrunk\core\execution\src\org\netbeans\core\execution\beaninfo\editors\NbProcessDescriptorCustomEditor.java Base (1.7) --- E:\sources\netbeans.org\newtrunk\core\execution\src\org\netbeans\core\execution\beaninfo\editors\NbProcessDescriptorCustomEditor.java Locally Modified (Based On 1.7) *************** *** 38,45 **** implements PropertyChangeListener { private NbProcessDescriptorEditor editor; ! private static int DEFAULT_WIDTH = 530; ! private static int DEFAULT_HEIGHT = 400; static final long serialVersionUID =-2766277953540349247L; /** Creates new NbProcessDescriptorCustomEditor --- 38,45 ---- implements PropertyChangeListener { private NbProcessDescriptorEditor editor; ! private static int DEFAULT_WIDTH = 400; ! private static int DEFAULT_HEIGHT = 250; static final long serialVersionUID =-2766277953540349247L; /** Creates new NbProcessDescriptorCustomEditor *************** *** 111,117 **** jScrollPane1 = new javax.swing.JScrollPane(); hintArea = new javax.swing.JTextArea(); - setBorder(javax.swing.BorderFactory.createEmptyBorder(12, 12, 0, 11)); setLayout(new java.awt.GridBagLayout()); processLabel.setLabelFor(processField); --- 111,116 ---- *************** *** 166,177 **** org.openide.awt.Mnemonics.setLocalizedText(argumentKeyLabel, getString("CTL_NbProcessDescriptorCustomEditor.argumentKeyLabel.text")); // NOI18N jPanel1.add(argumentKeyLabel, java.awt.BorderLayout.NORTH); - hintArea.setLineWrap(true); - hintArea.setEditable(false); hintArea.setBackground((java.awt.Color) javax.swing.UIManager.getDefaults ().get ("Label.background")); jScrollPane1.setViewportView(hintArea); --- 165,173 ---- org.openide.awt.Mnemonics.setLocalizedText(argumentKeyLabel, getString("CTL_NbProcessDescriptorCustomEditor.argumentKeyLabel.text")); // NOI18N jPanel1.add(argumentKeyLabel, java.awt.BorderLayout.NORTH); hintArea.setBackground((java.awt.Color) javax.swing.UIManager.getDefaults ().get ("Label.background")); + hintArea.setEditable(false); + hintArea.setLineWrap(true); jScrollPane1.setViewportView(hintArea); jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER); Index: editor/options/nbproject/project.xml *** E:\sources\netbeans.org\newtrunk\editor\options\nbproject\project.xml Base (1.23) --- E:\sources\netbeans.org\newtrunk\editor\options\nbproject\project.xml Locally Modified (Based On 1.23) *************** *** 33,47 **** - org.netbeans.core - - - - 2 - 3.5 - - - org.netbeans.modules.editor --- 33,38 ---- Index: core/ui/nbproject/project.xml *** E:\sources\netbeans.org\newtrunk\core\ui\nbproject\project.xml Base (1.12) --- E:\sources\netbeans.org\newtrunk\core\ui\nbproject\project.xml Locally Modified (Based On 1.12) *************** *** 24,29 **** --- 24,56 ---- org.netbeans.core.ui + org.jdesktop.layout + + + + 1 + 1.4 + + + + org.netbeans.core + + + + 2 + 3.6 + + + + org.netbeans.modules.options.api + + + + 1 + 1.5 + + + org.openide.actions *************** *** 40,45 **** --- 67,88 ---- + org.openide.dialogs + + + + 7.5 + + + + org.openide.explorer + + + + 6.10 + + + org.openide.filesystems Index: core/nbproject/project.xml *** E:\sources\netbeans.org\newtrunk\core\nbproject\project.xml Base (1.30) --- E:\sources\netbeans.org\newtrunk\core\nbproject\project.xml Locally Modified (Based On 1.30) *************** *** 194,205 **** org.netbeans.core.execution org.netbeans.core.ide org.netbeans.core.windows org.netbeans.modules.form org.netbeans.modules.i18n org.netbeans.modules.java org.netbeans.modules.javadoc org.netbeans.modules.javahelp - org.netbeans.modules.options.editor org.netbeans.modules.settings org.netbeans.modules.utilities org.netbeans.modules.xml.tax --- 194,208 ---- org.netbeans.core.execution org.netbeans.core.ide org.netbeans.core.windows + org.netbeans.core.ui org.netbeans.modules.form org.netbeans.modules.i18n org.netbeans.modules.java org.netbeans.modules.javadoc org.netbeans.modules.javahelp org.netbeans.modules.settings org.netbeans.modules.utilities Index: extbrowser/src/org/netbeans/modules/extbrowser/SystemDefaultBrowserBeanInfo.java *** E:\sources\netbeans.org\newtrunk\extbrowser\src\org\netbeans\modules\extbrowser\SystemDefaultBrowserBeanInfo.java Base (1.7) --- E:\sources\netbeans.org\newtrunk\extbrowser\src\org\netbeans\modules\extbrowser\SystemDefaultBrowserBeanInfo.java Locally Modified (Based On 1.7) *************** *** 49,54 **** --- 49,55 ---- properties[0].setDisplayName (NbBundle.getMessage (SystemDefaultBrowserBeanInfo.class, "PROP_browserExecutable")); properties[0].setShortDescription (NbBundle.getMessage (SystemDefaultBrowserBeanInfo.class, "HINT_browserExecutable")); + properties[0].setPreferred(true); // properties[1].setDisplayName (NbBundle.getMessage (SystemDefaultBrowserBeanInfo.class, "PROP_BROWSER_START_TIMEOUT")); // properties[1].setShortDescription (NbBundle.getMessage (SystemDefaultBrowserBeanInfo.class, "HINT_BROWSER_START_TIMEOUT"));