/* * ExtendedMailSenderGUI.java * * Created on den 18 september 2001, 22:06 */ package ip1.u9; import ip1.u7.a.*; import javax.mail.internet.*; import javax.mail.*; import javax.swing.*; import java.io.*; import javax.activation.*; import ip1.u9.util.*; /**Dialog för att skriva och skicka e-postmeddelanden, med eller utan attachments. * * @author Henrik Johansson, DS80 * @version ht2001 */ public class ExtendedMailSenderGUI extends MailSenderGUI { private ExtendedPropertiesPanel propertiesPanel; private ExtendedContentPanel contentPanel; /** Skapar ett nytt ExtendedMailSenderGUI * *@param pp Headerdelen: hanterar avsändare, mottagare och ämesrad. *@param cp Innehållspanelen: hanterar innehåll och attachments. *@param messageWrap Bestämmer hur meddelandet skall formateras samt dess initiala innehåll. *@param parent Dialogens skapare. *@param closeOnSend Skall denna dialog stängas när meddelandet har sänts? *@param standAlone Skall hela applikationen avslutas när meddelandet har sänts? */ public ExtendedMailSenderGUI(ExtendedPropertiesPanel pp, ExtendedContentPanel cp, MessageWrap messageWrap, MailSender parent, boolean closeOnSend, boolean standAlone) { super(pp, cp, parent, closeOnSend, standAlone); propertiesPanel = pp; contentPanel = cp; mailSenderGUISetup(messageWrap); } /** Fyller mha messageWrap i e-postmeddelandets initiala innehåll. * MessageWrap-klasserna fungerar mha polymorfism. olika typer av brev * nytt, svar , forward osv kan därför initieras på samma sätt. * *@param messageWrap Bestämmer e-postmeddelandets initialvärde */ protected void mailSenderGUISetup(MessageWrap messageWrap) { try { propertiesPanel.setSubject(messageWrap.getSubject()); propertiesPanel.setMultiTO(messageWrap.getTO()); contentPanel.setContent(messageWrap.getContent()); contentPanel.setAttachments(messageWrap.getAttachments()); } catch(MessagingException e) { JOptionPane.showMessageDialog(null, e.toString(), "Error", JOptionPane.ERROR_MESSAGE); } catch(java.io.IOException e) { JOptionPane.showMessageDialog(null, e.toString(), "Error", JOptionPane.ERROR_MESSAGE); } } protected InternetAddress[] getMultiTO() { return propertiesPanel.getMultiTO(); } protected InternetAddress[] getCC() { return propertiesPanel.getCC(); } protected InternetAddress[] getBCC() { return propertiesPanel.getBCC(); } protected boolean hasAttachments() { return contentPanel.hasAttachments(); } protected Attachment[] getAttachments() { return contentPanel.getAttachments(); } /** Anropas när användaren redigerat färdigt meddelandet och tryckt på skicka-knappen */ public void sendMail() { new ExtendedSendMail(getAttachments(), getServer(), getContent(), getSubject(), getMultiTO(), getCC(), getBCC(), getFrom()); cleanup(); } }