1 package org.columba.mail.gui.composer.action; 17 18 import java.awt.event.ActionEvent ; 19 20 import org.columba.api.gui.frame.IFrameMediator; 21 import org.columba.core.command.CommandProcessor; 22 import org.columba.core.gui.action.AbstractColumbaAction; 23 import org.columba.core.resourceloader.ImageLoader; 24 import org.columba.mail.command.ComposerCommandReference; 25 import org.columba.mail.command.MailFolderCommandReference; 26 import org.columba.mail.config.AccountItem; 27 import org.columba.mail.config.SpecialFoldersItem; 28 import org.columba.mail.folder.IMailbox; 29 import org.columba.mail.folder.command.MarkMessageCommand; 30 import org.columba.mail.folder.outbox.OutboxFolder; 31 import org.columba.mail.gui.composer.ComposerController; 32 import org.columba.mail.gui.composer.ComposerModel; 33 import org.columba.mail.gui.composer.command.SaveMessageCommand; 34 import org.columba.mail.gui.tree.FolderTreeModel; 35 import org.columba.mail.util.MailResourceLoader; 36 37 43 public class SendLaterAction extends AbstractColumbaAction { 44 public SendLaterAction(IFrameMediator FrameController) { 45 super(FrameController, MailResourceLoader.getString("menu", "composer", 46 "menu_file_sendlater")); 47 48 putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", 50 "composer", "menu_file_sendlater").replaceAll("&", "")); 51 52 } 55 56 61 public void actionPerformed(ActionEvent evt) { 62 final ComposerController composerController = (ComposerController) getFrameMediator(); 63 64 if (composerController.checkState()) { 65 return; 66 } 67 68 AccountItem item = ((ComposerModel) composerController.getModel()) 69 .getAccountItem(); 70 SpecialFoldersItem folderItem = item.getSpecialFoldersItem(); 71 OutboxFolder destFolder = (OutboxFolder) FolderTreeModel.getInstance() 72 .getFolder("103"); 73 74 ComposerCommandReference r =new ComposerCommandReference(composerController, destFolder); 75 76 SaveMessageCommand c = new SaveMessageCommand(r); 77 CommandProcessor.getInstance().addOp(c); 78 79 try { 83 MailFolderCommandReference ref2 = composerController.getModel() 84 .getSourceReference(); 85 if (ref2 != null && ((IMailbox)ref2.getSourceFolder()).exists(ref2.getUids()[0])) { 86 ref2.setMarkVariant(MarkMessageCommand.MARK_AS_ANSWERED); 88 MarkMessageCommand c1 = new MarkMessageCommand(ref2); 89 CommandProcessor.getInstance().addOp(c1); 90 } 91 } catch (Exception e) { 92 } 93 94 if (composerController.getView().getFrame() != null) { 96 composerController.getView().getFrame().setVisible(false); 97 } 98 } 99 } | Popular Tags |