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.mail.command.IMailFolderCommandReference; 30 import org.columba.mail.folder.command.MarkMessageCommand; 31 import org.columba.mail.folder.command.ToggleMarkCommand; 32 import org.columba.mail.gui.frame.MailFrameMediator; 33 import org.columba.mail.gui.table.selection.TableSelectionChangedEvent; 34 import org.columba.mail.resourceloader.MailImageLoader; 35 import org.columba.mail.util.MailResourceLoader; 36 37 42 public class ToggleReadFlagAction extends AbstractColumbaAction implements 43 ISelectionListener { 44 45 public ToggleReadFlagAction(IFrameMediator frameMediator) { 46 super(frameMediator, MailResourceLoader.getString("menu", "mainframe", 47 "menu_message_toggleread")); 48 49 putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", 51 "mainframe", "menu_message_toggleread_tooltip").replaceAll("&", 52 "")); 53 54 putValue(SMALL_ICON, MailImageLoader.getSmallIcon("internet-mail.png")); 56 putValue(LARGE_ICON, MailImageLoader.getIcon("internet-mail.png")); 57 58 putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke('r')); 60 61 setEnabled(false); 62 63 ((MailFrameMediator) frameMediator) 64 .registerTableSelectionListener(this); 65 } 66 67 72 public void actionPerformed(ActionEvent evt) { 73 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) 74 .getTableSelection(); 75 r.setMarkVariant(MarkMessageCommand.MARK_AS_READ); 76 77 ToggleMarkCommand c = new ToggleMarkCommand(r); 78 79 CommandProcessor.getInstance().addOp(c); 80 } 81 82 87 public void selectionChanged(SelectionChangedEvent e) { 88 setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); 89 } 90 } | Popular Tags |