branch develop updated (334943b -> f9a175e)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See http://git.codelutin.com/faxtomail.git from 334943b [jgitflow-maven-plugin]Updating develop poms back to pre merge state new b0ca3da fixes #7076 Ajouter l'heure de livraison dans le fichier EDI new f9a175e fixes #7077 Affichage d’une infobulle lorsqu’il y a des éléments groupés The 2 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 f9a175e5ee253abb70bbd68514969fad379a0bbd Author: Kevin Morin <morin@codelutin.com> Date: Thu May 7 12:16:57 2015 +0200 fixes #7077 Affichage d’une infobulle lorsqu’il y a des éléments groupés commit b0ca3da8f375577e1d971e834135b4a044443852 Author: Kevin Morin <morin@codelutin.com> Date: Wed May 6 18:56:08 2015 +0200 fixes #7076 Ajouter l'heure de livraison dans le fichier EDI Summary of changes: .../faxtomail/FaxToMailConfiguration.java | 12 ++ .../faxtomail/FaxToMailConfigurationOption.java | 18 +++ .../i18n/faxtomail-persistence_fr_FR.properties | 2 + .../services/service/EmailServiceImpl.java | 2 +- .../ui/swing/content/demande/DemandesUI.jaxx | 6 +- .../swing/content/demande/DemandesUIHandler.java | 11 +- .../demandgroup/DemandGroupHighlightDialog.java | 138 +++++++++++++++++++++ .../faxtomail/ui/swing/util/CloseButton.java | 68 ++++++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 1 + .../src/main/resources/icons/close-white.png | Bin 0 -> 233 bytes 10 files changed, 255 insertions(+), 3 deletions(-) create mode 100644 faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupHighlightDialog.java create mode 100644 faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseButton.java create mode 100644 faxtomail-ui-swing/src/main/resources/icons/close-white.png -- 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 http://git.codelutin.com/faxtomail.git commit b0ca3da8f375577e1d971e834135b4a044443852 Author: Kevin Morin <morin@codelutin.com> Date: Wed May 6 18:56:08 2015 +0200 fixes #7076 Ajouter l'heure de livraison dans le fichier EDI --- .../com/franciaflex/faxtomail/services/service/EmailServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index a440981..8e0b3f8 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -646,7 +646,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe //03/Date traitement/Date/6/JJMMAA dte système ediWriter.write(DateFormatUtils.format(now, "ddMMyy") + separator); //04/Date livraison prévue/Date/6/JJMMAA dte de réception - ediWriter.write(DateFormatUtils.format(email.getReceptionDate(), "ddMMyy") + separator); + ediWriter.write(DateFormatUtils.format(email.getReceptionDate(), "ddMMyy HHmmss") + separator); //05/Commentaire/Alpha/70/Vide ediWriter.write(separator); //06/Commentaire/Alpha/70/Vide -- 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 http://git.codelutin.com/faxtomail.git commit f9a175e5ee253abb70bbd68514969fad379a0bbd Author: Kevin Morin <morin@codelutin.com> Date: Thu May 7 12:16:57 2015 +0200 fixes #7077 Affichage d’une infobulle lorsqu’il y a des éléments groupés --- .../faxtomail/FaxToMailConfiguration.java | 12 ++ .../faxtomail/FaxToMailConfigurationOption.java | 18 +++ .../i18n/faxtomail-persistence_fr_FR.properties | 2 + .../ui/swing/content/demande/DemandesUI.jaxx | 6 +- .../swing/content/demande/DemandesUIHandler.java | 11 +- .../demandgroup/DemandGroupHighlightDialog.java | 138 +++++++++++++++++++++ .../faxtomail/ui/swing/util/CloseButton.java | 68 ++++++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 1 + .../src/main/resources/icons/close-white.png | Bin 0 -> 233 bytes 9 files changed, 254 insertions(+), 2 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 f73df3b..6358ed7 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java @@ -399,6 +399,18 @@ public class FaxToMailConfiguration extends ApplicationConfiguration { return applicationConfig.getOptionAsColor(FaxToMailConfigurationOption.COLOR_SELECTED_ROW.getKey()); } + public Color getColorGroupedDemandWarningDialog() { + return applicationConfig.getOptionAsColor(FaxToMailConfigurationOption.COLOR_GROUPED_DEMAND_WARNING_DIALOG.getKey()); + } + + public float getFontSizeGroupedDemandWarningDialog() { + return applicationConfig.getOptionAsFloat(FaxToMailConfigurationOption.FONT_SIZE_GROUPED_DEMAND_WARNING_DIALOG.getKey()); + } + + public int getDelayGroupedDemandWarningDialog() { + return applicationConfig.getOptionAsInt(FaxToMailConfigurationOption.DELAY_GROUPED_DEMAND_WARNING_DIALOG.getKey()); + } + public int getResultPerPage() { return applicationConfig.getOptionAsInt(FaxToMailConfigurationOption.RESULT_PER_PAGE.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 13a67d0..97e0081 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java @@ -286,6 +286,24 @@ defaults.put("Table.alternateRowColor", new Color(217, 217, 217)); Color.class ), + COLOR_GROUPED_DEMAND_WARNING_DIALOG("faxtomail.ui.color.groupedDemandWarningDialog", + n("faxtomail.ui.color.groupedDemandWarningDialog.description"), + new Color(255, 255, 0).toString(), + Color.class + ), + + FONT_SIZE_GROUPED_DEMAND_WARNING_DIALOG("faxtomail.ui.fontSize.groupedDemandWarningDialog", + n("faxtomail.ui.fontSize.groupedDemandWarningDialog.description"), + "20.0f", + Float.class + ), + + DELAY_GROUPED_DEMAND_WARNING_DIALOG("faxtomail.ui.delay.groupedDemandWarningDialog", + n("faxtomail.ui.delay.groupedDemandWarningDialog.description"), + "10000", + Integer.class + ), + SHORTCUT_CLOSE_POPUP( "faxtomail.ui.shortcut.closePopup", n("faxtomail.config.option.ui.shortcut.closePopup.description"), 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 fbc0a2d..82bb308 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 @@ -47,3 +47,5 @@ faxtomail.persistence.loader.error= faxtomail.persistence.mkDir.error= faxtomail.service.config.deleteTempDirectory.error= faxtomail.service.mkDir.error= +faxtomail.ui.color.delay.groupedDemandWarningDialog.description= +faxtomail.ui.color.groupedDemandWarningDialog.description= diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUI.jaxx b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUI.jaxx index f6032ad..71a57bd 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUI.jaxx +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUI.jaxx @@ -22,13 +22,15 @@ #L% --> <JPanel id='demandsPanel' layout="{ new BorderLayout() }" - implements='com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI<DemandesUIModel, DemandesUIHandler>'> + implements='com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI<DemandesUIModel, DemandesUIHandler>' + onAncestorAdded="handler.showDemandGroupHighlightDialog()"> <import> com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup.ButtonEmailGroup + com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup.DemandGroupHighlightDialog </import> <script><![CDATA[ @@ -63,4 +65,6 @@ <JButton id="groupButton" onActionPerformed="handler.group()"/> </JPanel> + <DemandGroupHighlightDialog id="demandGroupHighlightDialog" constructorParams="getHandler().getContext(), demandGroupButton"/> + </JPanel> diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java index b4224b7..94b7d9c 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java @@ -155,6 +155,7 @@ public class DemandesUIHandler extends AbstractFaxToMailUIHandler<DemandesUIMode DemandeUIModel currentEmail = getContext().getCurrentEmail(); model.addDemand(currentEmail); + } protected void updateButtonEnability() { @@ -315,9 +316,11 @@ public class DemandesUIHandler extends AbstractFaxToMailUIHandler<DemandesUIMode } protected void closeButtonPopups() { + getUI().getDemandGroupHighlightDialog().setVisible(false); + DemandeUI demandeUI = (DemandeUI) getTabPanel().getSelectedComponent(); demandeUI.getHandler().closeButtonPopups(); - ui.getDemandGroupButton().setSelected(false); + getUI().getDemandGroupButton().setSelected(false); } public void save() { @@ -365,4 +368,10 @@ public class DemandesUIHandler extends AbstractFaxToMailUIHandler<DemandesUIMode AbstractApplicationAction action = getContext().getActionFactory().createLogicAction(this, actionClass); getContext().getActionEngine().runAction(action); } + + public void showDemandGroupHighlightDialog() { + if (getModel().getCurrentDemand().getGroupedDemandes().size() > 1) { + getUI().getDemandGroupHighlightDialog().setVisible(true); + } + } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupHighlightDialog.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupHighlightDialog.java new file mode 100644 index 0000000..05c7678 --- /dev/null +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupHighlightDialog.java @@ -0,0 +1,138 @@ +package com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup; + +import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; +import com.franciaflex.faxtomail.ui.swing.util.CloseButton; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.HierarchyBoundsAdapter; +import java.awt.event.HierarchyEvent; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + * @since 1.3 + */ +public class DemandGroupHighlightDialog extends JDialog { + + protected final ButtonEmailGroup buttonEmailGroup; + protected boolean popupMoving; + protected final Timer timer; + + public DemandGroupHighlightDialog(FaxToMailUIContext context, ButtonEmailGroup buttonEmailGroup) { + super(context.getMainUI()); + + this.buttonEmailGroup = buttonEmailGroup; + + timer = new Timer(context.getConfig().getDelayGroupedDemandWarningDialog(), new ActionListener() { + public void actionPerformed(ActionEvent e) { + dispose(); + } + }); + + init(context.getConfig().getColorGroupedDemandWarningDialog(), + context.getConfig().getFontSizeGroupedDemandWarningDialog()); + } + + protected void init(Color bgColor, float fontSize) { + setUndecorated(true); + setAlwaysOnTop(true); + setResizable(false); + + getContentPane().setLayout(new BorderLayout()); + + JLabel jLabel = new JLabel(t("faxtomail.demandGroup.warning.label")); + jLabel.setFont(jLabel.getFont().deriveFont(Font.BOLD, fontSize)); + + JPanel messagePanel = new JPanel(); + messagePanel.setBackground(bgColor); + messagePanel.add(jLabel); + messagePanel.add(new CloseButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + dispose(); + } + })); + + getContentPane().add(messagePanel, BorderLayout.CENTER); + + getContentPane().add(new ArrowPanel(bgColor), BorderLayout.SOUTH); + + pack(); + + buttonEmailGroup.addHierarchyBoundsListener(new HierarchyBoundsAdapter() { + + @Override + public void ancestorMoved(HierarchyEvent e) { + if (isShowing()) { + + // place dialog just under the button + popupMoving = true; + try { + place(); + + } finally { + popupMoving = false; + } + } + } + }); + } + + protected void place() { + Point point = new Point(buttonEmailGroup.getLocationOnScreen()); + point.translate(- getWidth() + buttonEmailGroup.getWidth(), - getHeight() - 5); + setLocation(point.getLocation()); + } + + @Override + public void setVisible(boolean b) { + if (!isVisible() && b) { + place(); + timer.start(); + + } else if (!b) { + timer.stop(); + } + + super.setVisible(b); + + } + + private class ArrowPanel extends JPanel { + private final int width = 10; + private final int height = 5; + private final Color arrowColor; + + ArrowPanel(Color color) { + arrowColor = color; + } + + @Override + public Dimension getPreferredSize() { + return new Dimension(width, height); + } + + @Override + public Color getBackground() { + return null; + } + + @Override + public void paint(Graphics g) { + Point point1 = new Point(getWidth() - 10, 0); + Point point2 = new Point(point1.x - width, point1.y); + Point point3 = new Point(point1.x - width / 2, point1.y + height); + + g.setColor(arrowColor); + g.drawLine(point1.x, point1.y, point2.x, point2.y); + g.drawLine(point1.x, point1.y, point3.x, point3.y); + g.drawLine(point2.x, point2.y, point3.x, point3.y); + g.fillPolygon(new int[]{point1.x, point2.x, point3.x}, new int[]{point1.y, point2.y, point3.y}, 3); + } + } + +} diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseButton.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseButton.java new file mode 100644 index 0000000..66aa28c --- /dev/null +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseButton.java @@ -0,0 +1,68 @@ +package com.franciaflex.faxtomail.ui.swing.util; + +import jaxx.runtime.SwingUtil; + +import javax.swing.*; +import java.awt.*; +import java.awt.geom.Ellipse2D; + +/** + * @author Kevin Morin (Code Lutin) + * @since 1.3 + */ +public class CloseButton extends JButton { + + public CloseButton(AbstractAction action) { + super(action); + + setModel(new DefaultButtonModel()); + + init(null, SwingUtil.createImageIcon("close-white.png")); + + setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); + setBackground(Color.BLACK); + setContentAreaFilled(false); + setFocusPainted(false); + setAlignmentY(Component.TOP_ALIGNMENT); + + initShape(); + } + + protected Shape shape, base; + + protected void initShape() { + if (!getBounds().equals(base)) { + Dimension s = getPreferredSize(); + base = getBounds(); + shape = new Ellipse2D.Float(0, 0, s.width - 1, s.height - 1); + } + } + + @Override + public Dimension getPreferredSize() { + Icon icon = getIcon(); + Insets i = getInsets(); + int iw = Math.max(icon.getIconWidth(), icon.getIconHeight()); + return new Dimension(iw + i.right + i.left, iw + i.top + i.bottom); + } + + @Override + protected void paintBorder(Graphics g) { + initShape(); + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + g2.setColor(getBackground()); + //g2.setStroke(new BasicStroke(1.0f)); + g2.draw(shape); + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + } + + @Override + public boolean contains(int x, int y) { + initShape(); + return shape.contains(x, y); + //or return super.contains(x, y) && ((image.getRGB(x, y) >> 24) & 0xff) > 0; + } +} diff --git a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties index 4d00e1a..d455bc8 100644 --- a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties +++ b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties @@ -88,6 +88,7 @@ faxtomail.demandGroup.action.tip=Éléments groupés avec l'élément courant faxtomail.demandGroup.empty=Aucun élément groupé faxtomail.demandGroup.text=Groupe (%s) faxtomail.demandGroup.title=Groupe +faxtomail.demandGroup.warning.label=Groupage faxtomail.demandGroupCellRenderer.text=(%s) faxtomail.demandReplies.action.forward.tip=Transmettre la réponse faxtomail.demandReplies.action.open.tip=Visualiser la réponse diff --git a/faxtomail-ui-swing/src/main/resources/icons/close-white.png b/faxtomail-ui-swing/src/main/resources/icons/close-white.png new file mode 100644 index 0000000..a1d0689 Binary files /dev/null and b/faxtomail-ui-swing/src/main/resources/icons/close-white.png differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm