branch develop updated (c46d648b -> e37c4c8f)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git from c46d648b Merge branch 'feature/memoryLeak' into develop new e37c4c8f refs #10074 : complete fix \o/ 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 e37c4c8f7b33918895c2667b8ee88e6b7e1da573 Author: jcouteau <couteau@codelutin.com> Date: Fri Oct 19 10:46:17 2018 +0200 refs #10074 : complete fix \o/ Summary of changes: .../ui/swing/content/demande/DemandeUIHandler.java | 69 +++++++++++++++------- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 18 +++--- 2 files changed, 56 insertions(+), 31 deletions(-) -- 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 develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit e37c4c8f7b33918895c2667b8ee88e6b7e1da573 Author: jcouteau <couteau@codelutin.com> Date: Fri Oct 19 10:46:17 2018 +0200 refs #10074 : complete fix \o/ --- .../ui/swing/content/demande/DemandeUIHandler.java | 69 +++++++++++++++------- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 18 +++--- 2 files changed, 56 insertions(+), 31 deletions(-) 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 7733ed9f..8204397d 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 @@ -39,6 +39,7 @@ import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentListener; import com.franciaflex.faxtomail.ui.swing.content.demande.actions.SaveDemandeAction; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; +import com.franciaflex.faxtomail.ui.swing.util.JImagePanel; import com.google.common.collect.Sets; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.JAXXWidgetUtil; @@ -75,6 +76,7 @@ import java.awt.event.ComponentEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; +import java.awt.image.BufferedImage; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; @@ -255,37 +257,64 @@ public class DemandeUIHandler extends AbstractFaxToMailUIHandler<DemandeUIModel, final JScrollPane mailBodyScrollPane = getUI().getMailBodyScrollPane(); FaxToMailUIUtil.initScrollPaneBars(mailBodyScrollPane); - //resize panel, after set visible, cf. #10016 - mailBodyPanel.addAncestorListener ( new AncestorListener() - { - public void ancestorAdded ( AncestorEvent event ) - { - mailBodyPanel.setMaximumSize(new Dimension(mailBodyScrollPane.getWidth()-30, Integer.MAX_VALUE)); - mailBodyPanel.setPreferredSize(new Dimension(mailBodyScrollPane.getWidth()-30, mailBodyPanel.getHeight())); - mailBodyPanel.repaint(); + mailBodyPanel.addComponentListener(new java.awt.event.ComponentAdapter() { + @Override + public void componentResized(ComponentEvent componentEvent) { + super.componentResized(componentEvent); + resize(); + } + + @Override + public void componentMoved(ComponentEvent componentEvent) { + super.componentMoved(componentEvent); + resize(); + } - //Hack to solve #10074 - //Simulate mouse operating scrollbar to resize email content - JScrollPane mailBodyScrollPane = getUI().getMailBodyScrollPane(); - JScrollBar sb = mailBodyScrollPane.getVerticalScrollBar(); - sb.setValue(sb.getMaximum()); - sb.setValue(sb.getMinimum()); + @Override + public void componentShown(ComponentEvent componentEvent) { + super.componentShown(componentEvent); + resize(); } - public void ancestorRemoved ( AncestorEvent event ){ - //Do nothing + @Override + public void componentHidden(ComponentEvent componentEvent) { + super.componentHidden(componentEvent); + resize(); } - public void ancestorMoved ( AncestorEvent event ){ - //Do nothing + public void resize(){ + JScrollPane holder = (JScrollPane) mailBodyPanel.getComponent(0); + JTextPane pane = (JTextPane) ((JViewport) holder.getComponent(0)).getComponent(0); + + //compute box height so that it can be taken into account later on + int boxHeight = 0; + for (Component component:mailBodyPanel.getComponents()){ + if (!(component instanceof JScrollPane)){ + boxHeight += component.getHeight(); + } + } + + holder.setPreferredSize(new Dimension(mailBodyPanel.getWidth(), pane.getHeight())); + holder.setMinimumSize(new Dimension(mailBodyPanel.getWidth(), pane.getHeight())); + + //Resize mailBodyPanel so that it takes pane height + box height + if (boxHeight < 0) { + mailBodyPanel.setPreferredSize(new Dimension(mailBodyScrollPane.getWidth() - 30, pane.getHeight() - boxHeight)); + mailBodyPanel.setMaximumSize(new Dimension(mailBodyScrollPane.getWidth() - 30, Integer.MAX_VALUE)); + } else { + mailBodyPanel.setPreferredSize(new Dimension(mailBodyScrollPane.getWidth() - 30, pane.getHeight() + boxHeight)); + mailBodyPanel.setMaximumSize(new Dimension(mailBodyScrollPane.getWidth() - 30, Integer.MAX_VALUE)); + } + + mailBodyPanel.repaint(); } - } ); + }); // init table final JXTable table = ui.getRangeTable(); // utilisation des gammes défini pour le dossier (si défini) - List<Range> ranges = new ArrayList<Range>(); + List<Range> ranges = new ArrayList<>(); Collection<Range> folderRanges = getRangeForFolder(folder); if (CollectionUtils.isEmpty(folderRanges)) { ranges.addAll(getContext().getRangeCache()); 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 1db9693d..87bb7c75 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 @@ -76,16 +76,7 @@ import javax.imageio.ImageIO; import javax.media.jai.PlanarImage; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; -import javax.swing.BorderFactory; -import javax.swing.Box; -import javax.swing.Icon; -import javax.swing.JEditorPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextPane; -import javax.swing.JTree; -import javax.swing.SwingUtilities; -import javax.swing.SwingWorker; +import javax.swing.*; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; import javax.swing.tree.DefaultMutableTreeNode; @@ -982,7 +973,12 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { textPane.setText(content); textPane.setAlignmentX(Component.LEFT_ALIGNMENT); - textPanePanel.add(textPane); + JScrollPane holder = new JScrollPane(textPane); + holder.setAlignmentX(Component.LEFT_ALIGNMENT); + holder.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); + holder.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + + textPanePanel.add(holder); textPanePanel.add(Box.createVerticalStrut(3)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm