KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > addressbook > gui > action > ComposeMessageAction


1 package org.columba.addressbook.gui.action;
2
3 import java.awt.event.ActionEvent JavaDoc;
4
5 import org.columba.addressbook.folder.AddressbookFolder;
6 import org.columba.addressbook.gui.frame.AddressbookFrameMediator;
7 import org.columba.addressbook.model.IContactModel;
8 import org.columba.addressbook.util.AddressbookResourceLoader;
9 import org.columba.api.exception.ServiceNotFoundException;
10 import org.columba.api.gui.frame.IFrameMediator;
11 import org.columba.core.facade.ServiceFacadeRegistry;
12 import org.columba.core.resourceloader.IconKeys;
13 import org.columba.core.resourceloader.ImageLoader;
14 import org.columba.mail.facade.IDialogFacade;
15
16 public class ComposeMessageAction extends DefaultTableAction {
17     /**
18      * @param frameMediator
19      * @param name
20      */

21     public ComposeMessageAction(IFrameMediator frameMediator) {
22         super(frameMediator, "Compose Message");
23
24         putValue(SMALL_ICON, ImageLoader.getSmallIcon(IconKeys.MAIL_NEW));
25         putValue(LARGE_ICON, ImageLoader.getIcon(IconKeys.MAIL_NEW));
26
27         // tooltip text
28
putValue(SHORT_DESCRIPTION, "Compose Message");
29
30         putValue(TOOLBAR_NAME, "Compose Message");
31     }
32
33     /**
34      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
35      */

36     public void actionPerformed(ActionEvent JavaDoc arg0) {
37         AddressbookFrameMediator mediator = (AddressbookFrameMediator) frameMediator;
38
39         // get selected folder
40
AddressbookFolder sourceFolder = (AddressbookFolder) mediator.getTree()
41                 .getSelectedFolder();
42
43         // get selected contact/group card
44
String JavaDoc[] uids = mediator.getTable().getUids();
45
46         try {
47             String JavaDoc[] adr = new String JavaDoc[uids.length];
48             for (int i = 0; i < uids.length; i++) {
49                 IContactModel contact = sourceFolder.get(uids[i]);
50                 adr[i] = contact.getPreferredEmail();
51             }
52
53             IDialogFacade facade = (IDialogFacade) ServiceFacadeRegistry
54                     .getInstance().getService(
55                             org.columba.mail.facade.IDialogFacade.class);
56             facade.openComposer(adr);
57         } catch (ServiceNotFoundException e) {
58             e.printStackTrace();
59         }
60     }
61 }
62
Popular Tags