1 package org.columba.mail.folderoptions; 17 18 import org.columa.core.config.IDefaultItem; 19 import org.columba.core.config.DefaultItem; 20 import org.columba.core.xml.XmlElement; 21 import org.columba.mail.folder.IMailbox; 22 import org.columba.mail.gui.frame.MailFrameMediator; 23 import org.columba.mail.gui.frame.TableViewOwner; 24 import org.columba.mail.gui.table.ITableController; 25 import org.columba.mail.gui.table.SortingStateObservable; 26 27 28 34 public class SortingOptionsPlugin extends AbstractFolderOptionsPlugin { 35 40 public SortingOptionsPlugin(MailFrameMediator mediator) { 41 super("sorting", "SortingOptions", mediator); 42 } 43 44 47 public void loadOptionsFromXml(IMailbox folder) { 48 XmlElement sorting = getConfigNode(folder); 49 IDefaultItem item = new DefaultItem(sorting); 50 51 String column = item.get("column"); 52 53 if (column == null) { 54 column = "Date"; 55 } 56 57 boolean order = item.getBooleanWithDefault("order", true); 58 59 ITableController tableController = ((ITableController)((TableViewOwner) getMediator()).getTableController()); 60 61 tableController.setSortingColumn(column); 62 tableController.setSortingOrder(order); 63 64 ((SortingStateObservable)tableController.getSortingStateObservable()) 66 .setSortingState(column, order); 67 } 68 69 72 public void saveOptionsToXml(IMailbox folder) { 73 XmlElement sorting = getConfigNode(folder); 74 ITableController tableController =((ITableController)((TableViewOwner) getMediator()).getTableController()); 75 76 String column = tableController.getSortingColumn(); 77 boolean order = tableController.getSortingOrder(); 78 79 sorting.addAttribute("column", column); 80 sorting.addAttribute("order", Boolean.toString(order)); 81 } 82 83 86 public XmlElement createDefaultElement(boolean global) { 87 XmlElement sorting = super.createDefaultElement(global); 88 sorting.addAttribute("column", "Date"); 89 sorting.addAttribute("order", "true"); 90 91 return sorting; 92 } 93 } 94 | Popular Tags |