public void promptForNewVfsRoot() { boolean done = false; String defaultText = vfsBrowser.rootFileObject.getName().getURI(); String text = defaultText; while (!done) { if (text == null) { text = defaultText; } File fileRoots[] = File.listRoots(); String roots[] = new String[fileRoots.length]; for (int i = 0; i < roots.length; i++) { try { roots[i] = fileRoots[i].toURI().toURL().toExternalForm(); } catch (MalformedURLException e) { e.printStackTrace(); } } ComboBoxInputDialog textDialog = new ComboBoxInputDialog( Messages.getString("VfsFileChooserDialog.enterNewVFSRoot"), text, roots, 650, 100); //$NON-NLS-1$ text = textDialog.open(); if (text != null && !"".equals(text)) { // $NON-NLS-1$ try { vfsBrowser.resetVfsRoot(currentPanel.resolveFile(text)); done = true; } catch (FileSystemException e) { MessageBox errorDialog = new MessageBox(vfsBrowser.getDisplay().getActiveShell(), SWT.OK); errorDialog.setText(Messages.getString("VfsFileChooserDialog.error")); // $NON-NLS-1$ errorDialog.setMessage(e.getMessage()); errorDialog.open(); } } else { done = true; } } }
/** * Updates the contact information shown, or creates a new contact if the first row is selected. * * @param evt */ private void namesJComboBoxActionPerformed( java.awt.event.ActionEvent evt) { // GEN-FIRST:event_namesJComboBoxActionPerformed this.setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR)); String selectedContactName = (String) namesJComboBox.getSelectedItem(); boolean cancel = false; if (valuesChanged) { int value = JOptionPane.showConfirmDialog( this, "The contact has been changed. Do you want to save the changes?", "Contact Changed", JOptionPane.YES_NO_CANCEL_OPTION); if (value == JOptionPane.YES_OPTION) { String newName = contactPath + lastSelectedContact + ".con"; try { FileWriter r = new FileWriter(newName); BufferedWriter bw = new BufferedWriter(r); bw.write("Name: " + lastSelectedContact + "\n"); bw.write("E-mail: " + contactInfoJTextField.getText() + "\n"); bw.write("Institution: " + institutionJTextArea.getText() + "\n"); bw.close(); r.close(); } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog( this, "The file " + newName + " could not be found.", "File Not Found", JOptionPane.ERROR_MESSAGE); Util.writeToErrorLog("Error when trying to save file: "); ex.printStackTrace(); } catch (IOException ex) { JOptionPane.showMessageDialog( this, "An error occured when trying to save the file " + newName + ".", "File Error", JOptionPane.ERROR_MESSAGE); Util.writeToErrorLog("Error when trying to save file: "); ex.printStackTrace(); } } else if (value == JOptionPane.CANCEL_OPTION) { cancel = true; } } if (!cancel) { lastSelectedContact = "" + namesJComboBox.getSelectedItem(); contactInfoJTextField.setText(""); institutionJTextArea.setText(""); if (namesJComboBox.getSelectedIndex() == 0) { institutionJTextArea.setEnabled(false); contactInfoJTextField.setEnabled(false); institutionJTextArea.setEditable(false); contactInfoJTextField.setEditable(false); } else if (namesJComboBox.getSelectedIndex() == namesJComboBox.getItemCount() - 1) { ComboBoxInputDialog input = new ComboBoxInputDialog(this, this, true); input.setTitle("Create New Contact"); input.setBorderTitle("New Contact"); input.setVisible(true); } else { institutionJTextArea.setEnabled(true); contactInfoJTextField.setEnabled(true); institutionJTextArea.setEditable(true); contactInfoJTextField.setEditable(true); selectedContactName = contactPath + selectedContactName + ".con"; try { String temp, institution = ""; FileReader f = new FileReader(selectedContactName); BufferedReader b = new BufferedReader(f); b.readLine(); temp = b.readLine(); contactInfoJTextField.setText(temp.substring(temp.indexOf(": ") + 2)); temp = b.readLine(); while (temp != null) { if (temp.indexOf(": ") != -1) { institution += temp.substring(temp.indexOf(": ") + 2) + ", "; } else { institution += temp + ", "; } temp = b.readLine(); } if (institution.endsWith(", ")) { institution = institution.substring(0, institution.length() - 2); } institutionJTextArea.setText(institution); institutionJTextArea.setEnabled(true); contactInfoJTextField.setEnabled(true); institutionJTextArea.setEditable(true); contactInfoJTextField.setEditable(true); b.close(); f.close(); } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog( this, "The file " + selectedContactName + " could not be found.", "File Not Found", JOptionPane.ERROR_MESSAGE); Util.writeToErrorLog("Error when trying to read file: "); ex.printStackTrace(); } catch (IOException ex) { JOptionPane.showMessageDialog( this, "An error occured when trying to read the file " + selectedContactName + ".", "File Error", JOptionPane.ERROR_MESSAGE); Util.writeToErrorLog("Error when trying to read file: "); ex.printStackTrace(); } } valuesChanged = false; } else { namesJComboBox.setSelectedItem(lastSelectedContact); } mandatoryFieldsCheck(); this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); } // GEN-LAST:event_namesJComboBoxActionPerformed