01: package org.columba.mail.gui.message.viewer;
02:
03: import java.util.TimerTask;
04:
05: import org.columba.core.command.CommandProcessor;
06: import org.columba.mail.command.IMailFolderCommandReference;
07: import org.columba.mail.folder.command.MarkMessageCommand;
08: import org.columba.mail.gui.message.IMessageController;
09:
10: public class MarkAsReadTimerTask extends TimerTask {
11:
12: private IMessageController controller;
13: private IMailFolderCommandReference r;
14:
15: /**
16: * @param controller
17: * @param r
18: */
19: public MarkAsReadTimerTask(IMessageController controller,
20: IMailFolderCommandReference r) {
21: this .controller = controller;
22: this .r = r;
23: }
24:
25: public void run() {
26: // If the same message is still shown
27: // Mark it as read
28: if (controller.getSelectedFolder() != null
29: && controller.getSelectedFolder().equals(
30: r.getSourceFolder())
31: && controller.getSelectedMessageId() != null
32: && controller.getSelectedMessageId().equals(
33: r.getUids()[0])) {
34: r.setMarkVariant(MarkMessageCommand.MARK_AS_READ);
35:
36: MarkMessageCommand c = new MarkMessageCommand(r);
37:
38: CommandProcessor.getInstance().addOp(c);
39: }
40: }
41: }
|