1 17 package org.columba.mail.folder.command; 18 19 import java.text.MessageFormat ; 20 21 import org.columba.api.command.ICommandReference; 22 import org.columba.api.command.IWorkerStatusController; 23 import org.columba.core.command.Command; 24 import org.columba.mail.command.IMailFolderCommandReference; 25 import org.columba.mail.command.MailFolderCommandReference; 26 import org.columba.mail.folder.IMailbox; 27 import org.columba.mail.util.MailResourceLoader; 28 29 42 public class MarkFolderAsReadCommand extends Command { 43 44 45 private IMailbox folderToBeRead; 46 47 50 private MarkMessageCommand markMessageCommand; 51 52 55 public MarkFolderAsReadCommand(ICommandReference reference) { 56 super(reference); 57 } 58 59 60 public void execute(IWorkerStatusController worker) throws Exception { 61 folderToBeRead = (IMailbox) ((IMailFolderCommandReference) getReference()).getSourceFolder(); 63 64 worker.setDisplayText(MessageFormat.format( 65 MailResourceLoader.getString("statusbar", "message", 66 "folder_markasread"), new Object [] {folderToBeRead.getName()})); 67 68 worker.clearDisplayTextWithDelay(); 69 70 IMailFolderCommandReference markCommandRefs = new MailFolderCommandReference(folderToBeRead); 71 Object [] uids = folderToBeRead.getUids(); 72 if ((uids != null) && (uids.length > 0)) { 73 markCommandRefs.setUids(uids); 74 markCommandRefs.setMarkVariant(MarkMessageCommand.MARK_AS_READ); 75 76 markMessageCommand = new MarkMessageCommand(markCommandRefs); 77 markMessageCommand.execute(worker); 78 } 79 } 80 81 } 82 | Popular Tags |