This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit c4d6063d677074ff2885e35357909766f5d64fd1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Mar 30 16:02:00 2015 +0200 generic format import action only from menu + improve select popup open (add a timer for this) --- .../fr/ifremer/tutti/ui/swing/content/MainUI.css | 13 ++++- .../fr/ifremer/tutti/ui/swing/content/MainUI.jaxx | 2 + .../tutti/ui/swing/content/MainUIHandler.java | 8 +++ .../actions/OpenGenericFormatImportScreen.java | 65 ++++++++++++++++++++++ .../tutti/ui/swing/content/home/SelectCruiseUI.css | 10 +--- .../ui/swing/content/home/SelectCruiseUI.jaxx | 26 ++++----- .../swing/content/home/SelectCruiseUIHandler.java | 56 ++++++++++++------- .../ifremer/tutti/ui/swing/util/TuttiUIUtil.java | 33 ----------- .../resources/i18n/tutti-ui-swing_en_GB.properties | 58 +++++++++++++++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 62 ++++++++++++++++++++- 10 files changed, 252 insertions(+), 81 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css index 40233bd..ad4eb77 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css @@ -230,10 +230,21 @@ JMenu { toolTipText: "tutti.main.action.genericFormatImport.tip"; i18nMnemonic: "tutti.main.action.genericFormatImport.mnemonic"; enabled: {model.getScreen() != TuttiScreen.GENERIC_FORMAT_IMPORT}; - _applicationAction: {fr.ifremer.tutti.ui.swing.content.home.actions.OpenGenericFormatImportScreen.class}; + _applicationAction: {fr.ifremer.tutti.ui.swing.content.actions.OpenGenericFormatImportScreen.class}; _help: {"tutti.main.menu.action.genericFormatImport.help"}; } + +#menuActionGenericFormatExport { + actionIcon: export; + text: "tutti.main.action.genericFormatExport"; + toolTipText: "tutti.main.action.genericFormatExport.tip"; + i18nMnemonic: "tutti.main.action.genericFormatExport.mnemonic"; + enabled: {model.getScreen() != TuttiScreen.GENERIC_FORMAT_EXPORT}; + _applicationAction: {fr.ifremer.tutti.ui.swing.content.actions.OpenGenericFormatExportScreen.class}; + _help: {"tutti.main.menu.action.genericFormatExport.help"}; +} + #menuAdministration { text: "tutti.main.menu.administration"; toolTipText: "tutti.main.menu.administration.tip"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx index 04af99a..275ecd6 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx @@ -75,6 +75,8 @@ <JMenuItem id='menuActionEditCatches'/> <JMenuItem id='menuActionValidateCatches'/> <JMenuItem id='menuActionGenerateCruiseReport'/> + <JSeparator/> + <JMenuItem id='menuActionGenericFormatExport'/> <JMenuItem id='menuActionGenericFormatImport'/> </JMenu> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java index dac8e7c..be514ff 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java @@ -36,6 +36,7 @@ import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI; import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIHandler; import fr.ifremer.tutti.ui.swing.content.db.DbManagerUI; import fr.ifremer.tutti.ui.swing.content.db.DbManagerUIHandler; +import fr.ifremer.tutti.ui.swing.content.genericformat.GenericFormatExportUI; import fr.ifremer.tutti.ui.swing.content.genericformat.GenericFormatImportUI; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; @@ -460,6 +461,13 @@ public class MainUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, MainUI screenTitle = t("tutti.genericFormatImport.title"); icon = ui.getMenuActionGenericFormatImport().getIcon(); break; + + case GENERIC_FORMAT_EXPORT: + + screenUI = new GenericFormatExportUI(ui); + screenTitle = t("tutti.genericFormatExport.title"); + icon = ui.getMenuActionGenericFormatExport().getIcon(); + break; } JButton showHelp = ui.getShowHelp(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/OpenGenericFormatImportScreen.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/OpenGenericFormatImportScreen.java new file mode 100644 index 0000000..3199d31 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/OpenGenericFormatImportScreen.java @@ -0,0 +1,65 @@ +package fr.ifremer.tutti.ui.swing.content.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.TuttiScreen; +import fr.ifremer.tutti.ui.swing.content.MainUIHandler; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 2/24/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.14 + */ +public class OpenGenericFormatImportScreen extends AbstractChangeScreenAction { + + public OpenGenericFormatImportScreen(MainUIHandler handler) { + super(handler, true, TuttiScreen.GENERIC_FORMAT_IMPORT); + } + + @Override + public void doAction() throws Exception { + + createProgressionModelIfRequired(5); + + getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allGear")); + getContext().getPersistenceService().getAllGear(); + + getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allPerson")); + getContext().getPersistenceService().getAllPerson(); + + getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allSpecies")); + getContext().getPersistenceService().getAllSpecies(); + + getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allVessel")); + getContext().getPersistenceService().getAllVessel(); + + getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.ui")); + + super.doAction(); + } +} \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css index 4c7b282..6280f7a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css @@ -56,7 +56,7 @@ BeanFilterableComboBox { } #editProgramComboBox { - model: {SwingUtil.newComboModel(editProgramButton, exportProgramButton, importProgramButton)}; + model: {SwingUtil.newComboModel(editProgramButton, exportProgramButton)}; enabled: {model.isProgramFound()}; renderer: {new ActionListCellRenderer()}; } @@ -77,14 +77,6 @@ BeanFilterableComboBox { _help: {"tutti.selectCruise.action.exportProgram.help"}; } -#importProgramButton { - actionIcon: import; - text: "tutti.selectCruise.action.importProgram"; - _applicationAction: {fr.ifremer.tutti.ui.swing.content.home.actions.OpenGenericFormatImportScreen.class}; - toolTipText: "tutti.selectCruise.action.importProgram.tip"; - _help: {"tutti.selectCruise.action.importProgram.help"}; -} - #newProgramButton { actionIcon: add; text: "tutti.selectCruise.action.newProgram"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx index 9543016..90eb8b3 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx @@ -63,7 +63,6 @@ <JButton id='editProgramButton'/> <JButton id='exportProgramButton'/> - <JButton id='importProgramButton'/> <JButton id='editCruiseButton'/> <JButton id='exportCruiseButton'/> <JButton id='sendCruiseReportButton'/> @@ -89,14 +88,13 @@ <JLabel id='programLabel'/> </cell> <cell weightx='1.0'> - <BeanFilterableComboBox id='programCombobox' constructorParams='this' - genericType='Program'/> + <BeanFilterableComboBox id='programCombobox' constructorParams='this' genericType='Program'/> </cell> <cell> <JPanel layout='{new GridLayout(1,0)}'> <JComboBox id='editProgramComboBox' - onMouseEntered='if (editProgramComboBox.isEnabled()) { editProgramComboBox.showPopup(); }' - onMouseClicked='if (editProgramComboBox.isEnabled()) { handler.startEditProgramAction(event); }' + onMouseEntered='handler.showActions(editProgramComboBox, 300)' + onMouseClicked='handler.startComboFirstAction(event)' onActionPerformed='handler.startEditProgramAction(event)'/> <JButton id='newProgramButton'/> </JPanel> @@ -107,14 +105,13 @@ <JLabel id='cruiseLabel'/> </cell> <cell> - <BeanFilterableComboBox id='cruiseCombobox' constructorParams='this' - genericType='Cruise'/> + <BeanFilterableComboBox id='cruiseCombobox' constructorParams='this' genericType='Cruise'/> </cell> <cell> <JPanel layout='{new GridLayout(1,0)}'> <JComboBox id='editCruiseComboBox' - onMouseEntered='if (editCruiseComboBox.isEnabled()) { editCruiseComboBox.showPopup(); }' - onMouseClicked='if (editCruiseComboBox.isEnabled()) { handler.startEditCruiseAction(event); }' + onMouseEntered='handler.showActions(editCruiseComboBox, 300)' + onMouseClicked='handler.startComboFirstAction(event)' onActionPerformed='handler.startEditCruiseAction(event)'/> <JButton id='newCruiseButton'/> </JPanel> @@ -125,18 +122,17 @@ <JLabel id='protocolLabel'/> </cell> <cell> - <BeanFilterableComboBox id='protocolCombobox' constructorParams='this' - genericType='TuttiProtocol'/> + <BeanFilterableComboBox id='protocolCombobox' constructorParams='this' genericType='TuttiProtocol'/> </cell> <cell> <JPanel layout='{new GridLayout(1,0)}'> <JComboBox id='editProtocolComboBox' - onMouseEntered='if (editProtocolComboBox.isEnabled()) { editProtocolComboBox.showPopup(); }' - onMouseClicked='if (editProtocolComboBox.isEnabled()) { handler.startExistingProtocolAction(event); }' + onMouseEntered='handler.showActions(editProtocolComboBox, 300)' + onMouseClicked='handler.startComboFirstAction(event)' onActionPerformed='handler.startExistingProtocolAction(event)'/> <JComboBox id='newProtocolComboBox' - onMouseEntered='newProtocolComboBox.showPopup()' - onMouseClicked='handler.startNewProtocolAction(event)' + onMouseEntered='handler.showActions(newProtocolComboBox, 300)' + onMouseClicked='handler.startComboFirstAction(event)' onActionPerformed='handler.startNewProtocolAction(event)'/> </JPanel> </cell> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java index 65c8bcc..0a641b0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java @@ -40,12 +40,12 @@ import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JComponent; import java.awt.event.ActionEvent; -import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; +import java.util.Timer; +import java.util.TimerTask; /** * Main ui content to select cruise. @@ -59,6 +59,8 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI private static final Log log = LogFactory.getLog(SelectCruiseUIHandler.class); + private Timer timer; + @Override public SwingValidator<SelectCruiseUIModel> getValidator() { return ui.getValidator(); @@ -133,6 +135,8 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI initUI(ui); + timer = new Timer("ShowActions::"); + SelectCruiseUIModel model = getModel(); initBeanFilterableComboBox(ui.getProgramCombobox(), @@ -234,6 +238,16 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI return getUI().getEditCatchesButton(); } + public void showActions(JComboBox comboBox, long delay) { + + if (comboBox.isEnabled()) { + + timer.schedule(new ShowComboBoxPopupActions(comboBox), delay); + + } + + } + protected boolean resetEditProtocolAction; protected boolean resetNewProtocolAction; @@ -288,43 +302,32 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI getModel().removePropertyChangeListener(listener); } clearValidators(); - } - - public void startEditProgramAction(MouseEvent event) { - startComboFirstAction(event); + timer.purge(); + timer.cancel(); } public void startEditProgramAction(ActionEvent event) { startEditAction(!resetEditProgramAction, event); } - public void startEditCruiseAction(MouseEvent event) { - startComboFirstAction(event); - } - public void startEditCruiseAction(ActionEvent event) { startEditAction(!resetEditCruiseAction, event); } - public void startExistingProtocolAction(MouseEvent event) { - startComboFirstAction(event); - } - public void startExistingProtocolAction(ActionEvent event) { startEditAction(!resetEditProtocolAction, event); } - public void startNewProtocolAction(MouseEvent event) { - startComboFirstAction(event); - } - public void startNewProtocolAction(ActionEvent event) { startEditAction(!resetNewProtocolAction, event); } - protected void startComboFirstAction(MouseEvent event) { + public void startComboFirstAction(MouseEvent event) { JComboBox combo = (JComboBox) event.getSource(); - getContext().getActionEngine().runAction((AbstractButton) combo.getItemAt(0)); + if (combo.isEnabled()) { + AbstractButton action = (AbstractButton) combo.getItemAt(0); + getContext().getActionEngine().runAction(action); + } } protected void startEditAction(boolean canEdit, ActionEvent event) { @@ -345,4 +348,17 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI combo.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE); combo.addMouseListener(TuttiUIUtil.GRAB_FOCUS_ON_ENTER_LISTENER); } + + private static class ShowComboBoxPopupActions extends TimerTask { + private final JComboBox comboBox; + + public ShowComboBoxPopupActions(JComboBox comboBox) { + this.comboBox = comboBox; + } + + @Override + public void run() { + comboBox.showPopup(); + } + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java index bfbbf6e..4ec2aca 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java @@ -34,15 +34,12 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.ApplicationBusinessException; import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil; -import javax.swing.AbstractAction; import javax.swing.AbstractButton; import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.JComponent; import java.awt.Color; import java.awt.Desktop; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; @@ -190,34 +187,4 @@ public final class TuttiUIUtil extends ApplicationUIUtil { } - public static Action addDelegateAction(AbstractButton button, String actionName) { - - Action action = new AbstractAction() { - - private static final long serialVersionUID = 1L; - - @Override - public void actionPerformed(ActionEvent e) { - - AbstractButton source = (AbstractButton) e.getSource(); - - ActionListener[] actionListeners = source.getActionListeners(); - - for (ActionListener actionListener : actionListeners) { - if (this != actionListener) { - if (log.isDebugEnabled()) { - log.debug("Do actionPerformed on listener: " + actionListener); - } - actionListener.actionPerformed(e); - } - } - - } - - }; - - prepareAction(button, action, actionName); - return action; - - } } 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 be193c4..1f7d8db 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 @@ -1415,15 +1415,19 @@ tutti.gearUseFeatureTable.action.removeCaracteristic.tip= tutti.gearUseFeatureTable.table.header.key= tutti.gearUseFeatureTable.table.header.value= tutti.gearUseFeatureTable.title= +tutti.generateReport.action.computeNbSteps= tutti.genericFormat.action.chooseDbBackupFile= +tutti.genericFormat.action.chooseExportFile= tutti.genericFormat.action.chooseImportReportFile= tutti.genericFormat.action.chooseValidateReportFile= +tutti.genericFormat.export.action.success= tutti.genericFormat.import.error= tutti.genericFormat.import.error.tip= tutti.genericFormat.import.success= tutti.genericFormat.import.success.tip= tutti.genericFormat.importReportFile.saved= tutti.genericFormat.title.choose.dbBackupFile= +tutti.genericFormat.title.choose.exportFile= tutti.genericFormat.title.choose.exportImportReportfile= tutti.genericFormat.title.choose.exportValidateReportfile= tutti.genericFormat.title.choose.saveImportReportfile= @@ -1433,6 +1437,47 @@ tutti.genericFormat.validate.error.tip= tutti.genericFormat.validate.success= tutti.genericFormat.validate.success.tip= tutti.genericFormat.validateReportFile.saved= +tutti.genericFormatExport.action.closeGenericFormatExport= +tutti.genericFormatExport.action.closeGenericFormatExport.mnemonic= +tutti.genericFormatExport.action.closeGenericFormatExport.tip= +tutti.genericFormatExport.action.export= +tutti.genericFormatExport.action.export.mnemonic= +tutti.genericFormatExport.action.export.tip= +tutti.genericFormatExport.action.foldAll= +tutti.genericFormatExport.action.foldAll.mnemonic= +tutti.genericFormatExport.action.foldAll.tip= +tutti.genericFormatExport.action.selectAll= +tutti.genericFormatExport.action.selectAll.mnemonic= +tutti.genericFormatExport.action.selectAll.tip= +tutti.genericFormatExport.action.unfoldAll= +tutti.genericFormatExport.action.unfoldAll.mnemonic= +tutti.genericFormatExport.action.unfoldAll.tip= +tutti.genericFormatExport.action.unselectAll= +tutti.genericFormatExport.action.unselectAll.mnemonic= +tutti.genericFormatExport.action.unselectAll.tip= +tutti.genericFormatExport.exportConfiguration.legend= +tutti.genericFormatExport.exportFile.extension= +tutti.genericFormatExport.exportFile.extension.description= +tutti.genericFormatExport.exportOptions.legend= +tutti.genericFormatExport.field.exportAccidentalCatch= +tutti.genericFormatExport.field.exportAccidentalCatch.tip= +tutti.genericFormatExport.field.exportAttachments= +tutti.genericFormatExport.field.exportAttachments.tip= +tutti.genericFormatExport.field.exportBenthos= +tutti.genericFormatExport.field.exportBenthos.tip= +tutti.genericFormatExport.field.exportFile= +tutti.genericFormatExport.field.exportFile.tip= +tutti.genericFormatExport.field.exportIndividualObservation= +tutti.genericFormatExport.field.exportIndividualObservation.tip= +tutti.genericFormatExport.field.exportMarineLitter= +tutti.genericFormatExport.field.exportMarineLitter.tip= +tutti.genericFormatExport.field.exportSpecies= +tutti.genericFormatExport.field.exportSpecies.tip= +tutti.genericFormatExport.field.program= +tutti.genericFormatExport.field.program.tip= +tutti.genericFormatExport.selectData.legend= +tutti.genericFormatExport.title= +tutti.genericFormatExport.validateExport.legend= tutti.genericFormatImport.action.closeGenericFormatImport= tutti.genericFormatImport.action.closeGenericFormatImport.mnemonic= tutti.genericFormatImport.action.closeGenericFormatImport.tip= @@ -1592,6 +1637,9 @@ tutti.main.action.exit.tip= tutti.main.action.generateSelectedCruiseReport= tutti.main.action.generateSelectedCruiseReport.mnemonic= tutti.main.action.generateSelectedCruiseReport.tip= +tutti.main.action.genericFormatExport= +tutti.main.action.genericFormatExport.mnemonic= +tutti.main.action.genericFormatExport.tip= tutti.main.action.genericFormatImport= tutti.main.action.genericFormatImport.mnemonic= tutti.main.action.genericFormatImport.tip= @@ -1767,6 +1815,11 @@ tutti.openDb.step.checkSchemaVersion= tutti.openDb.step.open= tutti.openDb.step.updateReferential= tutti.openDb.step.will.migrateSchema= +tutti.openGenericFormatExportScreen.step.loading.allGear= +tutti.openGenericFormatExportScreen.step.loading.allPerson= +tutti.openGenericFormatExportScreen.step.loading.allSpecies= +tutti.openGenericFormatExportScreen.step.loading.allVessel= +tutti.openGenericFormatExportScreen.step.loading.ui= tutti.openGenericFormatImportScreen.step.loading.allGear= tutti.openGenericFormatImportScreen.step.loading.allPerson= tutti.openGenericFormatImportScreen.step.loading.allSpecies= @@ -1926,6 +1979,10 @@ tutti.selectCruise.title.choose.importFile= tutti.selectCruise.title.choose.importGenericFormatFile= tutti.selectCruise.title.choose.importProtocolFile= tutti.selectCruise.warn.invalid.selected.data= +tutti.selectNode.cruisePartialSelected= +tutti.selectNode.cruiseSelected= +tutti.selectNode.operation= +tutti.selectNode.operationSelected= tutti.selectSpecies.action.cancel= tutti.selectSpecies.action.cancel.mnemonic= tutti.selectSpecies.action.cancel.tip= @@ -1990,6 +2047,7 @@ tutti.title.openReplaceTemporaryUI.noSource= tutti.title.openReplaceTemporaryUI.noTarget= tutti.title.openReplaceTemporaryVesselUI.noSource= tutti.title.openReplaceTemporaryVesselUI.noTarget= +tutti.todo= tutti.toolbar.menu.action= tutti.toolbar.menu.action.mnemonic= tutti.toolbar.menu.action.tip= 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 bb09b5c..5d71199 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 @@ -20,7 +20,6 @@ tutti.applicationUpdater.startUpdate=Téléchargement et installation d'une nouv tutti.applicationUpdater.startUpdate.db.installation=Téléchargement et installation de la base (version %s) tutti.applicationUpdater.startUpdate.db.update=Téléchargement et mise à jour de la base (version %s) tutti.applicationUpdater.startUpdate.report=Téléchargement et mise à jour des rapports (version %s) -tutti.generateReport.action.computeNbSteps=Calcul du nombre d'opérations tutti.applicationUpdater.synchroDB.prepare.error=Erreur lors de la préparation de la synchronisation de la base tutti.applicationUpdater.synchroDB.synchro.error=Erreur lors de la synchronisation de la base tutti.applicationUpdater.synchroDB.writeVersion.error=Erreur lors de l'écriture de la nouvelle version de la base de données dans le fichier %s @@ -1359,15 +1358,19 @@ tutti.gearUseFeatureTable.action.removeCaracteristic.tip=Supprimer la caractéri tutti.gearUseFeatureTable.table.header.key=Caractéristique tutti.gearUseFeatureTable.table.header.value=Valeur tutti.gearUseFeatureTable.title=Mise en œuvre de l'engin +tutti.generateReport.action.computeNbSteps=Calcul du nombre d'opérations tutti.genericFormat.action.chooseDbBackupFile=Sauvegarder la base de données +tutti.genericFormat.action.chooseExportFile=Exporter tutti.genericFormat.action.chooseImportReportFile=Enregistrer tutti.genericFormat.action.chooseValidateReportFile=Enregistrer +tutti.genericFormat.export.action.success=Export générique terminé (fichier <strong>%s</strong>) tutti.genericFormat.import.error=Des erreurs ont été détectées lors de l'import tutti.genericFormat.import.error.tip=Vous pouvez consulter le rapport d'import pour les corriger tutti.genericFormat.import.success=L'import s'est déroulé avec succès tutti.genericFormat.import.success.tip=Vous pouvez consulter le rapport d'import (%s) tutti.genericFormat.importReportFile.saved=Le rapport d'import a été enregistré <strong>%s</strong> tutti.genericFormat.title.choose.dbBackupFile=Sauvegarder la base de données +tutti.genericFormat.title.choose.exportFile=Exporter des données au format générique tutti.genericFormat.title.choose.saveImportReportfile=Enregisrer le rapport d'import tutti.genericFormat.title.choose.saveValidateReportfile=Enregisrer le rapport de validation tutti.genericFormat.validate.error=Des erreurs ont été détectées lors de la validation @@ -1375,6 +1378,46 @@ tutti.genericFormat.validate.error.tip=Vous pouvez consulter le rapport de valid tutti.genericFormat.validate.success=La validation s'est déroulée avec succès tutti.genericFormat.validate.success.tip=Vous pouvez consulter le rapport de validation (%s) tutti.genericFormat.validateReportFile.saved=Le rapport de validation a été enregistré <strong>%s</strong> +tutti.genericFormatExport.action.closeGenericFormatExport=Quitter +tutti.genericFormatExport.action.closeGenericFormatExport.mnemonic=Q +tutti.genericFormatExport.action.closeGenericFormatExport.tip=Quitter l'écran d'export +tutti.genericFormatExport.action.export=Exporter +tutti.genericFormatExport.action.export.mnemonic=E +tutti.genericFormatExport.action.export.tip=Exporter les données sélectionnées +tutti.genericFormatExport.action.foldAll=Tout Replier +tutti.genericFormatExport.action.foldAll.mnemonic=R +tutti.genericFormatExport.action.foldAll.tip=Tout replier +tutti.genericFormatExport.action.selectAll=Tout sélectionner +tutti.genericFormatExport.action.selectAll.mnemonic=S +tutti.genericFormatExport.action.selectAll.tip=Tout sélectionner +tutti.genericFormatExport.action.unfoldAll=Tout Déplier +tutti.genericFormatExport.action.unfoldAll.mnemonic=D +tutti.genericFormatExport.action.unfoldAll.tip=Tout déplier +tutti.genericFormatExport.action.unselectAll=Tout désélectionner +tutti.genericFormatExport.action.unselectAll.mnemonic=T +tutti.genericFormatExport.action.unselectAll.tip=Tout désélectionner +tutti.genericFormatExport.exportConfiguration.legend=Configuration +tutti.genericFormatExport.exportFile.extension=zip +tutti.genericFormatExport.exportFile.extension.description=Archive d'import générique (.zip) +tutti.genericFormatExport.exportOptions.legend=Options d'export +tutti.genericFormatExport.field.exportAccidentalCatch=Exporter les captures accidentelles +tutti.genericFormatExport.field.exportAccidentalCatch.tip=Exporter les captures accidentelles +tutti.genericFormatExport.field.exportAttachments=Exporter les pièces-jointes +tutti.genericFormatExport.field.exportAttachments.tip=Exporter les pièces-jointes +tutti.genericFormatExport.field.exportBenthos=Exporter les lots Benthos +tutti.genericFormatExport.field.exportBenthos.tip=Exporter les lots Benthos +tutti.genericFormatExport.field.exportFile=Fichier d'export +tutti.genericFormatExport.field.exportFile.tip=Fichier d'export +tutti.genericFormatExport.field.exportIndividualObservation=Exporter les observations individuelles +tutti.genericFormatExport.field.exportIndividualObservation.tip=Exporter les observations individuelles +tutti.genericFormatExport.field.exportMarineLitter=Exporter les macro-déchets +tutti.genericFormatExport.field.exportMarineLitter.tip=Exporter les macro-déchets +tutti.genericFormatExport.field.exportSpecies=Exporter les lots Espèces +tutti.genericFormatExport.field.exportSpecies.tip=Exporter les lots Espèces +tutti.genericFormatExport.field.program=Série de campagne +tutti.genericFormatExport.field.program.tip=Série de campagne +tutti.genericFormatExport.selectData.legend=Sélection des données à exporter +tutti.genericFormatExport.title=Export générique tutti.genericFormatImport..extension=zip tutti.genericFormatImport..extension.description=Archive d'import générique (.zip) tutti.genericFormatImport.action.closeGenericFormatImport=Quitter @@ -1525,8 +1568,11 @@ tutti.main.action.exit.tip=Quitter l'application tutti.main.action.generateSelectedCruiseReport=Rapport tutti.main.action.generateSelectedCruiseReport.mnemonic=R tutti.main.action.generateSelectedCruiseReport.tip=Générer des rapports +tutti.main.action.genericFormatExport=Export générique +tutti.main.action.genericFormatExport.mnemonic=E +tutti.main.action.genericFormatExport.tip=Exporter des campagnes au format générique tutti.main.action.genericFormatImport=Import générique -tutti.main.action.genericFormatImport.mnemonic=BirtSample +tutti.main.action.genericFormatImport.mnemonic=I tutti.main.action.genericFormatImport.tip=Importer des campagnes au format générique tutti.main.action.goto.previousScreen.tip=Retour à l'écran précédent tutti.main.action.importTemporaryReferential=Référentiels temporaires @@ -1687,7 +1733,12 @@ tutti.openDb.step.checkSchemaVersion=Vérification de la compatibilité de la ba tutti.openDb.step.open=Ouverture de la base <strong>%s</strong> tutti.openDb.step.updateReferential= tutti.openDb.step.will.migrateSchema=Démarrage de la mise à jour du schéma de la base depuis la version %s vers la version %s -tutti.openGenericFormatImportScreen.step.loading.allGear=Chargement du référentiel engin +tutti.openGenericFormatExportScreen.step.loading.allGear=Chargement du référentiel Engin +tutti.openGenericFormatExportScreen.step.loading.allPerson=Chargement du référentiel Personne +tutti.openGenericFormatExportScreen.step.loading.allSpecies=Chargement du référentiel Taxinomique +tutti.openGenericFormatExportScreen.step.loading.allVessel=Chargement du référentiel Navire +tutti.openGenericFormatExportScreen.step.loading.ui=Chargement des interfaces graphiques +tutti.openGenericFormatImportScreen.step.loading.allGear=Chargement du référentiel Engin tutti.openGenericFormatImportScreen.step.loading.allPerson=Chargement du référentiel Personne tutti.openGenericFormatImportScreen.step.loading.allSpecies=Chargement du référentiel Taxinomique tutti.openGenericFormatImportScreen.step.loading.allVessel=Chargement du référentiel Navire @@ -1818,6 +1869,10 @@ tutti.selectCruise.title.choose.importFile=Importer le protocole tutti.selectCruise.title.choose.importGenericFormatFile=Importer des campagnes tutti.selectCruise.title.choose.importProtocolFile=Importer le protocole tutti.selectCruise.warn.invalid.selected.data=Les données sélectionnées ne sont pas valides, impossible de saisir ou valider les captures. +tutti.selectNode.cruisePartialSelected=La campagne est partiellement sélectionnée pour l'export ( %s traits à exporter , %s enregistrés ) +tutti.selectNode.cruiseSelected=La campagne est sélectionnée pour l'export ( %s traits à exporter ) +tutti.selectNode.operation=Trait %s +tutti.selectNode.operationSelected=Le trait est sélectionné pour l'export tutti.selectSpecies.action.cancel=Annuler tutti.selectSpecies.action.cancel.mnemonic=A tutti.selectSpecies.action.cancel.tip=Annuler la sélection de l'espèce @@ -1874,6 +1929,7 @@ tutti.splitSpeciesBatch.table.header.weight=Poids tutti.splitSpeciesBatch.title=Catégorisation du lot tutti.title.openReplaceTemporaryUI.noSource=Pas de référentiel temporaire de type %s dans la base tutti.title.openReplaceTemporaryUI.noTarget=Pas de référentiel officiel de type %s dans la base +tutti.todo= tutti.toolbar.menu.action=Actions tutti.toolbar.menu.action.mnemonic=A tutti.toolbar.menu.action.tip=Actions possibles pour cet onglet -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.