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.resourceloader.MailImageLoader; 36 import org.columba.mail.util.MailResourceLoader; 37 38 43 public class ToggleFlaggedFlagAction extends AbstractColumbaAction implements 44 ISelectionListener { 45 46 public ToggleFlaggedFlagAction(IFrameMediator frameMediator) { 47 super(frameMediator, MailResourceLoader.getString("menu", "mainframe", 48 "menu_message_toggleflagged")); 49 50 putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", 52 "mainframe", "menu_message_toggleflagged_tooltip").replaceAll( 53 "&", "")); 54 55 putValue(SMALL_ICON, MailImageLoader.getSmallIcon("flag.png")); 57 60 putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke('f')); 62 63 setEnabled(false); 64 65 ((MailFrameMediator) frameMediator) 66 .registerTableSelectionListener(this); 67 } 68 69 74 public void actionPerformed(ActionEvent evt) { 75 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) 76 .getTableSelection(); 77 r.setMarkVariant(MarkMessageCommand.MARK_AS_FLAGGED); 78 79 ToggleMarkCommand c = new ToggleMarkCommand(r); 80 81 CommandProcessor.getInstance().addOp(c); 82 } 83 84 89 public void selectionChanged(SelectionChangedEvent e) { 90 setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); 91 } 92 } | Popular Tags |