branch feature/9937_9938_alignements_et_tailles_des_pieces_jointes created (now c6b298c9)
This is an automated email from the git hooks/post-receive script. New change to branch feature/9937_9938_alignements_et_tailles_des_pieces_jointes in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git at c6b298c9 refs #9937 #9938 : Alignements et tailles des aperçues des piéces jointes This branch includes the following new commits: new c6b298c9 refs #9937 #9938 : Alignements et tailles des aperçues des piéces jointes The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit c6b298c9dfa6eaa4ae06fe19ca9b0179134d523a Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Jun 8 09:52:00 2018 +0200 refs #9937 #9938 : Alignements et tailles des aperçues des piéces jointes -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/9937_9938_alignements_et_tailles_des_pieces_jointes in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit c6b298c9dfa6eaa4ae06fe19ca9b0179134d523a Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Jun 8 09:52:00 2018 +0200 refs #9937 #9938 : Alignements et tailles des aperçues des piéces jointes --- .../faxtomail/FaxToMailConfiguration.java | 4 ++++ .../faxtomail/FaxToMailConfigurationOption.java | 7 +++++++ .../i18n/faxtomail-persistence_fr_FR.properties | 1 + .../ui/swing/content/demande/DemandeUIHandler.java | 2 +- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 22 +++++++++++++++++++--- .../faxtomail/ui/swing/util/JImagePanel.java | 6 ++++++ 6 files changed, 38 insertions(+), 4 deletions(-) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java index 1c7b57a2..629b0744 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java @@ -466,4 +466,8 @@ public class FaxToMailConfiguration extends ApplicationConfiguration { public int getClientComboBoxFilterStartChars() { return applicationConfig.getOptionAsInt(FaxToMailConfigurationOption.CLIENT_COMBOBOX_FILTER_START_CHARS.getKey()); } + + public int getMaxWidthImageInTextPane() { + return applicationConfig.getOptionAsInt(FaxToMailConfigurationOption.MAX_WIDTH_IMAGE_IN_TEXT_PANE.getKey()); + } } diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java index 9098d932..12847b73 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java @@ -361,6 +361,13 @@ defaults.put("Table.alternateRowColor", new Color(217, 217, 217)); n("faxtomail.config.option.ui.clientComboBoxFilterStartChars.description"), "3", Integer.class + ), + + MAX_WIDTH_IMAGE_IN_TEXT_PANE( + "faxtomail.ui.maxWidthImageInTextPane", + n("faxtomail.config.option.ui.maxWidthImageInTextPane.description"), + "800", + Integer.class ); /** Configuration key. */ diff --git a/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties b/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties index ff7c5cb5..4184fb34 100644 --- a/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties +++ b/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties @@ -22,6 +22,7 @@ faxtomail.config.option.ui.dateFormat.description= faxtomail.config.option.ui.defaultPrintMargin.description=Marges par défaut pour l'impression faxtomail.config.option.ui.defaultZoomStepSize.description= faxtomail.config.option.ui.defaultZoomValue.description= +faxtomail.config.option.ui.maxWidthImageInTextPane.description=Largeur maximal des images en aperçus des pièces jointes faxtomail.config.option.ui.printDetailPage.description=Impression de la page de détail d'une demande lors de l'impression depuis un dossier faxtomail.config.option.ui.refreshListInterval.description= faxtomail.config.option.ui.resultPerPage.description= diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java index b8f0bd61..1f229ce2 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java @@ -248,7 +248,7 @@ public class DemandeUIHandler extends AbstractFaxToMailUIHandler<DemandeUIModel, initBeanFilterableComboBox(ui.getWaitingStateComboBox(), waitingStates, model.getWaitingState()); JPanel editorPanel = ui.getMailBodyPanel(); - FaxToMailUIUtil.setEmailContentInTextPane(this, model, editorPanel); + FaxToMailUIUtil.setEmailContentInTextPane(this, model, editorPanel, getConfig()); FaxToMailUIUtil.initScrollPaneBars(getUI().getMailBodyScrollPane()); // init table 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 7e2bc380..fbc88967 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 @@ -92,6 +92,7 @@ import javax.swing.tree.TreeModel; import java.awt.Color; import java.awt.Component; import java.awt.Desktop; +import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; @@ -334,7 +335,8 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { public static void setEmailContentInTextPane(DemandeUIHandler handler, final DemandeUIModel demandeUIModel, - JPanel textPanePanel) { + JPanel textPanePanel, + FaxToMailConfiguration config) { List<String> contents = demandeUIModel.getHtmlContent(); @@ -371,6 +373,7 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { }); } textPane.setText(content); + textPane.setAlignmentX(Component.LEFT_ALIGNMENT); textPanePanel.add(textPane); textPanePanel.add(Box.createVerticalStrut(3)); } @@ -385,7 +388,7 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { if (Boolean.TRUE.equals(mailFolder.getShowAttachmentPreview())) { for (Attachment attachment : demandeUIModel.getAttachment()) { if (!attachment.isInlineAttachment() && !attachment.isMailContent() && !attachment.isAddedByUser()) { - addAttachmentPane(handler, textPanePanel, attachment); + addAttachmentPane(handler, textPanePanel, attachment, config); } } } @@ -940,7 +943,8 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { protected static void addAttachmentPane(final DemandeUIHandler handler, JPanel textPanePanel, - final Attachment attachment) { + final Attachment attachment, + FaxToMailConfiguration config) { if (isFileTypeEditable(attachment.getOriginalFileName())) { forceAttachmentFileLoading(handler.getContext(), attachment); @@ -968,6 +972,7 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { JImagePanel imagePanel = new JImagePanel(); imagePanel.setScaleImageToFitPanel(true); imagePanel.setImage(renderer.renderImage(i)); + imagePanel.setAlignmentX(Component.LEFT_ALIGNMENT); box.add(imagePanel); box.add(Box.createVerticalStrut(3)); } @@ -988,6 +993,7 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { JImagePanel imagePanel = new JImagePanel(); imagePanel.setScaleImageToFitPanel(true); imagePanel.setImage(awtImage); + imagePanel.setAlignmentX(Component.LEFT_ALIGNMENT); box.add(imagePanel); box.add(Box.createVerticalStrut(3)); } @@ -999,16 +1005,26 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { } else if (isFileATxt(originalAttachmentFile)) { JTextPane textPane = new JTextPane(); textPane.setText(FileUtils.readFileToString(originalFile)); + textPane.setAlignmentX(Component.LEFT_ALIGNMENT); box.add(textPane); } else { JImagePanel imagePanel = new JImagePanel(); + + int maxWidth = config.getMaxWidthImageInTextPane(); + if (maxWidth > 0) { + Dimension maximumSize = new Dimension(maxWidth, imagePanel.getMaximumSize().height); + imagePanel.setMaximumSize(maximumSize); + } + imagePanel.setScaleImageToFitPanel(true); imagePanel.setImage(originalFile); + imagePanel.setAlignmentX(Component.LEFT_ALIGNMENT); box.add(imagePanel); } box.setAlignmentY(Component.TOP_ALIGNMENT); + box.setAlignmentX(Component.LEFT_ALIGNMENT); textPanePanel.add(box); } catch (IOException e) { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/JImagePanel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/JImagePanel.java index f38a03d8..2cff8509 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/JImagePanel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/JImagePanel.java @@ -116,6 +116,12 @@ public class JImagePanel extends JPanel { int newWidth = rotation % 180 == 0 ? srcWidth : srcHeight; int newHeight = rotation % 180 == 0 ? srcHeight : srcWidth; + if (newWidth > getMaximumSize().width) { + newHeight = newHeight * getMaximumSize().width / newWidth; + newWidth = getMaximumSize().width; + scaledImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH); + } + Dimension size = new Dimension(newWidth, newHeight); setPreferredSize(size); setMinimumSize(size); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm