/* * RemoveMailTask.java * * Created on den 30 september 2001, 16:26 */ package ip1.u9; import javax.mail.Message; import ip1.u7.b.*; /** För allmän information om MailTask-klasserna, se ip1.7.b.MailTask * * @author Henrik Johansson,DS80 * @version ht2001 */ public class RemoveMailTask extends MailTask { protected MailClientGUI controller; protected Message message; protected ServerInfo serverInfo; /** Skapar en ny RemoveMailTask * * @param controller applikationens kontrollklass */ public RemoveMailTask(MailClientGUI controller) { super(controller); this.controller = controller; } /** initieringskod för RemoveMailTask. Anropas av kontrollanropet när MailTask skapas. * * @param controller applikationens kontrollklass */ protected void initMailTask(MailReceiverGUI controller) { // Prenumererar på MessageChosenEvents. Gör RemoveMailTask-objektet tillgängligt. controller.addMessageChosenListener(new MessageChosenListener() { public void dispatchMessageChosen(MessageChosenEvent evt) { if(serverInfo != null && (message = evt.getMessage()) != null) setEnabled(true); } }); // Prenumererar på ServerInfoChangeEvent. Gör RemoveMailTask-objektet otillgängligt. controller.addServerInfoChangeListener(new ServerInfoChangeListener() { public void dispatchServerInfoChange(ServerInfoChangeEvent evt) { serverInfo = evt.getServerInfo(); setEnabled(false); } }); setText("Ta bort mail"); setEnabled(false); } /** Instruerar kontrollklassen att kasta ett e-postmeddelande. */ protected void mailTascAction() { controller.removeMail(message); setEnabled(false); } }