1 package org.columba.mail.mailchecking; 17 18 import java.util.Enumeration ; 19 20 import javax.swing.tree.DefaultMutableTreeNode ; 21 22 import org.columba.core.command.CommandProcessor; 23 import org.columba.mail.command.MailFolderCommandReference; 24 import org.columba.mail.config.AccountItem; 25 import org.columba.mail.folder.imap.CheckForNewMessagesCommand; 26 import org.columba.mail.folder.imap.IMAPFolder; 27 import org.columba.mail.folder.imap.IMAPRootFolder; 28 import org.columba.mail.gui.tree.FolderTreeModel; 29 30 35 public class IMAPMailCheckingAction extends AbstractMailCheckingAction { 36 private int accountUid; 37 38 44 public IMAPMailCheckingAction(AccountItem accountItem) { 45 super(accountItem); 46 47 accountUid = accountItem.getUid(); 49 } 50 51 54 public void check() { 55 setEnabled(false); 56 IMAPRootFolder imapRootFolder = (IMAPRootFolder) FolderTreeModel.getInstance() 57 .getImapFolder(accountUid); 58 59 Enumeration children = imapRootFolder.breadthFirstEnumeration(); 60 61 while( children.hasMoreElements()) { 62 DefaultMutableTreeNode child = (DefaultMutableTreeNode )children.nextElement(); 63 if( child instanceof IMAPFolder ) { 64 IMAPFolder folder = (IMAPFolder) child; 65 66 if( folder.getName().equalsIgnoreCase("INBOX") || folder.getConfiguration().getBooleanWithDefault("activeSync", false)) { 67 MailFolderCommandReference r = new MailFolderCommandReference(folder); 68 CommandProcessor.getInstance().addOp(new CheckForNewMessagesCommand(this, r)); 69 } 70 } 71 72 } 73 74 } 75 76 79 public boolean isCheckAll() { 80 IMAPRootFolder imapRootFolder = (IMAPRootFolder) FolderTreeModel.getInstance() 81 .getImapFolder(accountUid); 82 return !imapRootFolder.getAccountItem().getImapItem().getBooleanWithDefault( 83 "exclude_from_checkall", false); 84 } 85 } | Popular Tags |