From 3e0f7cf2100b178cb62e4102bd9002ea0c0f982e Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Tue, 4 Jul 2023 10:53:20 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"Revert=20"REPORT-91839=20=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E7=89=88=E6=9C=AC=E7=AE=A1=E7=90=86=E4=BA=8C=E6=9C=9F?= =?UTF-8?q?=20=E8=A1=A5=E5=85=85=E6=8C=89=E9=92=AE=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=EF=BC=8C=E6=B6=88=E9=99=A4=E5=86=97=E4=BD=99=E4=BB=A3=E7=A0=81?= =?UTF-8?q?""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 58b1b29cbfbf54486e052dfc6ebefcb3caf94989. --- .../design/actions/file/PreferencePane.java | 23 ++++- .../design/mainframe/vcs/ui/VcsMovePanel.java | 95 +++++++++++++------ 2 files changed, 86 insertions(+), 32 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 75456fa0ce..288513231f 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 @@ -220,6 +220,9 @@ public class PreferencePane extends BasicPane { private UICheckBox saveCommitCheckBox; private UICheckBox useIntervalCheckBox; private VcsMovePanel movePanel; + + private JPanel saveIntervalPane; + private JPanel autoCleanPane; private UICheckBox startupPageEnabledCheckBox; private IntegerEditor saveIntervalEditor; private UICheckBox gcEnableCheckBox; @@ -392,7 +395,7 @@ public class PreferencePane extends BasicPane { private void createVcsSettingPane(JPanel generalPane,JPanel parentPane, CardLayout cardLayout) { //迁移面板 - movePanel = new VcsMovePanel(cardLayout, parentPane); + movePanel = createMovePane(cardLayout, parentPane); generalPane.add(movePanel, BorderLayout.NORTH); JPanel savePane = FRGUIPaneFactory.createTopVerticalTitledBorderPane(i18nText("Fine-Design_Vcs_Save_Setting")); JPanel vcsPane = FRGUIPaneFactory.createTopVerticalTitledBorderPane(i18nText("Fine-Design_Vcs_Clean_Setting")); @@ -404,7 +407,7 @@ public class PreferencePane extends BasicPane { remindVcsLabel.setVisible(!VcsHelper.getInstance().needInit()); vcsEnableCheckBox = new UICheckBox(i18nText("Fine-Design_Vcs_SaveAuto")); - JPanel saveIntervalPane = createSaveIntervalPane(); + saveIntervalPane = createSaveIntervalPane(); saveCommitCheckBox = new UICheckBox(i18nText("Fine-Design_Vcs_No_Delete")); saveIntervalEditor = new IntegerEditor(60); useIntervalCheckBox = new UICheckBox(); @@ -423,7 +426,7 @@ public class PreferencePane extends BasicPane { intervalPanel.add(everyLabel); intervalPanel.add(saveIntervalEditor); intervalPanel.add(delayLabel); - JPanel autoCleanPane = createAutoCleanPane(); + autoCleanPane = createAutoCleanPane(); vcsEnableCheckBox.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { @@ -447,12 +450,24 @@ public class PreferencePane extends BasicPane { vcsPane.add(intervalPanel); vcsPane.add(saveCommitCheckBox); vcsPane.add(autoCleanPane); + saveIntervalPane.setVisible(!VcsHelper.getInstance().isLegacyMode()); + autoCleanPane.setVisible(!VcsHelper.getInstance().isLegacyMode()); if (VcsHelper.getInstance().isLegacyMode()) { // 老版本时才显示gc选项 vcsPane.add(gcControlPane); } } + private VcsMovePanel createMovePane(CardLayout cardLayout, JPanel parentPane) { + return new VcsMovePanel(cardLayout, parentPane, new VcsMovePanel.MoveCallBack(){ + @Override + public void doCallBack(boolean visible) { + saveIntervalPane.setVisible(visible); + autoCleanPane.setVisible(visible); + } + }); + }; + private JPanel createAutoCleanPane() { JPanel autoCleanPane = new JPanel(FRGUIPaneFactory.createLeftZeroLayout()); useVcsAutoCleanScheduleCheckBox = new UICheckBox(); @@ -467,6 +482,7 @@ public class PreferencePane extends BasicPane { autoCleanPane.add(autoCleanRetainIntervalComboBox); autoCleanPane.add(new UILabel(i18nText("Fine-Design_Vcs_Auto_Clean_Last"))); useVcsAutoCleanScheduleCheckBox.setEnabled(!VcsHelper.getInstance().isLegacyMode()); + autoCleanPane.setVisible(false); return autoCleanPane; } @@ -479,6 +495,7 @@ public class PreferencePane extends BasicPane { saveIntervalPane.add(autoSaveIntervalEditor); saveIntervalPane.add(new UILabel(i18nText("Fine-Design_Vcs_Save_Delay"))); useVcsAutoSaveScheduleCheckBox.setEnabled(!VcsHelper.getInstance().isLegacyMode()); + saveIntervalPane.setVisible(false); return saveIntervalPane; } 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 9a3235cd15..cf68c33bc3 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 @@ -32,6 +32,8 @@ import javax.swing.JProgressBar; import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.List; @@ -102,12 +104,19 @@ public class VcsMovePanel extends BasicPane { private UISpinner spinner; + private MoveCallBack callBack; - public VcsMovePanel(CardLayout cardLayout, JPanel parentPane) { + private JPanel updatePane; + + private boolean visible = false; + + + public VcsMovePanel(CardLayout cardLayout, JPanel parentPane, MoveCallBack callBack) { this.parentCard = cardLayout; this.parentPane = parentPane; + this.callBack = callBack; this.setLayout(new BorderLayout()); - JPanel updatePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); + updatePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); updatePane.setBackground(BACK_GROUND_COLOR); //初始化迁移的面板 initVcsLabel(updatePane); @@ -261,25 +270,37 @@ public class VcsMovePanel extends BasicPane { JPanel successPane = new JPanel(); JPanel body = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane(); successButton = new UIButton(Toolkit.i18nText("Fine-Design_Vcs_Move_Success_Go")); + initSuccessButtonListener(); iconLabel = new UILabel(IconUtils.readIcon("/com/fr/design/vcs/move_success.svg")); successLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Move_Success")); successLabel.setFont(FONT); successTipLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Move_Success_Tip")); - successTipLabel.setForeground(TIP_COLOR); - body.add(iconLabel); - body.add(new UILabel(StringUtils.BLANK)); - body.add(successLabel); - body.add(new UILabel(StringUtils.BLANK)); - body.add(successTipLabel); - body.add(new UILabel(StringUtils.BLANK)); - body.add(successButton); - successPane.add(body); - successPane.setLayout(FRGUIPaneFactory.createCenterLayout(body, 0.5f, 0.5f)); - parentPane.add(successPane, SUCCESS); - iconLabel.setAlignmentX(CENTER_ALIGNMENT); - successLabel.setAlignmentX(CENTER_ALIGNMENT); - successButton.setAlignmentX(CENTER_ALIGNMENT); - successTipLabel.setAlignmentX(CENTER_ALIGNMENT); + initStatusPane(successTipLabel, iconLabel, successLabel, successButton, body, SUCCESS, successPane); + } + + private void initSuccessButtonListener() { + successButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + doAfterMove(); + } + }); + } + + private void initFailedButtonListener() { + failedButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + doAfterMove(); + } + }); + } + + private void doAfterMove() { + visible = !VcsHelper.getInstance().isLegacyMode(); + updatePane.setVisible(!visible); + callBack.doCallBack(visible); + parentCard.show(parentPane, SETTING); } @@ -300,25 +321,30 @@ public class VcsMovePanel extends BasicPane { JPanel failedPane = new JPanel(); JPanel body = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane(); failedButton = new UIButton(Toolkit.i18nText("Fine-Design_Vcs_Move_Failed_Go")); + initFailedButtonListener(); failedIconLabel = new UILabel(IconUtils.readIcon("/com/fr/design/vcs/move_failed.svg")); failedLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Move_Failed")); failedLabel.setFont(FONT); failedTipLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Move_Failed_Tip")); - failedTipLabel.setForeground(TIP_COLOR); - body.add(failedIconLabel); + initStatusPane(failedTipLabel, failedIconLabel, failedLabel, failedButton, body, FAILED, failedPane); + } + + private void initStatusPane(UILabel tipLabel, UILabel iconLabel, UILabel label, UIButton button, JPanel body, String tag,JPanel statusPane) { + tipLabel.setForeground(TIP_COLOR); + body.add(iconLabel); body.add(new UILabel(StringUtils.BLANK)); - body.add(failedLabel); + body.add(label); body.add(new UILabel(StringUtils.BLANK)); - body.add(failedTipLabel); + body.add(tipLabel); body.add(new UILabel(StringUtils.BLANK)); - body.add(failedButton); - failedPane.add(body); - failedPane.setLayout(FRGUIPaneFactory.createCenterLayout(body, 0.5f, 0.5f)); - parentPane.add(failedPane, FAILED); - failedIconLabel.setAlignmentX(CENTER_ALIGNMENT); - failedLabel.setAlignmentX(CENTER_ALIGNMENT); - failedButton.setAlignmentX(CENTER_ALIGNMENT); - failedTipLabel.setAlignmentX(CENTER_ALIGNMENT); + body.add(button); + statusPane.add(body); + statusPane.setLayout(FRGUIPaneFactory.createCenterLayout(body, 0.5f, 0.5f)); + parentPane.add(statusPane, tag); + iconLabel.setAlignmentX(CENTER_ALIGNMENT); + label.setAlignmentX(CENTER_ALIGNMENT); + button.setAlignmentX(CENTER_ALIGNMENT); + tipLabel.setAlignmentX(CENTER_ALIGNMENT); } @@ -377,4 +403,15 @@ public class VcsMovePanel extends BasicPane { } + /** + * 迁移回调事件 + * + */ + public static class MoveCallBack { + /** + * 处理回调 + */ + public void doCallBack(boolean visible){} + } + }