@@ -69,6 +69,7 @@ private void initComponents() {
6969 hostField = new javax .swing .JTextField ();
7070 jLabel3 = new javax .swing .JLabel ();
7171 portField = new javax .swing .JTextField ();
72+ btnDeleteHost = new javax .swing .JButton ();
7273
7374 buttonGroup1 .add (btnKnownHosts );
7475 btnKnownHosts .setSelected (true );
@@ -115,7 +116,7 @@ public void itemStateChanged(java.awt.event.ItemEvent evt) {
115116 pnlConnectionInfo .setLayout (pnlConnectionInfoLayout );
116117 pnlConnectionInfoLayout .setHorizontalGroup (
117118 pnlConnectionInfoLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
118- .addGap (0 , 324 , Short .MAX_VALUE )
119+ .addGap (0 , 0 , Short .MAX_VALUE )
119120 .addGroup (pnlConnectionInfoLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
120121 .addGroup (pnlConnectionInfoLayout .createSequentialGroup ()
121122 .addContainerGap ()
@@ -125,7 +126,7 @@ public void itemStateChanged(java.awt.event.ItemEvent evt) {
125126 .addComponent (jLabel3 ))
126127 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
127128 .addGroup (pnlConnectionInfoLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
128- .addComponent (userField , javax .swing .GroupLayout .DEFAULT_SIZE , 226 , Short .MAX_VALUE )
129+ .addComponent (userField , javax .swing .GroupLayout .DEFAULT_SIZE , 364 , Short .MAX_VALUE )
129130 .addComponent (hostField , javax .swing .GroupLayout .DEFAULT_SIZE , 226 , Short .MAX_VALUE )
130131 .addComponent (portField , javax .swing .GroupLayout .PREFERRED_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .PREFERRED_SIZE ))
131132 .addContainerGap ()))
@@ -154,6 +155,13 @@ public void itemStateChanged(java.awt.event.ItemEvent evt) {
154155 hostField .getAccessibleContext ().setAccessibleName (org .openide .util .NbBundle .getMessage (RemoteInfoDialog .class , "RemoteInfoDialog.hostField.AccessibleContext.accessibleName" )); // NOI18N
155156 portField .getAccessibleContext ().setAccessibleName (org .openide .util .NbBundle .getMessage (RemoteInfoDialog .class , "RemoteInfoDialog.portField.AccessibleContext.accessibleName" )); // NOI18N
156157
158+ btnDeleteHost .setText (org .openide .util .NbBundle .getMessage (RemoteInfoDialog .class , "RemoteInfoDialog.btnDeleteHost.text" )); // NOI18N
159+ btnDeleteHost .addActionListener (new java .awt .event .ActionListener () {
160+ public void actionPerformed (java .awt .event .ActionEvent evt ) {
161+ btnDeleteHostActionPerformed (evt );
162+ }
163+ });
164+
157165 javax .swing .GroupLayout layout = new javax .swing .GroupLayout (this );
158166 this .setLayout (layout );
159167 layout .setHorizontalGroup (
@@ -163,10 +171,14 @@ public void itemStateChanged(java.awt.event.ItemEvent evt) {
163171 .addGroup (layout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
164172 .addComponent (pnlConnectionInfo , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , Short .MAX_VALUE )
165173 .addGroup (layout .createSequentialGroup ()
166- .addComponent (btnKnownHosts )
174+ .addGroup (layout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
175+ .addGroup (layout .createSequentialGroup ()
176+ .addComponent (btnKnownHosts )
177+ .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
178+ .addComponent (cbKnownHosts , 0 , 254 , Short .MAX_VALUE ))
179+ .addComponent (btnNewHost ))
167180 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
168- .addComponent (cbKnownHosts , 0 , 224 , Short .MAX_VALUE ))
169- .addComponent (btnNewHost ))
181+ .addComponent (btnDeleteHost )))
170182 .addContainerGap ())
171183 );
172184 layout .setVerticalGroup (
@@ -175,7 +187,8 @@ public void itemStateChanged(java.awt.event.ItemEvent evt) {
175187 .addContainerGap ()
176188 .addGroup (layout .createParallelGroup (javax .swing .GroupLayout .Alignment .BASELINE )
177189 .addComponent (cbKnownHosts , javax .swing .GroupLayout .PREFERRED_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .PREFERRED_SIZE )
178- .addComponent (btnKnownHosts ))
190+ .addComponent (btnKnownHosts )
191+ .addComponent (btnDeleteHost ))
179192 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
180193 .addComponent (btnNewHost )
181194 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
@@ -196,7 +209,29 @@ private void btnNewHostItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIR
196209 }
197210 }//GEN-LAST:event_btnNewHostItemStateChanged
198211
212+ private void btnDeleteHostActionPerformed (java .awt .event .ActionEvent evt ) {//GEN-FIRST:event_btnDeleteHostActionPerformed
213+ ExecutionEnvironment selected = (ExecutionEnvironment ) cbKnownHosts .getSelectedItem ();
214+ if (selected != null ) {
215+ ConnectionManager .getInstance ().deleteConnection (selected );
216+ cbKnownHosts .removeItem (selected );
217+ if (cbKnownHosts .getItemCount () == 0 ) {
218+ btnKnownHosts .setEnabled (false );
219+ btnNewHost .setSelected (true );
220+ }
221+ Preferences prefs = NbPreferences .forModule (RemoteInfoDialog .class );
222+ String eeID = prefs .get (LAST_SELECTED_HOST , "" );
223+ if (!eeID .isEmpty ()) {
224+ ExecutionEnvironment ee = ExecutionEnvironmentFactory .fromUniqueID (eeID );
225+ if (ee .equals (selected )) {
226+ prefs .remove (LAST_SELECTED_HOST );
227+ last = null ;
228+ }
229+ }
230+ }
231+ }//GEN-LAST:event_btnDeleteHostActionPerformed
232+
199233 // Variables declaration - do not modify//GEN-BEGIN:variables
234+ private javax .swing .JButton btnDeleteHost ;
200235 private javax .swing .JRadioButton btnKnownHosts ;
201236 private javax .swing .JRadioButton btnNewHost ;
202237 private javax .swing .ButtonGroup buttonGroup1 ;
@@ -255,6 +290,7 @@ private void fillHosts() {
255290
256291 private void selectMode (boolean knownHosts ) {
257292 cbKnownHosts .setEnabled (knownHosts );
293+ btnDeleteHost .setEnabled (knownHosts );
258294 Component [] components = pnlConnectionInfo .getComponents ();
259295 for (Component component : components ) {
260296 component .setEnabled (!knownHosts );
0 commit comments