branch develop updated (3f97c1a -> c83e687)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from 3f97c1a fixes #8331: [CAPTURE] permettre de modifier le taxon sur des lots avec mensurations déjà enregistrées new c83e687 fixes #8373: [OBSERVATION INDIVIDUELLE] autoenregistrer ou forcer l'enregistrement (bouton enregistrer et rester..) tous les 10 lignes pour se préminir des pertes d'info auto-enregistrer est trop long, et donc derangerait l'utilisateur. A la place le bouton devient rouge s'il y a une modification 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 c83e68787c8b54892dac4c98ed48fa1a0e53c594 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jul 28 19:40:43 2016 +0200 fixes #8373: [OBSERVATION INDIVIDUELLE] autoenregistrer ou forcer l'enregistrement (bouton enregistrer et rester..) tous les 10 lignes pour se préminir des pertes d'info auto-enregistrer est trop long, et donc derangerait l'utilisateur. A la place le bouton devient rouge s'il y a une modification Summary of changes: .../filtered-resources/tutti-help-fr.properties | 7 ++++--- .../species/frequency/SpeciesFrequencyUI.jaxx | 3 +++ .../species/frequency/SpeciesFrequencyUI.jcss | 9 +++++++++ .../frequency/SpeciesFrequencyUIHandler.java | 14 +++++++++++++- ....java => SaveAndStaySpeciesFrequencyAction.java} | 21 +++++++++++---------- .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 +++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 3 +++ 7 files changed, 46 insertions(+), 14 deletions(-) copy tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/{SaveAndContinueSpeciesFrequencyAction.java => SaveAndStaySpeciesFrequencyAction.java} (78%) -- 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 tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit c83e68787c8b54892dac4c98ed48fa1a0e53c594 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jul 28 19:40:43 2016 +0200 fixes #8373: [OBSERVATION INDIVIDUELLE] autoenregistrer ou forcer l'enregistrement (bouton enregistrer et rester..) tous les 10 lignes pour se préminir des pertes d'info auto-enregistrer est trop long, et donc derangerait l'utilisateur. A la place le bouton devient rouge s'il y a une modification --- .../filtered-resources/tutti-help-fr.properties | 7 +- .../species/frequency/SpeciesFrequencyUI.jaxx | 3 + .../species/frequency/SpeciesFrequencyUI.jcss | 9 +++ .../frequency/SpeciesFrequencyUIHandler.java | 14 +++- .../actions/SaveAndStaySpeciesFrequencyAction.java | 74 ++++++++++++++++++++++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 3 + 7 files changed, 109 insertions(+), 4 deletions(-) diff --git a/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties b/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties index 582ebc0..4c9ab35 100644 --- a/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties +++ b/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties @@ -10,19 +10,19 @@ # it under the terms of the GNU General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public # License along with this program. If not, see # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Wed Apr 20 15:51:16 CEST 2016 +#Thu Jul 28 17:04:01 CEST 2016 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -343,6 +343,7 @@ tutti.editSpeciesFrequencies.action.removeObservation.help= tutti.editSpeciesFrequencies.action.reset.help=editFishingOperation.html\#captureEspecesMensurationActions tutti.editSpeciesFrequencies.action.saveAndClose.help=editFishingOperation.html\#captureEspecesMensurationActions tutti.editSpeciesFrequencies.action.saveAndContinue.help=editFishingOperation.html\#captureEspecesMensurationActions +tutti.editSpeciesFrequencies.action.saveAndStay.help=editFishingOperation.html\#captureEspecesMensurationActions tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.help= tutti.editSpeciesFrequencies.field.copyRtpWeights.help= tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.help= diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx index a1b3398..7c37a53 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx @@ -33,6 +33,7 @@ fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.CancelEditSpeciesFrequencyAction fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.GenerateSpeciesFrequencyLengthStepsAction fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ResetSpeciesFrequencyAction + fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.SaveAndStaySpeciesFrequencyAction fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.SaveAndCloseSpeciesFrequencyAction fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.SaveAndContinueSpeciesFrequencyAction fr.ifremer.tutti.ui.swing.util.TuttiUI @@ -98,6 +99,7 @@ public boolean leaveIfConfirmed() { return handler.leaveIfConfirmed(); } <AddSpeciesFrequencyLengthStepCaracteristicAction id="addLengthStepCaracteristicAction" constructorParams="this"/> <GenerateSpeciesFrequencyLengthStepsAction id="generateLengthStepsAction" constructorParams="this"/> + <SaveAndStaySpeciesFrequencyAction id="saveAndStayAction" constructorParams="this"/> <SaveAndCloseSpeciesFrequencyAction id="saveAndCloseAction" constructorParams="this"/> <SaveAndContinueSpeciesFrequencyAction id="saveAndContinueAction" constructorParams="this"/> @@ -357,6 +359,7 @@ public boolean leaveIfConfirmed() { return handler.leaveIfConfirmed(); } <JPanel id='actionPanel' layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH' styleClass="buttonPanel"> <JButton id='cancelButton'/> <JButton id='resetButton'/> + <JButton id='saveAndStayButton'/> <JButton id='saveAndContinueButton'/> <JButton id='saveAndCloseButton'/> </JPanel> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss index 948b1d0..6392378 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss @@ -577,6 +577,15 @@ ComputableDataEditor { _help: {"tutti.editSpeciesFrequencies.action.saveAndClose.help"}; } +#saveAndStayAction { + enabled: {model.isValid()}; +} + +#saveAndStayButton { + action: {saveAndStayAction}; + _help: {"tutti.editSpeciesFrequencies.action.saveAndStay.help"}; +} + #resetButton { actionIcon: reset; text: "tutti.editSpeciesFrequencies.action.reset"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java index 72c6fd0..74fc75c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java @@ -587,7 +587,19 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci listenValidatorValid(ui.getValidator(), model); - } + final Color bgSaveBt = ui.getSaveAndStayButton().getBackground(); + final boolean opacity = ui.getSaveAndStayButton().isOpaque(); + model.addPropertyChangeListener(SpeciesFrequencyUIModel.PROPERTY_MODIFY, evt -> { + if (Boolean.FALSE.equals(evt.getNewValue())) { + ui.getSaveAndStayButton().setOpaque(opacity); + ui.getSaveAndStayButton().setBackground(bgSaveBt); + } else { + ui.getSaveAndStayButton().setOpaque(true); + ui.getSaveAndStayButton().setBackground(Color.RED); + } + }); + + } @Override protected JComponent getComponentToFocus() { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/SaveAndStaySpeciesFrequencyAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/SaveAndStaySpeciesFrequencyAction.java new file mode 100644 index 0000000..e3e1646 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/SaveAndStaySpeciesFrequencyAction.java @@ -0,0 +1,74 @@ +package fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions; + +/* + * #%L + * Tutti :: UI + * $Id:$ + * $HeadURL:$ + * %% + * Copyright (C) 2012 - 2015 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyUI; +import jaxx.runtime.SwingUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.awt.event.ActionEvent; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 28/07/2016. + * + * @author Benjamin POUSSIN - poussin@codelutin.com + * @since 4.6 + */ +public class SaveAndStaySpeciesFrequencyAction extends SaveSupportAction { + + /** Logger. */ + private static final Log log = LogFactory.getLog(SaveAndStaySpeciesFrequencyAction.class); + + private static final long serialVersionUID = 1L; + + public SaveAndStaySpeciesFrequencyAction(SpeciesFrequencyUI ui) { + super(ui); + + putValue(NAME, t("tutti.editSpeciesFrequencies.action.saveAndStay")); + putValue(SHORT_DESCRIPTION, t("tutti.editSpeciesFrequencies.action.saveAndStay.tip")); + putValue(MNEMONIC_KEY, (int) SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.saveAndStay.mnemonic"), 'Z')); + putValue(SMALL_ICON, SwingUtil.createActionIcon("save")); + + } + + @Override + public void actionPerformed(ActionEvent e) { + + if (log.isDebugEnabled()) { + log.debug("Save And Continue UI " + ui); + } + + boolean doSave = canSaveFrequencies(); + + if (doSave) { + ui.getHandler().getFrequencyEditor().save(ui.getModel()); + ui.getModel().setModify(false); + } + + } +} \ No newline at end of file diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index ada0de7..be6ad99 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1584,6 +1584,9 @@ tutti.editSpeciesFrequencies.action.saveAndClose.tip= tutti.editSpeciesFrequencies.action.saveAndContinue= tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic= tutti.editSpeciesFrequencies.action.saveAndContinue.tip= +tutti.editSpeciesFrequencies.action.saveAndStay= +tutti.editSpeciesFrequencies.action.saveAndStay.mnemonic= +tutti.editSpeciesFrequencies.action.saveAndStay.tip= tutti.editSpeciesFrequencies.addMeasure= tutti.editSpeciesFrequencies.askBeforeSave.help= tutti.editSpeciesFrequencies.askBeforeSave.message= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index ba3f68b..806ef8f 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1475,6 +1475,9 @@ tutti.editSpeciesFrequencies.action.saveAndClose.tip=Enregistrer les mensuration tutti.editSpeciesFrequencies.action.saveAndContinue=Enregistrer et Continuer tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic=C tutti.editSpeciesFrequencies.action.saveAndContinue.tip=Enregistrer les mensurations et saisir les mensurations pour le lot suivant +tutti.editSpeciesFrequencies.action.saveAndStay=Enregistrer et Rester +tutti.editSpeciesFrequencies.action.saveAndStay.mnemonic=S +tutti.editSpeciesFrequencies.action.saveAndStay.tip=Enregistrer les mensurations et rester sur cet écran tutti.editSpeciesFrequencies.addMeasure=Ajout d'un individu de taille <strong>%1$s</strong>%3$s (classe de taille <strong>%2$s</strong>%3$s) tutti.editSpeciesFrequencies.askBeforeSave.help=Que voulez-vous faire?<ul><li><strong>Non</strong> pour rester sur cet écran</li><li><strong>Oui</strong> pour enregisrer les mensurations avec poids</li></ul> tutti.editSpeciesFrequencies.askBeforeSave.message=La saisie comporte des classes de taille avec et sans poids associés.<br/><strong>Seules les classes de taille avec poids seront dans ce cas sauvegardées.</strong> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm