Author: kmorin Date: 2014-04-25 11:30:22 +0200 (Fri, 25 Apr 2014) New Revision: 47 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/47 Log: refs #4655 [ECRAN] D?\195?\169tail d'un mail / fax la popup de transmission ou impression se cachait tout de suite si on sauvait une modification avant de l'ouvrir Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenDialogAction.java Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenDialogAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenDialogAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenDialogAction.java 2014-04-25 09:30:22 UTC (rev 47) @@ -0,0 +1,56 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; +import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI; + +import java.awt.*; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public class SaveAndOpenDialogAction extends SaveDemandeAction { + + protected boolean modal; + protected FaxToMailUI dialogContent; + protected String title; + protected Dimension dimension; + + public SaveAndOpenDialogAction(DemandeUIHandler handler, + boolean modal, + FaxToMailUI dialogContent, + String title, + Dimension dimension) { + super(handler); + this.modal = modal; + this.dialogContent = dialogContent; + this.title = title; + this.dimension = dimension; + } + + @Override + public void doAction() throws Exception { + DemandeUIModel model = getModel(); + if (model.getTakenBy() == null) { + model.setTakenBy(getContext().getCurrentUser()); + } + + if (getHandler().getMonitor().wasModified()) { + super.doAction(); + } + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + + DemandeUIHandler handler = getHandler(); + if (modal) { + handler.openDialog(dialogContent, title, dimension); + + } else { + handler.openFrame(dialogContent, title, dimension); + } + } +} Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java 2014-04-24 19:44:56 UTC (rev 46) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java 2014-04-25 09:30:22 UTC (rev 47) @@ -30,6 +30,5 @@ SaveDemandeAndExitAction.class); getContext().getActionEngine().runAction(action); - } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-04-24 19:44:56 UTC (rev 46) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-04-25 09:30:22 UTC (rev 47) @@ -27,13 +27,13 @@ import com.franciaflex.faxtomail.persistence.entities.DemandType; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.EtatAttente; -import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.HistoryType; import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.persistence.entities.Range; import com.franciaflex.faxtomail.persistence.entities.RangeRow; -import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.services.service.ReferentielService; +import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; +import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenDialogAction; import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAction; import com.franciaflex.faxtomail.ui.swing.content.print.AttachmentToPrintChooserUI; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI; @@ -59,25 +59,18 @@ import org.nuiton.jaxx.application.swing.table.MoveToNextEditableRowAction; import org.nuiton.jaxx.application.swing.table.MoveToPreviousEditableCellAction; import org.nuiton.jaxx.application.swing.table.MoveToPreviousEditableRowAction; +import org.nuiton.jaxx.application.swing.util.ApplicationErrorHelper; import org.nuiton.util.beans.BeanMonitor; import javax.swing.*; -import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.table.TableCellEditor; -import javax.swing.text.Document; -import javax.swing.text.Style; -import javax.swing.text.StyleConstants; -import javax.swing.text.StyleContext; -import javax.swing.text.html.HTMLEditorKit; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.Date; @@ -442,15 +435,19 @@ public void transmitDemande() { closeButtonPopups(); - saveBeforeAction(); MailFolderChooserUI dialogContent = new MailFolderChooserUI(ui, getModel()); - openDialog(dialogContent, t("faxtomail.chooseMailFolder.title"), new Dimension(350, 500)); + SaveAndOpenDialogAction action = new SaveAndOpenDialogAction(this, + true, + dialogContent, + t("faxtomail.chooseMailFolder.title"), + new Dimension(350, 500)); + + getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); } public void print() { closeButtonPopups(); - saveBeforeAction(); // for (Attachment attachment : getModel().getAttachment()) { //// try { @@ -469,35 +466,41 @@ //// } // } AttachmentToPrintChooserUI dialogContent = new AttachmentToPrintChooserUI(ui, getModel()); - openDialog(dialogContent, t("faxtomail.chooseAttachmentToPrint.title"), new Dimension(350, 500)); + SaveAndOpenDialogAction action = new SaveAndOpenDialogAction(this, + true, + dialogContent, + t("faxtomail.chooseAttachmentToPrint.title"), + new Dimension(350, 500)); + + getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); } public void reply() { closeButtonPopups(); - saveBeforeAction(); ReplyFormUI dialogContent = new ReplyFormUI(ui); ReplyFormUIModel model = dialogContent.getModel(); model.setTo(getModel().getSender()); - openFrame(dialogContent, t("faxtomail.reply.title", getModel().getSubject()), new Dimension(800, 600)); + SaveAndOpenDialogAction action = new SaveAndOpenDialogAction(this, + false, + dialogContent, + t("faxtomail.reply.title", getModel().getSubject()), + new Dimension(800, 600)); + + getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); } public void group() { closeButtonPopups(); - saveBeforeAction(); SearchToGroupUI dialogContent = new SearchToGroupUI(ui); - openFrame(dialogContent, t("faxtomail.searchToGroup.title", getModel().getSubject()), getContext().getMainUI().getSize()); - } + SaveAndOpenDialogAction action = new SaveAndOpenDialogAction(this, + false, + dialogContent, + t("faxtomail.searchToGroup.title", getModel().getSubject()), + getContext().getMainUI().getSize()); - protected void saveBeforeAction() { - if (getModel().getTakenBy() == null) { - getModel().setTakenBy(getContext().getCurrentUser()); - } - - if (getMonitor().wasModified()) { - getContext().getActionFactory().createUIAction(this, SaveDemandeAction.class).actionPerformed(null); - } + getContext().getActionFactory().createUIAction(null, action).actionPerformed(null); } } Modified: trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties =================================================================== --- trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties 2014-04-24 19:44:56 UTC (rev 46) +++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties 2014-04-25 09:30:22 UTC (rev 47) @@ -127,15 +127,18 @@ faxtomail.demande.alreadyTakenBy= faxtomail.demande.archive.button.label= faxtomail.demande.archive.button.mnemonic= +faxtomail.demande.archivedBy.label= faxtomail.demande.askCancelEditBeforeLeaving.cancelSave= faxtomail.demande.askSaveBeforeLeaving.save= faxtomail.demande.attachment.label= faxtomail.demande.back.button.label= faxtomail.demande.back.button.mnemonic= +faxtomail.demande.body.label= faxtomail.demande.brand.label= faxtomail.demande.client.label= faxtomail.demande.clientBrand.label= faxtomail.demande.clientCode.label= +faxtomail.demande.commandNumber.label= faxtomail.demande.comment.label= faxtomail.demande.companyReference.label= faxtomail.demande.demandStatus.label= @@ -159,12 +162,14 @@ faxtomail.demande.lastModified.label= faxtomail.demande.lastModifiedBy.label= faxtomail.demande.link.button.label= +faxtomail.demande.localReference.label= faxtomail.demande.mailBody.label= faxtomail.demande.mailFolder.label= faxtomail.demande.message.label= faxtomail.demande.object.label= faxtomail.demande.print.button.label= faxtomail.demande.print.button.mnemonic= +faxtomail.demande.printedBy.label= faxtomail.demande.priority.label= faxtomail.demande.projectReference.default= faxtomail.demande.projectReference.label= @@ -188,6 +193,7 @@ faxtomail.demande.takenBy.label= faxtomail.demande.tcc.label= faxtomail.demande.title= +faxtomail.demande.transferBy.label= faxtomail.demande.transmit.button.label= faxtomail.demande.transmit.button.mnemonic= faxtomail.demandeList.action.archive= @@ -345,6 +351,7 @@ faxtomail.search.action.gotoFolder= faxtomail.search.action.gotoFolder.mnemonic= faxtomail.search.action.gotoFolder.tip= +faxtomail.search.archivedBetween.label= faxtomail.search.between2ndPart.label= faxtomail.search.button.label= faxtomail.search.chantier.label= @@ -361,6 +368,7 @@ faxtomail.search.sender.label= faxtomail.search.status.label= faxtomail.search.title= +faxtomail.search.transferBetween.label= faxtomail.searchToGroup.action.cancel= faxtomail.searchToGroup.action.cancel.tip= faxtomail.searchToGroup.action.group=