1 package org.columba.mail.gui.table.action; 19 20 import java.awt.event.ActionEvent ; 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.folder.command.MarkMessageCommand; 32 import org.columba.mail.folder.command.ToggleMarkCommand; 33 import org.columba.mail.gui.frame.MailFrameMediator; 34 import org.columba.mail.gui.table.selection.TableSelectionChangedEvent; 35 import org.columba.mail.util.MailResourceLoader; 36 37 42 public class ToggleExpungedFlagAction extends AbstractColumbaAction implements 43 ISelectionListener { 44 45 public ToggleExpungedFlagAction(IFrameMediator frameMediator) { 46 super(frameMediator, MailResourceLoader.getString("menu", "mainframe", 47 "menu_message_toggleexpunged")); 48 49 putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", 51 "mainframe", "menu_message_toggleexpunged_tooltip").replaceAll( 52 "&", "")); 53 54 putValue(SMALL_ICON, ImageLoader 56 .getSmallIcon("user-trash-full.png")); 57 putValue(LARGE_ICON, ImageLoader.getIcon("user-trash-full.png")); 58 59 putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke('e')); 61 62 setEnabled(false); 63 64 ((MailFrameMediator) frameMediator) 65 .registerTableSelectionListener(this); 66 } 67 68 73 public void actionPerformed(ActionEvent evt) { 74 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) 75 .getTableSelection(); 76 r.setMarkVariant(MarkMessageCommand.MARK_AS_EXPUNGED); 77 78 ToggleMarkCommand c = new ToggleMarkCommand(r); 79 80 CommandProcessor.getInstance().addOp(c); 81 } 82 83 88 public void selectionChanged(SelectionChangedEvent e) { 89 setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); 90 } 91 } | Popular Tags |