01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //limitations under the License.
10: //
11: //The Original Code is "The Columba Project"
12: //
13: //The Initial Developers of the Original Code are Frederik Dietz and Timo
14: // Stich.
15: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16: //
17: //All Rights Reserved.undation, Inc., 59 Temple Place - Suite 330, Boston, MA
18: // 02111-1307, USA.
19: package org.columba.mail.gui.charset;
20:
21: import java.nio.charset.Charset;
22:
23: import org.columba.core.gui.action.CRadioButtonMenuItem;
24: import org.columba.mail.util.MailResourceLoader;
25:
26: /**
27: * A menu item for displaying charsets.
28: */
29:
30: public class CharsetMenuItem extends CRadioButtonMenuItem {
31: protected Charset charset;
32:
33: /**
34: * Creates a new menu item for the given charset.
35: */
36: public CharsetMenuItem(Charset charset) {
37: super ("");
38: setCharset(charset);
39: }
40:
41: /**
42: * Returns the charset associated with this menu item.
43: */
44: public Charset getCharset() {
45: return charset;
46: }
47:
48: /**
49: * Sets the charset associated with this menu item. This is used for the
50: * selectedMenuItem property in CharacterEncodingSubMenu. This method
51: * adapts the display text accordingly.
52: */
53: public void setCharset(Charset charset) {
54: this .charset = charset;
55:
56: String charsetName;
57:
58: if (charset == null) {
59: charsetName = "auto";
60: } else {
61: charsetName = charset.name();
62: }
63:
64: setText(MailResourceLoader.getString("menu", "mainframe",
65: "menu_view_charset_" + charsetName));
66: }
67: }
|