diff --git a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java index 362831325..6d8d5b9c0 100644 --- a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java +++ b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java @@ -1607,7 +1607,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { this.setDragPermited(reader.getAttrAsBoolean("isDragPermited", false)); this.setUndoLimit(reader.getAttrAsInt("undoLimit", 5)); this.setDefaultStringToFormula(reader.getAttrAsBoolean("defaultStringToFormula", false)); - this.setVcsEnable(reader.getAttrAsBoolean("supportVcs", false)); + this.setVcsEnable(reader.getAttrAsBoolean("supportVcs", true)); this.setSaveCommit(reader.getAttrAsBoolean("saveCommit", false)); this.setSaveInterval(reader.getAttrAsInt("saveInterval", 60)); if ((tmpVal = reader.getAttrAsString("gridLineColor", null)) != null) { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index d61d1cf42..7685974df 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -461,7 +461,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } private void handleVcsAction() { - if (VcsHelper.containsFolderCounts() + VcsHelper.selectedTemplateCounts() > 1) { + if (!DesignerEnvManager.getEnvManager().isVcsEnable() || VcsHelper.isUnSelectedTemplate()) { vcsAction.setEnabled(false); return; } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java index 614c800b3..006603fde 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java @@ -37,7 +37,7 @@ public class VcsHelper { public final static Icon VCS_USER_PNG = BaseUtils.readIcon("/com/fr/design/mainframe/vcs/images/icon_user@1x.png"); public final static Icon VCS_REVERT = BaseUtils.readIcon("/com/fr/design/mainframe/vcs/images/icon_revert.png"); - public static int containsFolderCounts() { + private static int containsFolderCounts() { TemplateFileTree fileTree = TemplateTreePane.getInstance().getTemplateFileTree(); if (fileTree.getSelectionPaths() == null) { return 0; @@ -51,7 +51,7 @@ public class VcsHelper { return fileTree.getSelectionPaths().length - fileTree.getSelectedTemplatePaths().length; } - public static int selectedTemplateCounts() { + private static int selectedTemplateCounts() { TemplateFileTree fileTree = TemplateTreePane.getInstance().getTemplateFileTree(); if (fileTree.getSelectionPaths() == null) { return 0; @@ -60,5 +60,9 @@ public class VcsHelper { return fileTree.getSelectedTemplatePaths().length; } + public static boolean isUnSelectedTemplate() { + return VcsHelper.containsFolderCounts() + VcsHelper.selectedTemplateCounts() > 1; + } + } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionTable.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionTable.java index 500a57f15..aa9c87ca0 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionTable.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionTable.java @@ -25,7 +25,9 @@ public class FileVersionTable extends JTable { public static FileVersionTable getInstance() { if (instance == null) { synchronized (FileVersionTable.class) { - instance = new FileVersionTable(); + if (instance == null) { + instance = new FileVersionTable(); + } } } return instance; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionsPanel.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionsPanel.java index dc33d029d..a85a2668e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionsPanel.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionsPanel.java @@ -50,8 +50,9 @@ public class FileVersionsPanel extends BasicPane { public static FileVersionsPanel getInstance() { if (instance == null) { synchronized (FileVersionsPanel.class) { - instance = new FileVersionsPanel(); - + if (instance == null) { + instance = new FileVersionsPanel(); + } } } return instance;