1 package org.columba.mail.gui.composer; 17 18 import java.awt.event.ItemEvent ; 19 import java.awt.event.ItemListener ; 20 21 import org.columba.mail.config.AccountItem; 22 import org.columba.mail.config.AccountList; 23 import org.columba.mail.config.MailConfig; 24 25 30 public class AccountController implements ItemListener { 31 private AccountView view; 32 33 private ComposerController controller; 34 35 public AccountController(ComposerController controller) { 36 this.controller = controller; 37 38 view = new AccountView(this); 39 40 AccountList config = MailConfig.getInstance().getAccountList(); 41 42 for (int i = 0; i < config.count(); i++) { 43 AccountItem accountItem = config.get(i); 44 view.addItem(accountItem); 45 46 if (accountItem.isDefault()) { 47 view.setSelectedItem(accountItem); 48 controller.getModel().setAccountItem(accountItem); 49 } 50 } 51 52 view.addItemListener(this); 53 } 54 55 69 public void itemStateChanged(ItemEvent e) { 70 if (e.getStateChange() == ItemEvent.SELECTED) { 71 updateComponents(false); 72 73 } 74 } 75 76 public void updateComponents(boolean b) { 77 if (b) { 78 view.setSelectedItem(((ComposerModel) controller.getModel()) 79 .getAccountItem()); 80 81 85 } else { 86 ((ComposerModel) controller.getModel()) 87 .setAccountItem((AccountItem) view.getSelectedItem()); 88 89 93 } 94 } 95 96 99 public AccountView getView() { 100 return view; 101 } 102 } 103 | Popular Tags |