[Jreepad-CVS] jreepad/src/jreepad/ui PasswordDialog.java, NONE, 1.1 SaveFileChooser.java, 1.3, 1.4
Brought to you by:
danstowell
From: PeWu <pe...@us...> - 2007-09-28 14:29:27
|
Update of /cvsroot/jreepad/jreepad/src/jreepad/ui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv28006/src/jreepad/ui Modified Files: SaveFileChooser.java Added Files: PasswordDialog.java Log Message: Added experimental encrypted file format --- NEW FILE: PasswordDialog.java --- package jreepad.ui; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; public class PasswordDialog extends JDialog implements PropertyChangeListener { private JOptionPane optionPane; private JPasswordField pwdField1; private JPasswordField pwdField2; private String password = null; public PasswordDialog(String message, boolean confirm) { super((Frame)null, "Enter password", true); pwdField1 = new JPasswordField(); Object[] array; if (confirm) { pwdField2 = new JPasswordField(); array = new Object[] { new JLabel(message), pwdField1, new JLabel("confirm:"), pwdField2 }; } else { array = new Object[] { new JLabel(message), pwdField1 }; } optionPane = new JOptionPane(array, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION); optionPane.addPropertyChangeListener(this); setContentPane(optionPane); pack(); setLocationRelativeTo(null); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { optionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION)); } }); } /** * Dialog button was pressed. */ public void propertyChange(PropertyChangeEvent e) { String prop = e.getPropertyName(); if (isVisible() && JOptionPane.VALUE_PROPERTY.equals(prop)) { Object value = optionPane.getValue(); if (value == JOptionPane.UNINITIALIZED_VALUE) return; optionPane.setValue(JOptionPane.UNINITIALIZED_VALUE); if (value.equals(Integer.valueOf(JOptionPane.OK_OPTION))) { String pwd1 = new String(pwdField1.getPassword()); if (pwdField2 != null) { String pwd2 = new String(pwdField2.getPassword()); if (!pwd1.equals(pwd2)) { JOptionPane.showMessageDialog(this, "The passwords do not match"); return; } } password = new String(pwdField1.getPassword()); } setVisible(false); } } /** * Returns entered password or null if Cancel was pressed. */ public String getPassword() { return password; } /** * Shows password dialog. * @param message message to show in the dialog (e.g. "Please enter password:") * @param confirm whether to show second confirmation password field * @return enetered password or null if Cancel was pressed */ public static String showPasswordDialog(String message, boolean confirm) { PasswordDialog dialog = new PasswordDialog(message, confirm); dialog.setVisible(true); dialog.dispose(); // We don't need the dialog anymore return dialog.getPassword(); } public static String showPasswordDialog(String message) { return showPasswordDialog(message, false); } public static String showPasswordDialog(boolean confirm) { return showPasswordDialog("Please enter password:", confirm); } public static String showPasswordDialog() { return showPasswordDialog(false); } } Index: SaveFileChooser.java =================================================================== RCS file: /cvsroot/jreepad/jreepad/src/jreepad/ui/SaveFileChooser.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SaveFileChooser.java 3 Apr 2007 12:41:30 -0000 1.3 --- SaveFileChooser.java 28 Sep 2007 14:29:22 -0000 1.4 *************** *** 24,27 **** --- 24,32 ---- public static final FileFilter TREEPAD_FILE_FILTER = new ExtensionFileFilter("Treepad file (*.hjt)", "hjt"); + /** + * File filter for Jreepad Encrypted XML .jree files. + */ + public static final FileFilter JREEPAD_ENCRYPTED_FILE_FILTER = new ExtensionFileFilter("Jreepad Encrypted XML file (*.jree) [EXPERIMENTAL]", "jree"); + private int defaultFileFormat; *************** *** 31,34 **** --- 36,40 ---- addChoosableFileFilter(JREEPAD_FILE_FILTER); + addChoosableFileFilter(JREEPAD_ENCRYPTED_FILE_FILTER); addChoosableFileFilter(TREEPAD_FILE_FILTER); *************** *** 38,41 **** --- 44,50 ---- setFileFilter(TREEPAD_FILE_FILTER); break; + case JreepadPrefs.FILETYPE_XML_ENCRYPTED: + setFileFilter(JREEPAD_ENCRYPTED_FILE_FILTER); + break; case JreepadPrefs.FILETYPE_XML: // default default: *************** *** 55,58 **** --- 64,69 ---- if (getFileFilter() == SaveFileChooser.TREEPAD_FILE_FILTER) return JreepadPrefs.FILETYPE_HJT; + if (getFileFilter() == SaveFileChooser.JREEPAD_ENCRYPTED_FILE_FILTER) + return JreepadPrefs.FILETYPE_XML_ENCRYPTED; return defaultFileFormat; } |