1 package org.columba.mail.gui.table.action; 17 18 import java.awt.event.ActionEvent ; 19 import java.nio.charset.Charset ; 20 21 import org.columba.api.gui.frame.IFrameMediator; 22 import org.columba.api.selection.ISelectionListener; 23 import org.columba.api.selection.SelectionChangedEvent; 24 import org.columba.core.charset.CharsetOwnerInterface; 25 import org.columba.core.command.CommandProcessor; 26 import org.columba.core.gui.action.AbstractColumbaAction; 27 import org.columba.core.resourceloader.ImageLoader; 28 import org.columba.mail.command.IMailFolderCommandReference; 29 import org.columba.mail.folder.command.SaveMessageBodyAsCommand; 30 import org.columba.mail.gui.frame.MailFrameMediator; 31 import org.columba.mail.gui.table.selection.TableSelectionChangedEvent; 32 import org.columba.mail.util.MailResourceLoader; 33 34 40 public class SaveMessageBodyAsAction extends AbstractColumbaAction implements 41 ISelectionListener { 42 public SaveMessageBodyAsAction(IFrameMediator frameMediator) { 43 super(frameMediator, MailResourceLoader.getString("menu", "mainframe", 44 "menu_message_save")); 45 putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", 46 "mainframe", "menu_message_save_tooltip").replaceAll("&", "")); 47 putValue(SMALL_ICON, ImageLoader.getSmallIcon("document-save-as.png")); 48 putValue(LARGE_ICON, ImageLoader.getIcon("document-save-as.png")); 49 50 setEnabled(false); 52 53 ((MailFrameMediator) frameMediator) 54 .registerTableSelectionListener(this); 55 } 56 57 62 public void actionPerformed(ActionEvent evt) { 63 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) 65 .getTableSelection(); 66 67 Charset charset = ((CharsetOwnerInterface) getFrameMediator()) 69 .getCharset(); 70 SaveMessageBodyAsCommand c = new SaveMessageBodyAsCommand(r, charset); 71 CommandProcessor.getInstance().addOp(c); 72 } 73 74 80 public void selectionChanged(SelectionChangedEvent e) { 81 setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); 82 } 83 } 84 | Popular Tags |