1 package org.columba.mail.gui.action; 17 18 import java.awt.Toolkit ; 19 import java.awt.event.ActionEvent ; 20 import java.awt.event.KeyEvent ; 21 import java.nio.charset.Charset ; 22 23 import javax.swing.KeyStroke ; 24 25 import org.columba.core.base.OSInfo; 26 import org.columba.api.gui.frame.IFrameMediator; 27 import org.columba.api.selection.ISelectionListener; 28 import org.columba.api.selection.SelectionChangedEvent; 29 import org.columba.core.charset.CharsetOwnerInterface; 30 import org.columba.core.command.CommandProcessor; 31 import org.columba.core.gui.action.AbstractColumbaAction; 32 import org.columba.core.resourceloader.GlobalResourceLoader; 33 import org.columba.core.resourceloader.ImageLoader; 34 import org.columba.mail.command.IMailFolderCommandReference; 35 import org.columba.mail.folder.command.PrintMessageCommand; 36 import org.columba.mail.gui.frame.AbstractMailFrameController; 37 import org.columba.mail.gui.frame.MailFrameMediator; 38 import org.columba.mail.gui.table.selection.TableSelectionChangedEvent; 39 40 public class PrintAction extends AbstractColumbaAction implements 41 ISelectionListener { 42 public PrintAction(IFrameMediator controller) { 43 super(controller, GlobalResourceLoader.getString("global", "global", 44 "menu_message_print")); 45 46 putValue(SHORT_DESCRIPTION, GlobalResourceLoader.getString("global", 48 "global", "menu_message_print_tooltip").replaceAll("&", "")); 49 50 putValue(SMALL_ICON, ImageLoader 52 .getSmallIcon("printer.png")); 53 54 putValue(LARGE_ICON, ImageLoader.getIcon("printer.png")); 56 57 63 putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, 64 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); 65 66 if (frameMediator instanceof AbstractMailFrameController) { 69 ((AbstractMailFrameController) frameMediator) 70 .registerTableSelectionListener(this); 71 } 72 73 setEnabled(false); 74 } 75 76 81 public void actionPerformed(ActionEvent evt) { 82 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) 83 .getTableSelection(); 84 85 Charset charset = ((CharsetOwnerInterface) getFrameMediator()) 86 .getCharset(); 87 PrintMessageCommand c = new PrintMessageCommand(r, charset); 88 CommandProcessor.getInstance().addOp(c); 89 } 90 91 97 public void selectionChanged(SelectionChangedEvent e) { 98 setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); 99 } 100 } 101 | Popular Tags |