Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 5b045f48 by Tony Chemit at 2021-02-11T21:54:08+01:00 Revoir l'ordre des actions dans la popup **Actions** - Closes #1788 - - - - - 24 changed files: - client/datasource/editor/api/src/main/i18n/getters/java.getter - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ConfigureMenuAction.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/id/ChangeId.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/id/ShowTechnicalInformations.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/MoveRequestBuilder.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/MoveEdit.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/actions/MoveMultiple.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/MoveOpenable.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/actions/ShowUniqueKeysReferential.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/actions/ShowUsagesReferential.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/ContentUIMenuAction.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeShowPopupHandler.java - client/datasource/editor/api/src/main/resources/fr/ird/observe/client/datasource/editor/api/content/data/list/CommonContentListUI.jcss - client/datasource/editor/api/src/main/resources/fr/ird/observe/client/datasource/editor/api/content/data/open/CommonContentOpenableUI.jcss - client/i18n/src/main/i18n/translations/observe_en_GB.properties - client/i18n/src/main/i18n/translations/observe_es_ES.properties - client/i18n/src/main/i18n/translations/observe_fr_FR.properties Changes: ===================================== client/datasource/editor/api/src/main/i18n/getters/java.getter ===================================== @@ -190,10 +190,10 @@ observe.ui.action.test.remote observe.ui.action.test.remote.tip observe.ui.action.test.server observe.ui.action.test.server.tip -observe.ui.choice.apply observe.ui.choice.cancel observe.ui.choice.cancel.tip observe.ui.choice.confirm.delete +observe.ui.choice.confirm.move observe.ui.choice.confirm.replace observe.ui.choice.continue observe.ui.choice.doNotSave ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java ===================================== @@ -65,8 +65,13 @@ public class ObserveKeyStrokesEditorApi extends ObserveKeyStrokesSupport { public static final KeyStroke KEY_STROKE_RESET_DATA = KeyStroke.getKeyStroke("pressed F4"); public static final KeyStroke KEY_STROKE_SAVE_DATA = KeyStroke.getKeyStroke("pressed F5"); public static final KeyStroke KEY_STROKE_DELETE_DATA_GLOBAL = KeyStroke.getKeyStroke("pressed F6"); + public static final KeyStroke KEY_STROKE_MOVE = KeyStroke.getKeyStroke("pressed F7"); public static final KeyStroke KEY_STROKE_DUPLICATE = KeyStroke.getKeyStroke("pressed F7"); public static final KeyStroke KEY_STROKE_GENERATE = KeyStroke.getKeyStroke("pressed F9"); + public static final KeyStroke KEY_STROKE_CHANGE_ID = KeyStroke.getKeyStroke("pressed F9"); + public static final KeyStroke KEY_STROKE_SHOW_TECHNICAL_INFORMATIONS = KeyStroke.getKeyStroke("pressed F10"); + public static final KeyStroke KEY_STROKE_SHOW_USAGES = KeyStroke.getKeyStroke("pressed F11"); + public static final KeyStroke KEY_STROKE_SHOW_UNIQUE_KEYS = KeyStroke.getKeyStroke("pressed F12"); public static final KeyStroke KEY_STROKE_COPY_VALUES_AND_SAVE = KeyStroke.getKeyStroke("ctrl pressed T"); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ConfigureMenuAction.java ===================================== @@ -26,6 +26,7 @@ import fr.ird.observe.client.datasource.editor.api.content.ContentUI; import org.nuiton.jaxx.runtime.swing.action.MenuAction; import javax.swing.JPopupMenu; +import javax.swing.KeyStroke; /** * Created on 25/11/2020. @@ -41,4 +42,12 @@ public interface ConfigureMenuAction<U extends ContentUI> extends MenuAction { default JPopupMenu getPopupMenu() { return getUi().getConfigurePopup(); } + + @Override + default KeyStroke getMenuKeyStroke() { + // always use the given key-stroke to avoid change between two content + // a same such action is unique on a form, so can be determine once for all + return (KeyStroke) getValue(ACCELERATOR_KEY); + } + } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/id/ChangeId.java ===================================== @@ -24,6 +24,7 @@ package fr.ird.observe.client.datasource.editor.api.content.actions.id; import com.google.common.collect.ImmutableSet; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; +import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.ContentUI; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; import fr.ird.observe.client.datasource.editor.api.content.actions.ContentUIActionSupport; @@ -92,7 +93,7 @@ public class ChangeId<U extends ContentUI> extends ContentUIActionSupport<U> imp } public ChangeId(ChangeIdRequest request, ChangeIdExecutor executor) { - super(t("observe.common.ReferentialDto.action.changeId.tip"), t("observe.common.ReferentialDto.action.changeId.tip"), "changeId", null); + super(t("observe.common.ReferentialDto.action.changeId.tip"), t("observe.common.ReferentialDto.action.changeId.tip"), "changeId", ObserveKeyStrokesEditorApi.KEY_STROKE_CHANGE_ID); this.request = Objects.requireNonNull(request); this.executor = Objects.requireNonNull(executor); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/id/ShowTechnicalInformations.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.api.content.actions.id; * #L% */ +import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.ContentMode; import fr.ird.observe.client.datasource.editor.api.content.ContentUI; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; @@ -110,7 +111,7 @@ public class ShowTechnicalInformations<U extends ContentUI> extends ContentUIAct public ShowTechnicalInformations(ShowIdRequest request, ShowIdExecutor executor) { super(n("observe.ui.action.show.technical.information.tip"), n("observe.ui.action.show.technical.information.tip"), - "show-information", null); + "show-information", ObserveKeyStrokesEditorApi.KEY_STROKE_SHOW_TECHNICAL_INFORMATIONS); this.request = Objects.requireNonNull(request); this.executor = Objects.requireNonNull(executor); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/MoveRequestBuilder.java ===================================== @@ -188,8 +188,8 @@ public class MoveRequestBuilder { selectTargetAction.putValue(Action.ACCELERATOR_KEY, keyStroke); selectTargetAction.putValue(Action.NAME, t); selectTarget.setFocusable(false); - keyStroke = ObserveKeyStrokesEditorApi.KEY_STROKE_APPLY; - t = ObserveKeyStrokesEditorApi.suffixTextWithKeyStroke(t("observe.ui.choice.apply"), keyStroke); + keyStroke = ObserveKeyStrokesEditorApi.KEY_STROKE_MOVE; + t = ObserveKeyStrokesEditorApi.suffixTextWithKeyStroke(t("observe.ui.choice.confirm.move"), keyStroke); applyAction = new AbstractAction() { @Override @@ -200,7 +200,6 @@ public class MoveRequestBuilder { }; applyAction.putValue(Action.ACCELERATOR_KEY, keyStroke); applyAction.putValue(Action.NAME, t); -// selectTarget.setAction(selectTargetAction); } public MoveRequestBuilder setParentTargetReferenceType(Class<? extends DtoReference> parentTargetReferenceType) { @@ -296,7 +295,7 @@ public class MoveRequestBuilder { JLayeredPane parent = (JLayeredPane) optionPane.getParent().getParent(); - InputMap inputMap = parent.getRootPane().getInputMap(2); + InputMap inputMap = parent.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); inputMap.put(KeyStroke.getKeyStroke("pressed ENTER"), "none"); inputMap.put(KeyStroke.getKeyStroke("ctrl pressed ENTER"), "none"); @@ -305,6 +304,7 @@ public class MoveRequestBuilder { } }; jButton = UsageUIHandlerSupport.findButton(optionPane, continueActionText); + jButton.setIcon(UIHelper.getUIManagerActionIcon("move")); Objects.requireNonNull(jButton); jButton.setEnabled(false); editor.getModel().addPropertyChangeListener("selectedItem", evt -> jButton.setEnabled(evt.getNewValue() != null)); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/MoveEdit.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.edit.actions; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; import fr.ird.observe.client.datasource.editor.api.content.actions.move.MoveExecutor; import fr.ird.observe.client.datasource.editor.api.content.actions.move.MoveRequest; @@ -56,7 +57,7 @@ public final class MoveEdit<D extends EditableDto, U extends ContentEditUI<D, U> } protected MoveEdit(Class<D> dataType, MoveExecutor executor) { - super(dataType, null, null, "move", null); + super(dataType, null, null, "move", ObserveKeyStrokesEditorApi.KEY_STROKE_MOVE); this.executor = executor; setText(ContentOpenableUII18nHelper.getActionMove(getDataType())); setTooltipText(ContentOpenableUII18nHelper.getActionMove(getDataType())); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUI.jaxx ===================================== @@ -80,6 +80,6 @@ public abstract ContentListUIHandler<D, R, U> getHandler(); </row> </Table> + <JMenuItem id='move'/> <JMenuItem id='showTechnicalInformations'/> - <JMenuItem id='move' styleClass="ifOpen"/> </fr.ird.observe.client.datasource.editor.api.content.ContentUI> ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIHandler.java ===================================== @@ -139,9 +139,9 @@ public abstract class ContentListUIHandler<D extends DataDto, R extends DataDtoR GotoOpenData.installAction(ui); GotoSelectedData.installAction(ui); installDeleteAction(); - ShowTechnicalInformations.installAction(ui); installCreateNewAction(); installMoveAction(); + ShowTechnicalInformations.installAction(ui); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/actions/MoveMultiple.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.list.actions; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; import fr.ird.observe.client.datasource.editor.api.content.actions.move.MoveExecutor; import fr.ird.observe.client.datasource.editor.api.content.actions.move.MoveRequest; @@ -62,7 +63,7 @@ public final class MoveMultiple<D extends DataDto, R extends DataDtoReference, U } protected MoveMultiple(Class<D> dataType, MoveExecutor executor) { - super(dataType, null, null, "move", null); + super(dataType, null, null, "move", ObserveKeyStrokesEditorApi.KEY_STROKE_MOVE); this.executor = executor; setText(ContentListUII18nHelper.getActionMove(getDataType())); setTooltipText(ContentListUII18nHelper.getActionMoveTip(getDataType())); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jaxx ===================================== @@ -70,7 +70,7 @@ public void resetEdit() { </cell> </row> </Table> + <JMenuItem id='move'/> <JMenuItem id='showTechnicalInformations'/> - <JMenuItem id='move' styleClass="ifOpen"/> </fr.ird.observe.client.datasource.editor.api.content.ContentUI> ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jcss ===================================== @@ -44,7 +44,11 @@ } #delete { - visible:{states.isUpdatingMode()}; + /*visible:{states.isUpdatingMode()};*/ + enabled:{!states.isModified()}; +} + +#move { enabled:{!states.isModified()}; } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIHandler.java ===================================== @@ -95,8 +95,8 @@ public abstract class ContentOpenableUIHandler<D extends OpenableDto, U extends installCreateNewAction(); installResetAction(); installSaveAction(); - installMoveAction(); installDeleteAction(); + installMoveAction(); ShowTechnicalInformations.installAction(ui); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/MoveOpenable.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.open.actions; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; import fr.ird.observe.client.datasource.editor.api.content.actions.move.MoveExecutor; import fr.ird.observe.client.datasource.editor.api.content.actions.move.MoveRequest; @@ -63,7 +64,7 @@ public final class MoveOpenable<D extends OpenableDto, U extends ContentOpenable } protected MoveOpenable(Class<D> dataType, MoveExecutor executor) { - super(dataType, null, null, "move", null); + super(dataType, null, null, "move", ObserveKeyStrokesEditorApi.KEY_STROKE_MOVE); this.executor = executor; setText(ContentOpenableUII18nHelper.getActionMove(getDataType())); setTooltipText(ContentOpenableUII18nHelper.getActionMove(getDataType())); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIHandler.java ===================================== @@ -135,10 +135,10 @@ public class ContentReferentialUIHandler<D extends ReferentialDto, R extends Ref BackToListReferential.installAction(ui); DetailReferential.installAction(ui); DeleteReferential.installAction(ui); + ChangeId.installAction(ui); ShowTechnicalInformations.installAction(ui); - ShowUniqueKeysReferential.installAction(ui); ShowUsagesReferential.installAction(ui); - ChangeId.installAction(ui); + ShowUniqueKeysReferential.installAction(ui); installCreateAction(); installModifyAction(); installSaveAction(); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/actions/ShowUniqueKeysReferential.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.api.content.referential.actions; * #L% */ +import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; import fr.ird.observe.client.datasource.editor.api.content.referential.ContentReferentialUI; import fr.ird.observe.client.datasource.editor.api.content.referential.ContentReferentialUII18nHelper; @@ -67,7 +68,7 @@ public final class ShowUniqueKeysReferential<D extends ReferentialDto, R extends } public ShowUniqueKeysReferential(Class<D> dataType) { - super(dataType, t("observe.referential.Referential.action.show.unique.keys.tip"), t("observe.referential.Referential.action.show.unique.keys.tip"), "show-keys", null); + super(dataType, t("observe.referential.Referential.action.show.unique.keys.tip"), t("observe.referential.Referential.action.show.unique.keys.tip"), "show-keys", ObserveKeyStrokesEditorApi.KEY_STROKE_SHOW_UNIQUE_KEYS); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/actions/ShowUsagesReferential.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.api.content.referential.actions; */ import fr.ird.observe.client.ClientUIContext; +import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; import fr.ird.observe.client.datasource.editor.api.content.referential.ContentReferentialUI; import fr.ird.observe.client.datasource.editor.api.content.referential.ContentReferentialUIModel; @@ -53,7 +54,7 @@ public final class ShowUsagesReferential<D extends ReferentialDto, R extends Ref } public ShowUsagesReferential(Class<D> dataType) { - super(dataType, t("observe.referential.Referential.action.show.usages.tip"), t("observe.referential.Referential.action.show.usages.tip"), "show-usages", null); + super(dataType, t("observe.referential.Referential.action.show.usages.tip"), t("observe.referential.Referential.action.show.usages.tip"), "show-usages", ObserveKeyStrokesEditorApi.KEY_STROKE_SHOW_USAGES); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/ContentUIMenuAction.java ===================================== @@ -80,7 +80,7 @@ public class ContentUIMenuAction extends AbstractAction implements MenuAction { toolTipText = ObserveKeyStrokesSupport.removeKeyStroke(toolTipText); putValue(SHORT_DESCRIPTION, toolTipText); String name = (String) getValue(NAME); - if (name!=null && name.isEmpty()) { + if (name != null && name.isEmpty()) { putValue(NAME, toolTipText); } } @@ -114,19 +114,11 @@ public class ContentUIMenuAction extends AbstractAction implements MenuAction { editor.setEnabled(action.isEnabled()); } - @Override - public void initUI() { - if (!isWithKeyStroke()) { - KeyStroke keyStroke = getMenuKeyStroke(); - setKeyStroke(keyStroke); - } - AbstractButton editor = getEditor(); - getPopupMenu().add(editor); - initEditor(); - } - @Override public KeyStroke getMenuKeyStroke() { + if (isWithKeyStroke()) { + return (KeyStroke) getValue(ACCELERATOR_KEY); + } int usedCount = (int) Arrays.stream(getPopupMenu().getSubElements()).filter(p -> !((ContentUIMenuAction) ((AbstractButton) p).getAction()).isWithKeyStroke()).count(); return getMenuKeyStroke(usedCount); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeShowPopupHandler.java ===================================== @@ -93,12 +93,12 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene popup.addSeparator(); length = popup.getSubElements().length; } - Arrays.stream(selectedContentUI.getInsertPopup().getSubElements()).forEach(a -> new ContentUIMenuAction(popup, (AbstractButton) a).init()); + Arrays.stream(selectedContentUI.getConfigurePopup().getSubElements()).forEach(a -> ContentUIMenuAction.createWithKeyStroke(popup, (AbstractButton) a).init()); if (popup.getSubElements().length > length) { popup.addSeparator(); } - Arrays.stream(selectedContentUI.getConfigurePopup().getSubElements()).forEach(a -> new ContentUIMenuAction(popup, (AbstractButton) a).init()); length = popup.getSubElements().length; + Arrays.stream(selectedContentUI.getInsertPopup().getSubElements()).forEach(a -> new ContentUIMenuAction(popup, (AbstractButton) a).init()); if (length == 0) { popup.add(noAction); } ===================================== client/datasource/editor/api/src/main/resources/fr/ird/observe/client/datasource/editor/api/content/data/list/CommonContentListUI.jcss ===================================== @@ -24,6 +24,3 @@ enabled: true; } -.ifOpen { - enabled:{states.isUpdatingMode()}; -} ===================================== client/datasource/editor/api/src/main/resources/fr/ird/observe/client/datasource/editor/api/content/data/open/CommonContentOpenableUI.jcss ===================================== @@ -49,6 +49,3 @@ BeanCheckBox { horizontalTextPosition:{BeanCheckBox.LEFT}; } -.ifOpen { - enabled:{states.isUpdatingMode() && !states.isModified()}; -} ===================================== client/i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -1300,6 +1300,7 @@ observe.ui.choice.cancel=Cancel observe.ui.choice.cancel.tip=To cancel, press ESCAPE key. observe.ui.choice.confirm.delete=Confirm delete observe.ui.choice.confirm.insert=Confirm to insert +observe.ui.choice.confirm.move=Move observe.ui.choice.confirm.replace=Replace observe.ui.choice.continue=Continue observe.ui.choice.dcp.default=Other opérations or objects (FOB) ===================================== client/i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -1300,6 +1300,7 @@ observe.ui.choice.cancel=Cancelar observe.ui.choice.cancel.tip=To cancel, press ESCAPE key. \#TODO observe.ui.choice.confirm.delete=Eliminar observe.ui.choice.confirm.insert=Confirmer l'insertion \#TODO +observe.ui.choice.confirm.move=Cambiar observe.ui.choice.confirm.replace=Reemplazar observe.ui.choice.continue=Continuar observe.ui.choice.dcp.default=Other opérations or objects (FOB) \#TODO ===================================== client/i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -1300,6 +1300,7 @@ observe.ui.choice.cancel=Annuler observe.ui.choice.cancel.tip=Pour annuler, presser la touche ÉCHAP. observe.ui.choice.confirm.delete=Supprimer observe.ui.choice.confirm.insert=Confirmer l'insertion +observe.ui.choice.confirm.move=Déplacer observe.ui.choice.confirm.replace=Remplacer observe.ui.choice.continue=Continuer observe.ui.choice.dcp.default=Autre opérations et types d'objets (FOB) View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5b045f480095dead4397119168... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5b045f480095dead4397119168... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT