This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 95a0a0559ad8d702fa80d40930fa1f0974f91647 Author: Kevin Morin <morin@codelutin.com> Date: Thu Feb 16 16:49:29 2017 +0100 fixes #9047 Contenu du mail : le mail est éditable quand on affiche la version texte --- .../ui/swing/content/demande/DemandeUIModel.java | 64 ++++++++++++---------- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 18 +++++- 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java index 2f5b2e2..c69c4a2 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java @@ -920,44 +920,50 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU } protected void decomposeEmail() { - try { - // ce code peut provoquer une NPE avec les données de test + if (t("faxtomail.demande.sender.manualCreation").equals(getSender())) { + plainContents = Lists.newArrayList(getOriginalEmailContent()); + toRecipients = Lists.newArrayList(getRecipient()); - Properties properties = new Properties(); - // set the mail.mime.address.strict to false to avoid - // javax.mail.internet.AddressException: Domain contains illegal character errors when recipients contains [] - properties.setProperty("mail.mime.address.strict", "false"); + } else { + try { + // ce code peut provoquer une NPE avec les données de test - Session session = Session.getInstance(properties); - MimeMessage message = MimeMessageUtils.createMimeMessage(session, getOriginalEmailContent()); + Properties properties = new Properties(); + // set the mail.mime.address.strict to false to avoid + // javax.mail.internet.AddressException: Domain contains illegal character errors when recipients contains [] + properties.setProperty("mail.mime.address.strict", "false"); - if (subject == null && message.getSubject() != null) { - subject = FaxToMailServiceUtils.getDecodedSubject(message.getSubject()); - } + Session session = Session.getInstance(properties); + MimeMessage message = MimeMessageUtils.createMimeMessage(session, getOriginalEmailContent()); - toRecipients = FaxToMailServiceUtils.convertAddressesToStrings(message.getRecipients(Message.RecipientType.TO)); - ccRecipients = FaxToMailServiceUtils.convertAddressesToStrings(message.getRecipients(Message.RecipientType.CC)); + if (subject == null && message.getSubject() != null) { + subject = FaxToMailServiceUtils.getDecodedSubject(message.getSubject()); + } + + toRecipients = FaxToMailServiceUtils.convertAddressesToStrings(message.getRecipients(Message.RecipientType.TO)); + ccRecipients = FaxToMailServiceUtils.convertAddressesToStrings(message.getRecipients(Message.RecipientType.CC)); - plainContents = null; - htmlContents = null; - if (message.isMimeType("multipart/*")) { - decomposeMultipartEmail(message); + plainContents = null; + htmlContents = null; + if (message.isMimeType("multipart/*")) { + decomposeMultipartEmail(message); - } else if (message.isMimeType("text/*")) { - String content = FaxToMailServiceUtils.getTextFromMessage(message); - if (plainContents == null) { - plainContents = new ArrayList<String>(); + } else if (message.isMimeType("text/*")) { + String content = FaxToMailServiceUtils.getTextFromMessage(message); + if (plainContents == null) { + plainContents = new ArrayList<>(); + } + plainContents.add(JAXXUtil.getStringValue(content)); } - plainContents.add(JAXXUtil.getStringValue(content)); - } - } catch (Exception e) { - if (log.isWarnEnabled()) { - log.warn("error while parsing the original email content, may come from the imported archives", e); + } catch (Exception e) { + if (log.isWarnEnabled()) { + log.warn("error while parsing the original email content, may come from the imported archives", e); + } + //may comes from the imported archives + plainContents = Lists.newArrayList(getOriginalEmailContent()); + toRecipients = Lists.newArrayList(getRecipient()); } - //may comes from the imported archives - plainContents = Lists.newArrayList(getOriginalEmailContent()); - toRecipients = Lists.newArrayList(getRecipient()); } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java index 9359998..55db3da 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java @@ -69,7 +69,6 @@ import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil; import org.nuiton.util.FileUtil; import org.nuiton.util.StringUtil; -import javax.mail.Address; import javax.media.jai.PlanarImage; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; @@ -91,6 +90,8 @@ import java.awt.Component; import java.awt.Desktop; import java.awt.Font; import java.awt.Graphics; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.awt.image.RenderedImage; import java.awt.print.PageFormat; @@ -351,7 +352,7 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { } public static void setEmailContentInTextPane(DemandeUIHandler handler, - DemandeUIModel demandeUIModel, + final DemandeUIModel demandeUIModel, JPanel textPanePanel) { List<String> contents = demandeUIModel.getHtmlContent(); @@ -376,7 +377,18 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { for (String content : contents) { if (content != null) { - JTextPane textPane = new JTextPane(); + final JTextPane textPane = new JTextPane(); + boolean newDemand = StringUtils.isBlank(demandeUIModel.getTopiaId()); + textPane.setEditable(newDemand); + if (newDemand) { + textPane.addKeyListener(new KeyAdapter() { + + @Override + public void keyReleased(KeyEvent e) { + demandeUIModel.getOriginalEmail().setContent(textPane.getText()); + } + }); + } textPane.setText(content); textPanePanel.add(textPane); textPanePanel.add(Box.createVerticalStrut(3)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.