1 package org.columba.mail.gui.composer; 17 18 import java.awt.event.ActionEvent ; 19 import java.awt.event.ActionListener ; 20 import java.util.Arrays ; 21 import java.util.regex.Pattern ; 22 23 import javax.swing.JButton ; 24 import javax.swing.JPanel ; 25 import javax.swing.JTextField ; 26 27 import org.columba.mail.gui.composer.action.AddressbookAction; 28 import org.columba.mail.gui.composer.util.AddressCollector; 29 import org.columba.mail.util.MailResourceLoader; 30 import org.frapuccino.addresscombobox.CommaSeparatedAutoCompleter; 31 import org.frapuccino.addresscombobox.PatternSeparatedAutoCompleter; 32 33 import com.jgoodies.forms.layout.CellConstraints; 34 35 39 public class HeaderView extends JPanel implements ActionListener { 40 41 private HeaderController controller; 42 43 private JButton toButton; 44 45 private JButton ccButton; 46 47 private JButton bccButton; 48 49 private JTextField toComboBox; 50 51 private JTextField ccComboBox; 52 53 private JTextField bccComboBox; 54 55 public HeaderView(HeaderController controller) { 56 super(); 57 58 this.controller = controller; 59 60 initComponents(); 61 62 } 64 65 69 public void initAutocompletion() { 70 71 AddressCollector addressCollector = AddressCollector.getInstance(); 72 73 if (addressCollector != null) { 74 new EmailNameAutoCompleter(toComboBox, Arrays 76 .asList(addressCollector.getAddresses()), Pattern.compile(","), true); 77 new EmailNameAutoCompleter(ccComboBox, Arrays 78 .asList(addressCollector.getAddresses()), Pattern.compile(","), true); 79 new EmailNameAutoCompleter(bccComboBox, Arrays 80 .asList(addressCollector.getAddresses()), Pattern.compile(","), true); 81 82 } 83 } 84 85 88 public void layoutComponents(JPanel panel) { 89 90 CellConstraints cc = new CellConstraints(); 91 92 panel.add(toButton, cc.xy(1, 3, CellConstraints.FILL, 93 CellConstraints.DEFAULT)); 94 panel.add(toComboBox, cc.xywh(3, 3, 5, 1)); 95 96 panel.add(ccButton, cc.xy(1, 5, CellConstraints.FILL, 97 CellConstraints.DEFAULT)); 98 panel.add(ccComboBox, cc.xywh(3, 5, 5, 1)); 99 100 panel.add(bccButton, cc.xy(1, 7, CellConstraints.FILL, 101 CellConstraints.DEFAULT)); 102 panel.add(bccComboBox, cc.xywh(3, 7, 5, 1)); 103 104 } 105 106 protected void initComponents() { 107 108 toButton = new JButton ("To:"); 109 toButton.addActionListener(this); 110 ccButton = new JButton ("Cc:"); 111 ccButton.addActionListener(this); 112 bccButton = new JButton ("Bcc:"); 113 bccButton.addActionListener(this); 114 115 toComboBox = new JTextField (); 116 toComboBox.setToolTipText(MailResourceLoader.getString( 117 "dialog", "composer", "recipient_separator")); 118 ccComboBox = new JTextField (); 119 ccComboBox.setToolTipText(MailResourceLoader.getString( 120 "dialog", "composer", "recipient_separator")); 121 bccComboBox = new JTextField (); 122 bccComboBox.setToolTipText(MailResourceLoader.getString( 123 "dialog", "composer", "recipient_separator")); 124 } 125 126 129 public JTextField getBccComboBox() { 130 return bccComboBox; 131 } 132 133 136 public JTextField getCcComboBox() { 137 return ccComboBox; 138 } 139 140 143 public JTextField getToComboBox() { 144 return toComboBox; 145 } 146 147 150 public void actionPerformed(ActionEvent arg0) { 151 new AddressbookAction(controller.getComposerController()) 152 .actionPerformed(null); 153 154 } 155 } | Popular Tags |