This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit a0eecc1d4284318fabf8d06c034117e24c3ec0c1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 27 15:44:44 2016 +0100 refs #8429 Amélioration des racourcis claviers sur le dialogue des data sources --- .../swing/ui/storage/StorageUIHandler.java | 16 +++++- .../swing/ui/storage/StorageUIModel.java | 20 +++---- .../swing/ui/storage/tabs/StorageTabUIHandler.java | 67 ++++++++++++++++------ 3 files changed, 72 insertions(+), 31 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java index e69cb74..895cd31 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java @@ -256,7 +256,6 @@ public class StorageUIHandler { break; case CREATE_LOCAL: focusOwner = ui.getCHOOSE_DB_MODE().getCreateLocalMode(); - break; case USE_REMOTE: focusOwner = ui.getCHOOSE_DB_MODE().getUseRemoteMode(); @@ -276,8 +275,19 @@ public class StorageUIHandler { focusOwner = null; // on ne peut pas arriver sur cet ecran break; case CREATE_LOCAL: - focusOwner = ui.getCONFIG().getDumpFile(); - + switch (ui.getModel().getCreationMode()) { + case IMPORT_EXTERNAL_DUMP: + focusOwner = ui.getCONFIG().getDumpFile(); + break; + case IMPORT_REMOTE_STORAGE: + focusOwner = ui.getCONFIG().getRemoteUrl(); + break; + case IMPORT_SERVER_STORAGE: + focusOwner = ui.getCONFIG().getRemoteUrl(); + break; + default: + focusOwner = null; + } break; case USE_REMOTE: focusOwner = ui.getCONFIG().getRemoteUrl(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java index 484c446..4c2a53b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java @@ -146,7 +146,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { private static final char[] EMPTY_PASSWORD = new char[0]; - private static final String LOGIN_REFERENTIEL = "referentiel"; +// private static final String LOGIN_REFERENTIEL = "referentiel"; /** Le dbMode de connexion requis. */ protected DbMode dbMode; @@ -1301,15 +1301,15 @@ public class StorageUIModel extends WizardModel<StorageStep> { if (oldValue != creationMode) { updateUniverse(); } - if (CreationMode.IMPORT_REMOTE_STORAGE.equals(creationMode) || CreationMode.IMPORT_SERVER_STORAGE.equals(creationMode)) { - //TC-20100308 : dans le cas d'un import du référentiel distant - //TC-20100308 : on utilise toujours l'utilisateur referentiel - String s = getRemoteLogin(); - if (s != null && !LOGIN_REFERENTIEL.equals(s)) { - setRemoteLogin(LOGIN_REFERENTIEL); - setRemotePassword(EMPTY_PASSWORD); - } - } +// if (CreationMode.IMPORT_REMOTE_STORAGE.equals(creationMode) || CreationMode.IMPORT_SERVER_STORAGE.equals(creationMode)) { +// //TC-20100308 : dans le cas d'un import du référentiel distant +// //TC-20100308 : on utilise toujours l'utilisateur referentiel +// String s = getRemoteLogin(); +// if (s != null && !LOGIN_REFERENTIEL.equals(s)) { +// setRemoteLogin(LOGIN_REFERENTIEL); +// setRemotePassword(EMPTY_PASSWORD); +// } +// } validate(); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/StorageTabUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/StorageTabUIHandler.java index 69ba3e8..32dde07 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/StorageTabUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/StorageTabUIHandler.java @@ -37,6 +37,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.swing.AbstractAction; +import javax.swing.AbstractButton; import javax.swing.Icon; import javax.swing.JComponent; import javax.swing.JLabel; @@ -68,6 +69,19 @@ import static org.nuiton.i18n.I18n.t; public class StorageTabUIHandler { private static final Log log = LogFactory.getLog(StorageTabUIHandler.class); + public static final String ACTION_DO_CHOOSE_FILE = "doChooseFile"; + public static final String ACTION_DO_USE_SSL = "doUseSsl"; + public static final String ACTION_DO_KEEP_CONFIGURATION = "doKeepConfiguration"; + public static final String ACTION_DO_CONFIGURE_REMOTE_SOURCE = "doConfigureRemoteSource"; + public static final String ACTION_DO_CONFIGURE_REMOTE_SERVER = "doConfigureRemoteServer"; + public static final String ACTION_DO_BACKUP = "doBackup"; + public static final String ACTION_DO_CHOOSE_DIRECTORY = "doChooseDirectory"; + public static final KeyStroke KEY_STROKE_DO_CONFIGURE_REMOTE_SERVER = KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK); + public static final KeyStroke KEY_STROKE_DO_BACKUP = KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK); + public static final KeyStroke KEY_STROKE_DO_CHOOSE_DIRECTORY = KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK); + public static final KeyStroke KEY_STROKE_KEEP_CONFIGURATION = KeyStroke.getKeyStroke(KeyEvent.VK_K, InputEvent.CTRL_MASK); + public static final KeyStroke KEY_STROKE_DO_USE_SSL = KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK); + public static final KeyStroke KEY_STROKE_DO_CHOOSE_FILE = KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK); public boolean updateCreationModeLayout(ChooseDbModeUI ui, boolean visible, JRadioButton button) { JPanel panel = ui.getUseCreateMode(); @@ -132,7 +146,7 @@ public class StorageTabUIHandler { }; ui.getModel().addPropertyChangeListener(listener); - ui.getActionMap().put("doChooseFile", new AbstractAction() { + ui.getActionMap().put(ACTION_DO_CHOOSE_FILE, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (StorageStep.CONFIG == ui.getModel().getStep()) { @@ -140,10 +154,10 @@ public class StorageTabUIHandler { } } }); - KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK); - ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(keyStroke, "doChooseFile"); + ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KEY_STROKE_DO_CHOOSE_FILE, ACTION_DO_CHOOSE_FILE); + addKeyStroke(ui.getFileChooserAction(), KEY_STROKE_DO_CHOOSE_FILE); - ui.getActionMap().put("doUseSsl", new AbstractAction() { + ui.getActionMap().put(ACTION_DO_USE_SSL, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (StorageStep.CONFIG == ui.getModel().getStep()) { @@ -151,9 +165,10 @@ public class StorageTabUIHandler { } } }); - ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK), "doUseSsl"); + ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KEY_STROKE_DO_USE_SSL, ACTION_DO_USE_SSL); + addKeyStroke(ui.getRemoteUseSsl(), KEY_STROKE_DO_USE_SSL); - ui.getActionMap().put("doKeepConfiguration", new AbstractAction() { + ui.getActionMap().put(ACTION_DO_KEEP_CONFIGURATION, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (StorageStep.CONFIG == ui.getModel().getStep()) { @@ -161,8 +176,8 @@ public class StorageTabUIHandler { } } }); - ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK), "doKeepConfiguration"); - + ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KEY_STROKE_KEEP_CONFIGURATION, ACTION_DO_KEEP_CONFIGURATION); + addKeyStroke(ui.getStoreRemoteConfig(), KEY_STROKE_KEEP_CONFIGURATION); } public void initUI(ConfigReferentielUI ui) { @@ -179,7 +194,7 @@ public class StorageTabUIHandler { ui.getModel().addPropertyChangeListener(listener); ui.getModel().setReferentielImportMode(CreationMode.IMPORT_EXTERNAL_DUMP); - ui.getActionMap().put("doConfigureRemoteSource", new AbstractAction() { + ui.getActionMap().put(ACTION_DO_CONFIGURE_REMOTE_SOURCE, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (StorageStep.CONFIG_REFERENTIEL == ui.getModel().getStep()) { @@ -187,8 +202,10 @@ public class StorageTabUIHandler { } } }); - ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK), "doConfigureRemoteSource"); - ui.getActionMap().put("doConfigureRemoteServer", new AbstractAction() { + ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KEY_STROKE_DO_CHOOSE_DIRECTORY, ACTION_DO_CONFIGURE_REMOTE_SOURCE); + addKeyStroke(ui.getConfigureCentralSource(), KEY_STROKE_DO_CHOOSE_DIRECTORY); + + ui.getActionMap().put(ACTION_DO_CONFIGURE_REMOTE_SERVER, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (StorageStep.CONFIG_REFERENTIEL == ui.getModel().getStep()) { @@ -196,7 +213,8 @@ public class StorageTabUIHandler { } } }); - ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK), "doConfigureRemoteServer"); + ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KEY_STROKE_DO_CONFIGURE_REMOTE_SERVER, ACTION_DO_CONFIGURE_REMOTE_SERVER); + addKeyStroke(ui.getConfigureCentralSourceServer(), KEY_STROKE_DO_CONFIGURE_REMOTE_SERVER); } } @@ -281,7 +299,7 @@ public class StorageTabUIHandler { if (ui.getStep() != null) { ui.setDescriptionText(t(ui.getStep().getDescription())); - ui.getActionMap().put("doBackup", new AbstractAction() { + ui.getActionMap().put(ACTION_DO_BACKUP, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (StorageStep.BACKUP == ui.getModel().getStep()) { @@ -289,8 +307,10 @@ public class StorageTabUIHandler { } } }); - ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK), "doBackup"); - ui.getActionMap().put("doChooseDirectory", new AbstractAction() { + ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KEY_STROKE_DO_BACKUP, ACTION_DO_BACKUP); + addKeyStroke(ui.getDoBackup(), KEY_STROKE_DO_BACKUP); + + ui.getActionMap().put(ACTION_DO_CHOOSE_DIRECTORY, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (StorageStep.BACKUP == ui.getModel().getStep()) { @@ -298,10 +318,21 @@ public class StorageTabUIHandler { } } }); - ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK), "doChooseDirectory"); + ui.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(KEY_STROKE_DO_CHOOSE_DIRECTORY, ACTION_DO_CHOOSE_DIRECTORY); + addKeyStroke(ui.getChooseFileAction(), KEY_STROKE_DO_CHOOSE_DIRECTORY); } } + protected void addKeyStroke(AbstractButton component, KeyStroke actionKey) { + + String actionStr = actionKey.toString().replace("pressed", " + "); + String text = component.getText() + " (" + actionStr + ")"; + component.setText(text); + String tip = component.getToolTipText() + " (" + actionStr + ")"; + component.setToolTipText(tip); + + } + public void initUI(ConfirmUI ui) { if (ui.getStep() != null) { ui.setDescriptionText(t(ui.getStep().getDescription())); @@ -375,7 +406,7 @@ public class StorageTabUIHandler { return (Color) ui.getConnexionStatus().getClientProperty(status.name().toLowerCase() + "Color"); } - public String updateConnexionStatutText(ConfigUI ui, ConnexionStatus status) { + public String updateConnexionStatutText(ConfigUI ui, @SuppressWarnings("unused") ConnexionStatus status) { ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); ObserveTextGenerator textGenerator = applicationContext.getTextGenerator(); return textGenerator.getConnexionTestResultMessage(ui.getModel()); @@ -413,7 +444,7 @@ public class StorageTabUIHandler { ui.getModel().validate(); } - protected String updateInternalDumpModeLabel(boolean dumpExist) { + protected String updateInternalDumpModeLabel(@SuppressWarnings("unused") boolean dumpExist) { File f = ObserveSwingApplicationContext.get().getConfig().getInitialDbDump(); String text; if (f.exists()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.