KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > gui > composer > AccountController


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16
package org.columba.mail.gui.composer;
17
18 import java.awt.event.ItemEvent JavaDoc;
19 import java.awt.event.ItemListener JavaDoc;
20
21 import org.columba.mail.config.AccountItem;
22 import org.columba.mail.config.AccountList;
23 import org.columba.mail.config.MailConfig;
24
25 /**
26  * Account chooser component.
27  *
28  * @author frd
29  */

30 public class AccountController implements ItemListener JavaDoc {
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     /*
56      * public void setSecurityMenuItems( JCheckBoxMenuItem signItem,
57      * JCheckBoxMenuItem encryptItem) { signMenuItem = signItem; encryptMenuItem =
58      * encryptItem;
59      *
60      * AccountItem item = (AccountItem) view.getSelectedItem();
61      *
62      * SecurityItem pgpItem = item.getPGPItem(); if(
63      * pgpItem.getBoolean("enabled") ) { signMenuItem.setEnabled(true);
64      * encryptMenuItem.setEnabled(true);
65      *
66      * model.setSignMessage(pgpItem.getBoolean("always_sign"));
67      * model.setEncryptMessage(pgpItem.getBoolean("always_encrypt")); } }
68      */

69     public void itemStateChanged(ItemEvent JavaDoc 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             /*
82              * encryptMenuItem.setSelected(model.isEncryptMessage());
83              * signMenuItem.setSelected(model.isSignMessage());
84              */

85         } else {
86             ((ComposerModel) controller.getModel())
87                     .setAccountItem((AccountItem) view.getSelectedItem());
88
89             /*
90              * model.setSignMessage(signMenuItem.isSelected());
91              * model.setEncryptMessage(encryptMenuItem.isSelected());
92              */

93         }
94     }
95
96     /**
97      * @return Returns the view.
98      */

99     public AccountView getView() {
100         return view;
101     }
102 }
103
Popular Tags