1 package org.columba.mail.gui.action; 19 20 import java.awt.event.ActionEvent ; 21 import java.util.Observable ; 22 import java.util.Observer ; 23 24 import org.columa.core.config.IDefaultItem; 25 import org.columba.api.gui.frame.IFrameMediator; 26 import org.columba.core.config.DefaultItem; 27 import org.columba.core.config.ViewItem; 28 import org.columba.core.gui.action.AbstractSelectableAction; 29 import org.columba.core.gui.frame.DefaultFrameController; 30 import org.columba.core.xml.XmlElement; 31 import org.columba.mail.gui.frame.ThreePaneMailFrameController; 32 33 39 public class ShowMessagePreviewAction extends AbstractSelectableAction 40 implements Observer { 41 42 private XmlElement element; 43 44 47 public ShowMessagePreviewAction(IFrameMediator controller) { 48 super(controller, "Message Preview"); 49 50 ViewItem item = ((DefaultFrameController)frameMediator).getViewItem(); 51 52 element = item.getRoot().getElement("splitpanes"); 53 if ( element == null ) { 54 element = new XmlElement("splitpanes"); 55 item.getRoot().addElement(element); 56 } 57 58 element.addObserver(this); 59 60 update(element, null); 61 62 } 63 64 67 public void actionPerformed(ActionEvent arg0) { 68 69 70 ((ThreePaneMailFrameController) frameMediator) 71 .enableMessagePreview(getState()); 72 73 76 } 77 78 84 public void update(Observable arg0, Object arg1) { 85 86 IDefaultItem item = new DefaultItem(element); 87 boolean enabled = item.getBooleanWithDefault("header_enabled", true); 88 89 setState(enabled); 90 } 91 } | Popular Tags |