From 720f0516a2c9cd1c34879c4701a236a05eaead4a Mon Sep 17 00:00:00 2001 From: neil <459208047@qq.com> Date: Fri, 26 Apr 2019 17:13:06 +0800 Subject: [PATCH] ct --- .../design/actions/file/PreferencePane.java | 102 ++++++++++++++++-- 1 file changed, 93 insertions(+), 9 deletions(-) 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 ae6ba4c25..9775de2f5 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 @@ -24,6 +24,9 @@ import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; +import com.fr.design.mainframe.vcs.VcsConfigManager; +import com.fr.design.mainframe.vcs.common.VcsHelper; +import com.fr.design.update.push.DesignerPushUpdateManager; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.widget.FRWidgetFactory; import com.fr.general.ComparatorUtils; @@ -41,6 +44,8 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; @@ -118,7 +123,6 @@ public class PreferencePane extends BasicPane { private KeyStroke shortCutKeyStore = null; private UIColorButton gridLineColorTBButton; - private UIColorButton paginationLineColorTBButton; private UICheckBox supportCellEditorDefCheckBox; @@ -134,7 +138,16 @@ public class PreferencePane extends BasicPane { private UISpinner cachingTemplateSpinner; private UICheckBox openDebugComboBox; private UICheckBox useOptimizedUPMCheckbox; - private UICheckBox joinProductImprove; + private UICheckBox joinProductImproveCheckBox; + private UICheckBox autoPushUpdateCheckBox; + + private UICheckBox vcsEnableCheckBox; + private UICheckBox saveCommitCheckBox; + private UICheckBox useIntervalCheckBox; + private IntegerEditor saveIntervalEditor; + private UILabel remindVcsLabel; + + public PreferencePane() { this.initComponents(); @@ -152,11 +165,11 @@ public class PreferencePane extends BasicPane { jtabPane.addTab(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Advanced"), advancePane); contentPane.add(jtabPane, BorderLayout.NORTH); - createFunctionPane(generalPane); createEditPane(generalPane); createGuiOfGridPane(generalPane); createColorSettingPane(generalPane); + createVcsSettingPane(generalPane); // ConfPane JPanel confLocationPane = FRGUIPaneFactory.createX_AXISBoxInnerContainer_S_Pane(); @@ -184,10 +197,14 @@ public class PreferencePane extends BasicPane { upmSelectorPane.add(useOptimizedUPMCheckbox); advancePane.add(upmSelectorPane); + JPanel improvePane = FRGUIPaneFactory.createVerticalTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Product_Improve")); + joinProductImproveCheckBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Join_Product_Improve")); + improvePane.add(joinProductImproveCheckBox); - JPanel improvePane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Product_Improve")); - joinProductImprove = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Join_Product_Improve")); - improvePane.add(joinProductImprove); + if (DesignerPushUpdateManager.getInstance().isAutoPushUpdateSupported()) { + autoPushUpdateCheckBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Automatic_Push_Update")); + improvePane.add(autoPushUpdateCheckBox); + } JPanel spaceUpPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); spaceUpPane.add(oraclePane, BorderLayout.NORTH); @@ -196,6 +213,45 @@ public class PreferencePane extends BasicPane { advancePane.add(spaceUpPane); } + private void createVcsSettingPane(JPanel generalPane) { + JPanel vcsPane = FRGUIPaneFactory.createVerticalTitledBorderPane(Toolkit.i18nText("Fine-Design_Vcs_Title")); + generalPane.add(vcsPane); + remindVcsLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Remind")); + remindVcsLabel.setVisible(!VcsHelper.needInit()); + vcsEnableCheckBox = new UICheckBox(Toolkit.i18nText("Fine-Design_Vcs_SaveAuto")); + saveCommitCheckBox = new UICheckBox(Toolkit.i18nText("Fine-Design_Vcs_No_Delete")); + saveIntervalEditor = new IntegerEditor(60); + useIntervalCheckBox = new UICheckBox(); + JPanel enableVcsPanel = new JPanel(FRGUIPaneFactory.createLeftZeroLayout()); + enableVcsPanel.add(vcsEnableCheckBox); + enableVcsPanel.add(remindVcsLabel); + JPanel intervalPanel = new JPanel(FRGUIPaneFactory.createLeftZeroLayout()); + UILabel everyLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Every")); + UILabel delayLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Delay")); + intervalPanel.add(useIntervalCheckBox); + intervalPanel.add(everyLabel); + intervalPanel.add(saveIntervalEditor); + intervalPanel.add(delayLabel); + vcsEnableCheckBox.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + boolean selected = vcsEnableCheckBox.isSelected(); + if (selected) { + saveCommitCheckBox.setEnabled(true); + saveIntervalEditor.setEnabled(true); + useIntervalCheckBox.setEnabled(true); + } else { + saveCommitCheckBox.setEnabled(false); + saveIntervalEditor.setEnabled(false); + useIntervalCheckBox.setEnabled(false); + } + } + }); + vcsPane.add(enableVcsPanel); + vcsPane.add(intervalPanel); + vcsPane.add(saveCommitCheckBox); + } + private void createFunctionPane(JPanel generalPane) { JPanel functionPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_Function")); generalPane.add(functionPane); @@ -545,6 +601,22 @@ public class PreferencePane extends BasicPane { defaultStringToFormulaBox.setEnabled(false); defaultStringToFormulaBox.setSelected(false); } + VcsConfigManager vcsConfigManager = designerEnvManager.getVcsConfigManager(); + if (VcsHelper.needInit()) { + vcsEnableCheckBox.setSelected(vcsConfigManager.isVcsEnable()); + } else { + vcsEnableCheckBox.setEnabled(false); + vcsEnableCheckBox.setSelected(false); + } + if (!vcsEnableCheckBox.isSelected()) { + saveCommitCheckBox.setEnabled(false); + saveIntervalEditor.setEnabled(false); + useIntervalCheckBox.setEnabled(false); + } + + saveIntervalEditor.setValue(vcsConfigManager.getSaveInterval()); + saveCommitCheckBox.setSelected(vcsConfigManager.isSaveCommit()); + useIntervalCheckBox.setSelected(vcsConfigManager.isUseInterval()); supportCellEditorDefCheckBox.setSelected(designerEnvManager.isSupportCellEditorDef()); @@ -565,12 +637,15 @@ public class PreferencePane extends BasicPane { this.portEditor.setValue(new Integer(designerEnvManager.getEmbedServerPort())); openDebugComboBox.setSelected(designerEnvManager.isOpenDebug()); - useOptimizedUPMCheckbox.setSelected(ServerPreferenceConfig.getInstance().isUseOptimizedUPM()); this.oracleSpace.setSelected(designerEnvManager.isOracleSystemSpace()); this.cachingTemplateSpinner.setValue(designerEnvManager.getCachingTemplateLimit()); - this.joinProductImprove.setSelected(designerEnvManager.isJoinProductImprove()); + this.joinProductImproveCheckBox.setSelected(designerEnvManager.isJoinProductImprove()); + + if (this.autoPushUpdateCheckBox != null) { + this.autoPushUpdateCheckBox.setSelected(designerEnvManager.isAutoPushUpdateEnabled()); + } } private int chooseCase(int sign) { @@ -631,7 +706,15 @@ public class PreferencePane extends BasicPane { designerEnvManager.setOracleSystemSpace(this.oracleSpace.isSelected()); designerEnvManager.setCachingTemplateLimit((int) this.cachingTemplateSpinner.getValue()); - designerEnvManager.setJoinProductImprove(this.joinProductImprove.isSelected()); + designerEnvManager.setJoinProductImprove(this.joinProductImproveCheckBox.isSelected()); + VcsConfigManager vcsConfigManager = designerEnvManager.getVcsConfigManager(); + vcsConfigManager.setSaveInterval(this.saveIntervalEditor.getValue()); + vcsConfigManager.setVcsEnable(this.vcsEnableCheckBox.isSelected()); + vcsConfigManager.setSaveCommit(this.saveCommitCheckBox.isSelected()); + vcsConfigManager.setUseInterval(this.useIntervalCheckBox.isSelected()); + if (this.autoPushUpdateCheckBox != null) { + designerEnvManager.setAutoPushUpdateEnabled(this.autoPushUpdateCheckBox.isSelected()); + } designerEnvManager.setUndoLimit(maxUndoLimit.getSelectedIndex() * SELECTED_INDEX_5); if (maxUndoLimit.getSelectedIndex() == SELECTED_INDEX_5) { @@ -649,6 +732,7 @@ public class PreferencePane extends BasicPane { return new Class[]{Log4jConfig.class}; } }); + Configurations.update(new Worker() { @Override public void run() {