1 package org.columba.mail.gui.table.action; 17 18 import java.awt.event.ActionEvent ; 19 import java.util.logging.Logger ; 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.command.CommandProcessor; 25 import org.columba.core.gui.action.AbstractColumbaAction; 26 import org.columba.core.resourceloader.ImageLoader; 27 import org.columba.mail.command.IMailFolderCommandReference; 28 import org.columba.mail.folder.command.SaveMessageSourceAsCommand; 29 import org.columba.mail.gui.frame.MailFrameMediator; 30 import org.columba.mail.gui.table.selection.TableSelectionChangedEvent; 31 import org.columba.mail.util.MailResourceLoader; 32 33 34 39 public class SaveMessageSourceAsAction extends AbstractColumbaAction 40 implements ISelectionListener { 41 42 43 private static final Logger LOG = Logger.getLogger("org.columba.mail.gui.table.action"); 44 45 public SaveMessageSourceAsAction(IFrameMediator controller) { 46 super(controller, 47 MailResourceLoader.getString("menu", "mainframe", "menu_file_save")); 48 49 putValue(SHORT_DESCRIPTION, 51 MailResourceLoader.getString("menu", "mainframe", 52 "menu_file_save_tooltip").replaceAll("&", "")); 53 54 putValue(SMALL_ICON, ImageLoader.getSmallIcon("document-save.png")); 56 putValue(LARGE_ICON, ImageLoader.getIcon("document-save.png")); 57 58 setEnabled(false); 59 ((MailFrameMediator) frameMediator).registerTableSelectionListener(this); 60 } 61 62 67 public void actionPerformed(ActionEvent evt) { 68 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()).getTableSelection(); 69 70 LOG.info("Save Message Source As... called"); 71 72 SaveMessageSourceAsCommand c = new SaveMessageSourceAsCommand(r); 73 74 CommandProcessor.getInstance().addOp(c); 75 } 76 77 82 public void selectionChanged(SelectionChangedEvent e) { 83 setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); 84 } 85 } 86 | Popular Tags |