01: //The contents of this file are subject to the Mozilla Public License Version 1.1
02: //(the "License"); you may not use this file except in compliance with the
03: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
04: //
05: //Software distributed under the License is distributed on an "AS IS" basis,
06: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
07: //for the specific language governing rights and
08: //limitations under the License.
09: //
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.html.action;
17:
18: import java.awt.Toolkit;
19: import java.awt.event.ActionEvent;
20: import java.awt.event.KeyEvent;
21: import java.util.logging.Logger;
22:
23: import javax.swing.KeyStroke;
24:
25: import org.columba.api.gui.frame.IFrameMediator;
26: import org.columba.mail.gui.composer.ComposerController;
27: import org.columba.mail.gui.composer.html.HtmlEditorController2;
28: import org.columba.mail.resourceloader.MailImageLoader;
29: import org.columba.mail.util.MailResourceLoader;
30: import org.frapuccino.htmleditor.event.FormatChangedEvent;
31:
32: /**
33: * Format selected text as bold "<b>"
34: *
35: * @author fdietz
36: */
37: public class BoldFormatAction extends AbstractComposerAction {
38:
39: /** JDK 1.4+ logging framework logger, used for logging. */
40: private static final Logger LOG = Logger
41: .getLogger("org.columba.mail.gui.composer.html.action");
42:
43: /**
44: * @param frameMediator
45: */
46: public BoldFormatAction(IFrameMediator frameMediator) {
47: super (frameMediator, MailResourceLoader.getString("menu",
48: "composer", "menu_format_bold"));
49:
50: putValue(LARGE_ICON, MailImageLoader
51: .getIcon("format-text-bold.png"));
52: putValue(SMALL_ICON, MailImageLoader
53: .getSmallIcon("format-text-bold.png"));
54:
55: putValue(SHORT_DESCRIPTION, MailResourceLoader.getString(
56: "menu", "composer", "menu_format_bold_tooltip")
57: .replaceAll("&", ""));
58:
59: // shortcut key
60: putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_B,
61: Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
62:
63: }
64:
65: public void formatChanged(FormatChangedEvent event) {
66: setState(event.getInfo().isBold());
67: }
68:
69: /**
70: * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
71: */
72: public void actionPerformed(ActionEvent evt) {
73: // this action is disabled when the text/plain editor is used
74: // -> so, its safe to just cast to HtmlEditorController here
75: HtmlEditorController2 editorController = (HtmlEditorController2) ((ComposerController) frameMediator)
76: .getCurrentEditor();
77:
78: editorController.toggleBold();
79: }
80: }
|