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:
17: package org.columba.mail.gui.action;
18:
19: import java.awt.event.ActionEvent;
20:
21: import org.columba.api.gui.frame.IFrameMediator;
22: import org.columba.core.gui.action.AbstractColumbaAction;
23: import org.columba.core.xml.XmlElement;
24: import org.columba.mail.command.IMailFolderCommandReference;
25: import org.columba.mail.folder.IMailFolder;
26: import org.columba.mail.folder.IMailbox;
27: import org.columba.mail.gui.config.columns.ColumnConfigDialog;
28: import org.columba.mail.gui.frame.MailFrameMediator;
29: import org.columba.mail.util.MailResourceLoader;
30:
31: /**
32: * Open column config dialog.
33: *
34: * @author fdietz
35: */
36:
37: public class ColumnDialogAction extends AbstractColumbaAction {
38: public ColumnDialogAction(IFrameMediator frameMediator) {
39: super (frameMediator, MailResourceLoader.getString("dialog",
40: "columns", "title")
41: + "...");
42: }
43:
44: public void actionPerformed(ActionEvent arg0) {
45: IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())
46: .getTreeSelection();
47:
48: if (r != null) {
49: IMailFolder folder = (IMailFolder) r.getSourceFolder();
50:
51: if (folder == null) {
52: return;
53: }
54:
55: // check if we should use the folder-based configuration
56: // or the global table configuration
57: XmlElement columns = ((MailFrameMediator) getFrameMediator())
58: .getFolderOptionsController().getConfigNode(
59: (IMailbox) folder, "ColumnOptions");
60:
61: new ColumnConfigDialog(
62: (MailFrameMediator) getFrameMediator(), columns);
63: }
64: }
65: }
|