diff --git a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java index 60554ef7d..7d2fc6106 100644 --- a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java +++ b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java @@ -83,8 +83,6 @@ public class EnvChangeEntrance { private boolean envListOkAction(EnvListPane envListPane, PopTipStrategy strategy) { final String selectedName = envListPane.updateEnvManager(); - SaveSomeTemplatePane saveSomeTemplatePane = new SaveSomeTemplatePane(true, SwingUtilities.getWindowAncestor(envListPane)); - saveSomeTemplatePane.showSavePane(); return switch2Env(selectedName, strategy); } @@ -391,6 +389,11 @@ public class EnvChangeEntrance { @Override public void doOk() { + SaveSomeTemplatePane saveSomeTemplatePane = new SaveSomeTemplatePane(true, SwingUtilities.getWindowAncestor(envListPane)); + if (!saveSomeTemplatePane.showSavePane()) { + // 用户取消保存时,取消切换目录操作 + return; + } boolean changeResult = envListOkAction(envListPane, PopTipStrategy.LATER); // 切换完成后清理密码 updateNotRememberPwdEnv(); diff --git a/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java b/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java index b47d5ef1e..33761a92e 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java @@ -68,8 +68,10 @@ public class SwitchExistEnv extends MenuDef { EnvChangeEntrance.getInstance().chooseEnv(envName); } else { SaveSomeTemplatePane saveSomeTemplatePane = new SaveSomeTemplatePane(true); - saveSomeTemplatePane.showSavePane(); - EnvChangeEntrance.getInstance().switch2Env(envName); + if (saveSomeTemplatePane.showSavePane()) { + // 用户模板保存后,才进行切换目录操作 + EnvChangeEntrance.getInstance().switch2Env(envName); + } } }