1 package org.columba.mail.gui.message.action; 17 18 import java.awt.Toolkit ; 19 import java.awt.event.ActionEvent ; 20 import java.awt.event.KeyEvent ; 21 22 import javax.swing.KeyStroke ; 23 24 import org.columba.api.gui.frame.IFrameMediator; 25 import org.columba.api.selection.ISelectionListener; 26 import org.columba.api.selection.SelectionChangedEvent; 27 import org.columba.core.command.CommandProcessor; 28 import org.columba.core.gui.action.AbstractColumbaAction; 29 import org.columba.core.resourceloader.ImageLoader; 30 import org.columba.mail.command.IMailFolderCommandReference; 31 import org.columba.mail.gui.frame.MailFrameMediator; 32 import org.columba.mail.gui.message.command.ViewMessageSourceCommand; 33 import org.columba.mail.gui.table.selection.TableSelectionChangedEvent; 34 import org.columba.mail.util.MailResourceLoader; 35 36 public class ViewMessageSourceAction extends AbstractColumbaAction implements 37 ISelectionListener { 38 public ViewMessageSourceAction(IFrameMediator controller) { 39 super(controller, MailResourceLoader.getString("menu", "mainframe", 40 "menu_view_source")); 41 42 putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", 44 "mainframe", "menu_view_source_tooltip").replaceAll("&", "")); 45 46 putValue(SMALL_ICON, ImageLoader.getMiscIcon("viewsource.png")); 48 49 putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, 51 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); 52 53 setEnabled(false); 54 ((MailFrameMediator) frameMediator) 55 .registerTableSelectionListener(this); 56 } 57 58 63 public void actionPerformed(ActionEvent evt) { 64 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) 65 .getTableSelection(); 66 67 ViewMessageSourceCommand c = new ViewMessageSourceCommand(r); 68 69 CommandProcessor.getInstance().addOp(c); 70 } 71 72 77 public void selectionChanged(SelectionChangedEvent e) { 78 if (((TableSelectionChangedEvent) e).getUids().length > 0) { 79 setEnabled(true); 80 } else { 81 setEnabled(false); 82 } 83 } 84 } 85 | Popular Tags |