r554 - in trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing: actions content/attachment content/demande content/print util
Author: kmorin Date: 2014-08-13 19:19:46 +0200 (Wed, 13 Aug 2014) New Revision: 554 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/554 Log: am?\195?\169lioration des actions Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AddAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenChooseAttachmentToPrintAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenModalFrameAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenReplyFormAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenSearchToGroupAction.java Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 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/DemandesUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractToolbarPopupHandler.java Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AddAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AddAttachmentAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/AddAttachmentAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -0,0 +1,48 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.persistence.entities.Attachment; +import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; +import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUI; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUIModel; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + */ +public class AddAttachmentAction extends AbstractFaxToMailAction<AttachmentEditorUIModel, AttachmentEditorUI, AttachmentEditorUIHandler> { + + public AddAttachmentAction(AttachmentEditorUIHandler handler) { + super(handler, false); + } + + @Override + public void doAction() throws Exception { + Attachment attachment = new AttachmentImpl(); + attachment.setAddedByUser(true); + File file = getUI().getFile().getSelectedFile(); + if (file != null) { + try { + // warning, this not NOT be closed (will be by blob on commit) + InputStream is = new FileInputStream(file); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + AttachmentFile attachmentFile = serviceContext.getEmailService().getAttachmentFileFromStream(is); + attachmentFile.setFilename(file.getName()); + attachment.setOriginalFile(attachmentFile); + + } catch (Exception e) { + getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.copy.file"), e); + } + + getModel().addAttachment(attachment); + getUI().getFile().setSelectedFilePath(null); + } + } +} Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/EditAttachmentAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -74,17 +74,20 @@ } @Override - protected void releaseAction() { - super.releaseAction(); - + public void postSuccessAction() { + super.postSuccessAction(); MainUI mainUI = getContext().getMainUI(); getHandler().openModalFrame(dialogContent, attachment.getOriginalFileName(), mainUI.getSize()) .addWindowListener(new WindowAdapter() { - @Override - public void windowClosed(WindowEvent e) { - dialogContent.getModel().toEntity(attachment); - } - }); + @Override + public void windowClosing(WindowEvent e) { + } + + @Override + public void windowClosed(WindowEvent e) { + dialogContent.getModel().toEntity(attachment); + } + }); } } \ No newline at end of file Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -261,7 +261,6 @@ parentUI.getModel().fireAttachmentEdited(model.toEntity()); model.setModify(false); - model.fromEntity(null); } protected int[] computeCoordinates(Component panel, int rotation, float zoom) { Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenChooseAttachmentToPrintAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenChooseAttachmentToPrintAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenChooseAttachmentToPrintAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -0,0 +1,46 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUI; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.print.AttachmentToPrintChooserUI; +import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUI; + +import java.awt.*; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + */ +public class SaveAndOpenChooseAttachmentToPrintAction extends SaveAndOpenModalFrameAction<AttachmentToPrintChooserUI> { + + public SaveAndOpenChooseAttachmentToPrintAction(DemandesUIHandler handler) { + super(handler); + } + + @Override + public String getTitle() { + return t("faxtomail.chooseAttachmentToPrint.title"); + } + + @Override + public Dimension getDimension() { + return new Dimension(350, 500); + } + + @Override + public void doAction() throws Exception { + MailFolder selectedFolder = getModel().getMailFolder(); + while (selectedFolder.getParent() != null && selectedFolder.getPrintActionEqualTakeAction() == null) { + selectedFolder = selectedFolder.getParent(); + } + boolean take = Boolean.TRUE.equals(selectedFolder.getPrintActionEqualTakeAction()); + setTakeIfNotTaken(take); + + super.doAction(); + + frameContent = new AttachmentToPrintChooserUI(getUI(), getModel()); + + } +} Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -0,0 +1,44 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUI; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUI; +import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUIModel; + +import java.awt.*; +import java.util.*; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + */ +public class SaveAndOpenMailFolderChooserAction extends SaveAndOpenModalFrameAction<MailFolderChooserUI> { + + public SaveAndOpenMailFolderChooserAction(DemandesUIHandler handler) { + super(handler); + } + + @Override + public String getTitle() { + return t("faxtomail.chooseMailFolder.title"); + } + + @Override + public Dimension getDimension() { + return new Dimension(350, 500); + } + + @Override + public void doAction() throws Exception { + super.doAction(); + + java.util.List<DemandeUIModel> demandes = Collections.singletonList(getModel()); + + MailFolderChooserUIModel model = new MailFolderChooserUIModel(); + model.setDemandeUIModels(demandes); + + frameContent = new MailFolderChooserUI(getUI(), model); + } +} Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenModalFrameAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenModalFrameAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenModalFrameAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -0,0 +1,28 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUIHandler; +import org.nuiton.jaxx.application.swing.ApplicationUI; + +import java.awt.*; + +/** + * @author Kevin Morin (Code Lutin) + */ +public abstract class SaveAndOpenModalFrameAction<FC extends ApplicationUI> extends SaveDemandeAction { + + protected FC frameContent; + + public SaveAndOpenModalFrameAction(DemandesUIHandler handler) { + super(handler.getCurrentDemandHandler()); + } + + public abstract String getTitle(); + + public abstract Dimension getDimension(); + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + getHandler().openModalFrame(frameContent, getTitle(), getDimension()); + } +} Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenReplyFormAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenReplyFormAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenReplyFormAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -0,0 +1,54 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUI; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI; +import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel; +import jaxx.runtime.JAXXUtil; + +import java.awt.*; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + */ +public class SaveAndOpenReplyFormAction extends SaveAndOpenModalFrameAction<ReplyFormUI> { + + public SaveAndOpenReplyFormAction(DemandesUIHandler handler) { + super(handler); + setTakeIfNotTaken(true); + } + + @Override + public String getTitle() { + return t("faxtomail.reply.title", getModel().getTitle()); + } + + @Override + public Dimension getDimension() { + return new Dimension(800, 600); + } + + @Override + public void doAction() throws Exception { + super.doAction(); + + frameContent = new ReplyFormUI(getUI()); + ReplyFormUIModel model = frameContent.getModel(); + DemandeUIModel currentDemand = getModel(); + + model.setOriginalDemand(currentDemand); + + String sender = JAXXUtil.getStringValue(currentDemand.getSender()); + if (currentDemand.isFax()) { + MailFolder selectedFolder = getContext().getCurrentMailFolder(); + sender = FaxToMailServiceUtils.addFaxDomainToFaxNumber(sender, selectedFolder); + } + model.setTo(sender); + } +} Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenSearchToGroupAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenSearchToGroupAction.java (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenSearchToGroupAction.java 2014-08-13 17:19:46 UTC (rev 554) @@ -0,0 +1,36 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUI; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.search.SearchToGroupUI; + +import java.awt.*; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + */ +public class SaveAndOpenSearchToGroupAction extends SaveAndOpenModalFrameAction<SearchToGroupUI> { + + public SaveAndOpenSearchToGroupAction(DemandesUIHandler handler) { + super(handler); + } + + @Override + public String getTitle() { + return t("faxtomail.searchToGroup.title", getModel().getTitle()); + } + + @Override + public Dimension getDimension() { + return getContext().getMainUI().getSize(); + } + + @Override + public void doAction() throws Exception { + super.doAction(); + + frameContent = new SearchToGroupUI(getUI()); + } +} Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java 2014-08-13 17:19:46 UTC (rev 554) @@ -128,7 +128,6 @@ @Override public void onAttachmentEdited(Attachment attachment) { String topiaId = model.getTopiaId(); - //TODO kmorin 20140813 action FaxToMailServiceContext serviceContext = context.newServiceContext(); Email email = serviceContext.getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_MODIFICATION, Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.css 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.css 2014-08-13 17:19:46 UTC (rev 554) @@ -54,5 +54,6 @@ actionIcon: add; toolTipText: "faxtomail.attachmentEditor.action.add.tip"; enabled: { model.isEditable() }; + _applicationAction: { com.franciaflex.faxtomail.ui.swing.actions.AddAttachmentAction.class }; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx 2014-08-13 17:19:46 UTC (rev 554) @@ -65,8 +65,7 @@ <FileEditor id='file'/> </cell> <cell fill='both' rows='3'> - <JButton id='addButton' - onActionPerformed='handler.addAttachment()'/> + <JButton id='addButton'/> </cell> </row> </Table> Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-13 17:19:46 UTC (rev 554) @@ -152,32 +152,6 @@ return null; } - public void addAttachment() { - Attachment attachment = new AttachmentImpl(); - attachment.setAddedByUser(true); - File file = ui.getFile().getSelectedFile(); - if (file != null) { - try { - // warning, this not NOT be closed (will be by blob on commit) - //TODO kmorin 20140813 action ? - InputStream is = new FileInputStream(file); - FaxToMailServiceContext serviceContext = getContext().newServiceContext(); - AttachmentFile attachmentFile = serviceContext.getEmailService().getAttachmentFileFromStream(is); - attachmentFile.setFilename(file.getName()); - attachment.setOriginalFile(attachmentFile); - - } catch (Exception e) { - getContext().getErrorHelper().showErrorDialog(t("swing.error.cannot.copy.file"), e); - } - getModel().addAttachment(attachment); - resetFields(); - } - } - - protected void resetFields() { - ui.getFile().setSelectedFilePath(null); - } - public void openAttachment(Attachment attachment) { openAttachmentAction.setAttachment(attachment, true); getContext().getActionFactory().createUIAction(null, openAttachmentAction).actionPerformed(null); @@ -187,7 +161,6 @@ AttachmentEditorUIModel model = getModel(); if (model.isEditable() && FaxToMailUIUtil.isFileTypeEditable(attachment.getOriginalFileName())) { - editAttachmentAction.setAttachment(attachment); getContext().getActionEngine().runAction(editAttachmentAction); 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-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-08-13 17:19:46 UTC (rev 554) @@ -354,7 +354,7 @@ @Override public void onAttachmentOpened(Attachment attachment, boolean original) { String topiaId = getModel().getTopiaId(); - if (topiaId != null) { + if (topiaId != null && attachment.isPersisted()) { String filename; if (original) { filename = attachment.getOriginalFileName(); @@ -374,7 +374,7 @@ @Override public void onAttachmentEdited(Attachment attachment) { String topiaId = getModel().getTopiaId(); - if (topiaId != null) { + if (topiaId != null && attachment.isPersisted()) { FaxToMailServiceContext serviceContext = getContext().newServiceContext(); Email email = serviceContext.getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_MODIFICATION, @@ -386,7 +386,6 @@ getModel().setModify(true); } - } ); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-08-13 17:19:46 UTC (rev 554) @@ -27,24 +27,25 @@ import static org.nuiton.i18n.I18n.t; import java.awt.Component; -import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.Collections; -import java.util.List; import javax.swing.DefaultSingleSelectionModel; import javax.swing.JComponent; import javax.swing.JTabbedPane; +import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenChooseAttachmentToPrintAction; +import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenMailFolderChooserAction; +import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenReplyFormAction; +import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenSearchToGroupAction; import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAction; -import jaxx.runtime.JAXXUtil; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; import org.nuiton.jaxx.application.swing.ApplicationUI; +import org.nuiton.jaxx.application.swing.action.AbstractApplicationAction; import org.nuiton.jaxx.application.swing.tab.CustomTab; import org.nuiton.jaxx.application.swing.tab.DelegateTabContainerHandler; import org.nuiton.jaxx.application.swing.tab.TabContainerHandler; @@ -56,16 +57,9 @@ import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.EtatAttente; import com.franciaflex.faxtomail.persistence.entities.MailAction; -import com.franciaflex.faxtomail.persistence.entities.MailFolder; -import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; import com.franciaflex.faxtomail.ui.swing.actions.ArchiveAction; import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAndExitAction; -import com.franciaflex.faxtomail.ui.swing.content.print.AttachmentToPrintChooserUI; -import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI; -import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel; import com.franciaflex.faxtomail.ui.swing.content.search.SearchToGroupUI; -import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUI; -import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; /** @@ -336,32 +330,12 @@ public void transmitDemande() { closeButtonPopups(); - - saveCurrentDemande(true); - - DemandeUI demandeUI = (DemandeUI) getTabPanel().getSelectedComponent(); - List<DemandeUIModel> demandes = Collections.singletonList(demandeUI.getModel()); - - MailFolderChooserUIModel model = new MailFolderChooserUIModel(); - model.setDemandeUIModels(demandes); - MailFolderChooserUI dialogContent = new MailFolderChooserUI(ui, model); - openModalFrame(dialogContent, t("faxtomail.chooseMailFolder.title"), new Dimension(350, 500)); + runAction(SaveAndOpenMailFolderChooserAction.class); } public void print() { closeButtonPopups(); - - MailFolder selectedFolder = getModel().getCurrentDemand().getMailFolder(); - while (selectedFolder.getParent() != null && selectedFolder.getPrintActionEqualTakeAction() == null) { - selectedFolder = selectedFolder.getParent(); - } - boolean take = Boolean.TRUE.equals(selectedFolder.getPrintActionEqualTakeAction()); - saveCurrentDemande(take); - - DemandeUI demandeUI = (DemandeUI) getTabPanel().getSelectedComponent(); - AttachmentToPrintChooserUI dialogContent = new AttachmentToPrintChooserUI(ui, demandeUI.getModel()); - - openModalFrame(dialogContent, t("faxtomail.chooseAttachmentToPrint.title"), new Dimension(350, 500)); + runAction(SaveAndOpenChooseAttachmentToPrintAction.class); } public void archive() { @@ -373,40 +347,21 @@ public void reply() { closeButtonPopups(); - - saveCurrentDemande(true); - - ReplyFormUI dialogContent = new ReplyFormUI(ui); - ReplyFormUIModel model = dialogContent.getModel(); - DemandeUIModel currentDemand = getModel().getCurrentDemand(); - - model.setOriginalDemand(currentDemand); - - String sender = JAXXUtil.getStringValue(currentDemand.getSender()); - if (currentDemand.isFax()) { - MailFolder selectedFolder = getContext().getCurrentMailFolder(); - sender = FaxToMailServiceUtils.addFaxDomainToFaxNumber(sender, selectedFolder); - } - model.setTo(sender); - - openModalFrame(dialogContent, t("faxtomail.reply.title", currentDemand.getTitle()), new Dimension(800, 600)); + runAction(SaveAndOpenReplyFormAction.class); } public void group() { closeButtonPopups(); + runAction(SaveAndOpenSearchToGroupAction.class); + } - saveCurrentDemande(false); - - SearchToGroupUI dialogContent = new SearchToGroupUI(ui); + public DemandeUIHandler getCurrentDemandHandler() { DemandeUI demandeUI = (DemandeUI) getTabPanel().getSelectedComponent(); - openModalFrame(dialogContent, - t("faxtomail.searchToGroup.title", demandeUI.getModel().getTitle()), - getContext().getMainUI().getSize()); + return demandeUI.getHandler(); } - protected void saveCurrentDemande(boolean takeIfNotTaken) { - saveDemandeAction.setTakeIfNotTaken(takeIfNotTaken); - getContext().getActionEngine().runActionAndWait(saveDemandeAction); + public void runAction(Class<? extends AbstractApplicationAction> actionClass) { + AbstractApplicationAction action = getContext().getActionFactory().createLogicAction(this, actionClass); + getContext().getActionEngine().runAction(action); } - } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-13 17:19:46 UTC (rev 554) @@ -65,7 +65,6 @@ DemandeUIModel demand = model.getDemand(); // add demand details - //TODO kmorin 20140813 action ? FaxToMailServiceContext serviceContext = getContext().newServiceContext(); EmailService emailService = serviceContext.getEmailService(); Email email = getModel().getDemand().toEntity(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-13 17:19:46 UTC (rev 554) @@ -60,7 +60,6 @@ import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.editor.bean.BeanUIUtil; import jaxx.runtime.validator.swing.SwingValidator; -import org.nuiton.jaxx.application.swing.action.ApplicationActionUIHandler; import org.nuiton.jaxx.application.swing.util.CloseableUI; import org.apache.commons.logging.Log; @@ -326,6 +325,7 @@ } }); + result.setAlwaysOnTop(true); result.setSize(dim); SwingUtil.center(parentContainer, result); result.setVisible(true); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractToolbarPopupHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractToolbarPopupHandler.java 2014-08-13 16:22:32 UTC (rev 553) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractToolbarPopupHandler.java 2014-08-13 17:19:46 UTC (rev 554) @@ -48,6 +48,8 @@ @Override public void afterInit(UI ui) { + initUI(ui); + ui.pack(); ui.setResizable(true);
participants (1)
-
kmorin@users.forge.codelutin.com