KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > gui > composer > action > SaveAsTemplateAction


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16
package org.columba.mail.gui.composer.action;
17
18 import java.awt.event.ActionEvent JavaDoc;
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.mail.command.ComposerCommandReference;
24 import org.columba.mail.config.AccountItem;
25 import org.columba.mail.config.SpecialFoldersItem;
26 import org.columba.mail.folder.IMailbox;
27 import org.columba.mail.gui.composer.ComposerController;
28 import org.columba.mail.gui.composer.ComposerModel;
29 import org.columba.mail.gui.composer.command.SaveMessageCommand;
30 import org.columba.mail.gui.tree.FolderTreeModel;
31 import org.columba.mail.resourceloader.MailImageLoader;
32 import org.columba.mail.util.MailResourceLoader;
33
34 /**
35  * @author frd
36  *
37  * To change this generated comment go to Window>Preferences>Java>Code
38  * Generation>Code and Comments
39  */

40 public class SaveAsTemplateAction extends AbstractColumbaAction {
41     public SaveAsTemplateAction(IFrameMediator frameMediator) {
42         super(frameMediator, MailResourceLoader.getString("menu", "composer",
43                 "menu_file_savetemplate"));
44
45         // tooltip text
46
putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu",
47                 "composer", "menu_file_savetemplate").replaceAll("&", ""));
48
49         putValue(SMALL_ICON, MailImageLoader.getSmallIcon("internet-news-reader.png"));
50     }
51
52     /*
53      * (non-Javadoc)
54      *
55      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
56      */

57     public void actionPerformed(ActionEvent JavaDoc evt) {
58         final ComposerController composerController = (ComposerController) getFrameMediator();
59
60         // view data ->model
61
composerController.updateComponents(false);
62
63         AccountItem item = ((ComposerModel) composerController.getModel())
64                 .getAccountItem();
65         SpecialFoldersItem folderItem = item.getSpecialFoldersItem();
66         String JavaDoc str = folderItem.get("templates");
67         IMailbox destFolder = (IMailbox) FolderTreeModel.getInstance()
68                 .getFolder(str);
69
70         ComposerCommandReference r =new ComposerCommandReference(composerController, destFolder);
71         r.setAppendSignature(false);
72         
73         SaveMessageCommand c = new SaveMessageCommand(r);
74
75         CommandProcessor.getInstance().addOp(c);
76     }
77 }
Popular Tags