diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index 4294477b7..0ea128a2a 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -179,6 +179,8 @@ public class PreferencePane extends BasicPane { private static final int DEFAULT_INDEX = 3; + private BasicDialog basicDialog; + private boolean languageChanged; // 是否修改了设计器语言设置 //设置是否支持undo private UICheckBox supportUndoCheckBox; @@ -500,7 +502,7 @@ public class PreferencePane extends BasicPane { checkAutoScheduleStartAndUpdateStatus(); useVcsAutoSaveScheduleCheckBox.setEnabled(useV2); } - }); + }, basicDialog); }; private JPanel createAutoCleanPane() { @@ -1262,12 +1264,14 @@ public class PreferencePane extends BasicPane { @Override public BasicDialog showWindow(Window window) { - return showWindow(window, new DialogActionAdapter() { + basicDialog = showWindow(window, new DialogActionAdapter() { @Override public void doOk() { languageChanged = !ComparatorUtils.equals(languageComboBox.getSelectedItem(), DesignerEnvManager.getEnvManager(false).getLanguage()); } }); + movePanel.setParentDialog(basicDialog); + return basicDialog; } @Override diff --git a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java index 494232f2a..2f8b1cd20 100644 --- a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java +++ b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java @@ -410,6 +410,7 @@ public class TemplateTreePane extends JPanel implements FileOperations { try { WorkContext.getCurrent().get(VcsOperator.class).recycleVersion(VcsHelper.getInstance().getCurrentUsername(), VcsHelper.getInstance().dealWithFilePath(((FileNode) node).getEnvPath())); } catch (Exception e) { + FineLoggerFactory.getLogger().error("[VcsV2] recycle {} failed", nodeFILE.getName()); return false; } if (TemplateResourceManager.getResource().delete(nodeFILE)) { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java index 474d6fbb6..2f96418c4 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe.vcs.ui; import com.fr.base.svg.IconUtils; import com.fr.design.dialog.BasicDialog; +import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.i18n.Toolkit; @@ -139,6 +140,7 @@ public class VcsCenterPane extends VcsNewPane { Object o = table.getValueAt(table.getEditingRow(), table.getEditingColumn()); if (o instanceof VcsTableEntity) { VcsEntity entity = ((VcsTableEntity) o).getEntity(); + closeDialog(); DesignerContext.getDesignerFrame().openTemplate(new FileNodeFILE(new FileNode(getTemplateTruePath(entity.getFilename()), false))); } } @@ -176,6 +178,17 @@ public class VcsCenterPane extends VcsNewPane { return tableEntities; } + @Override + protected void initDialogListener(BasicDialog dialog) { + dialog.addDialogActionListener(new DialogActionAdapter() { + @Override + public void doOk() { + getParentDialog().doOK(); + getParentDialog().dispose(); + } + }); + } + @Override protected String title4PopupWindow() { return TITLE; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java index 211a3d24a..ef37d7af1 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java @@ -82,6 +82,8 @@ public class VcsMovePanel extends BasicPane { public static final String FAILED = "FAILED"; public static boolean moving = false; + + private BasicDialog parentDialog; private UILabel vcsUpdateExistLabel = new UILabel(); private UILabel vcsUpdateFireLabel = new UILabel(); @@ -119,11 +121,12 @@ public class VcsMovePanel extends BasicPane { private boolean visible = false; - public VcsMovePanel(CardLayout cardLayout, JPanel parentPane, MoveCallBack callBack) { + public VcsMovePanel(CardLayout cardLayout, JPanel parentPane, MoveCallBack callBack, BasicDialog parentDialog) { this.parentCard = cardLayout; this.parentPane = parentPane; this.callBack = callBack; this.setLayout(new BorderLayout()); + this.parentDialog = parentDialog; updatePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); updatePane.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 0)); //初始化顶部的面板 @@ -268,7 +271,7 @@ public class VcsMovePanel extends BasicPane { @Override public void actionPerformed(ActionEvent e) { VcsCenterPane vcsCenterPane = new VcsCenterPane(); - vcsCenterPane.showDialog(); + vcsCenterPane.showDialog(parentDialog); } }); } @@ -362,6 +365,13 @@ public class VcsMovePanel extends BasicPane { parentCard.show(parentPane, SETTING); } + public BasicDialog getParentDialog() { + return parentDialog; + } + + public void setParentDialog(BasicDialog parentDialog) { + this.parentDialog = parentDialog; + } @Override protected String title4PopupWindow() {