1 package org.columba.mail.gui.tree.action; 17 18 import java.awt.Toolkit ; 19 import java.awt.event.ActionEvent ; 20 import java.awt.event.KeyEvent ; 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.IMailFolder; 31 import org.columba.mail.folder.RootFolder; 32 import org.columba.mail.folder.command.ExpungeFolderCommand; 33 import org.columba.mail.gui.frame.MailFrameMediator; 34 import org.columba.mail.gui.tree.selection.TreeSelectionChangedEvent; 35 import org.columba.mail.util.MailResourceLoader; 36 37 43 44 public class ExpungeFolderAction extends AbstractColumbaAction implements 45 ISelectionListener { 46 public ExpungeFolderAction(IFrameMediator frameMediator) { 47 super(frameMediator, MailResourceLoader.getString("menu", "mainframe", 48 "menu_folder_expungefolder")); 49 50 putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", 52 "mainframe", "menu_folder_expungefolder").replaceAll("&", "")); 53 54 putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, 56 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | ActionEvent.SHIFT_MASK)); 57 58 setEnabled(false); 59 60 ((MailFrameMediator) frameMediator).registerTreeSelectionListener(this); 61 } 62 63 68 public void actionPerformed(ActionEvent evt) { 69 IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) 70 .getTreeSelection(); 71 ExpungeFolderCommand c = new ExpungeFolderCommand(r); 72 73 CommandProcessor.getInstance().addOp(c); 74 } 75 76 81 public void selectionChanged(SelectionChangedEvent e) { 82 if (((TreeSelectionChangedEvent) e).getSelected().length > 0) { 83 IMailFolder folder = ((TreeSelectionChangedEvent) e).getSelected()[0]; 84 85 if (folder != null) { 86 if (folder instanceof RootFolder) { 87 setEnabled(false); 88 } else { 89 90 setEnabled(true); 91 } 92 93 } 94 } else { 95 setEnabled(false); 96 } 97 } 98 } | Popular Tags |