From da3514e4db7e5cb9dd1e1200b4fb8dfaba8872c9 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 26 Apr 2019 13:58:15 +0800 Subject: [PATCH 01/15] =?UTF-8?q?REPORT-14865=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=8E=A8=E9=80=81=3D>=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../update/push/DesignerPushUpdateDialog.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/update/push/DesignerPushUpdateDialog.java b/designer-base/src/main/java/com/fr/design/update/push/DesignerPushUpdateDialog.java index 3327dd9ed..ab093605e 100644 --- a/designer-base/src/main/java/com/fr/design/update/push/DesignerPushUpdateDialog.java +++ b/designer-base/src/main/java/com/fr/design/update/push/DesignerPushUpdateDialog.java @@ -16,6 +16,7 @@ import com.fr.web.struct.category.StylePath; import com.fr.web.struct.impl.FineUI; import javax.swing.JPanel; +import javax.swing.SwingUtilities; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Frame; @@ -34,10 +35,15 @@ class DesignerPushUpdateDialog extends UIDialog { initComponents(); } - static void createAndShow(Frame parent, DesignerUpdateInfo updateInfo) { - DesignerPushUpdateDialog dialog = new DesignerPushUpdateDialog(parent); - dialog.populate(updateInfo); - dialog.showDialog(); + static void createAndShow(final Frame parent, final DesignerUpdateInfo updateInfo) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + DesignerPushUpdateDialog dialog = new DesignerPushUpdateDialog(parent); + dialog.populate(updateInfo); + dialog.showDialog(); + } + }); + } private void initComponents() { @@ -72,7 +78,7 @@ class DesignerPushUpdateDialog extends UIDialog { private Model createModel(DesignerUpdateInfo updateInfo) { Model model = new Model(); - model.setVersion(updateInfo.getPushVersion()); + model.setVersion(updateInfo.getLatestVersion()); model.setContent(updateInfo.getPushContent()); model.setMoreInfoUrl(updateInfo.getMoreInfoUrl()); model.setBackgroundUrl(updateInfo.getBackgroundUrl()); From 1909d7e1465db40225ad323e26daa86a830b2718 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 26 Apr 2019 15:41:10 +0800 Subject: [PATCH 02/15] =?UTF-8?q?REPORT-16458=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=B8=AD=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E5=BC=B9=E6=A1=86=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= =?UTF-8?q?=3D>=E6=96=87=E5=AD=97=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/ui/update/push/pushUpdate.css | 14 ++++++++------ .../com/fr/design/ui/update/push/pushUpdate.js | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.css b/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.css index add1d3a3a..521c8cdbb 100644 --- a/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.css +++ b/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.css @@ -4,6 +4,8 @@ body { color: white; background-size: 100% 100% !important; -moz-background-size: 100% 100% !important; + + font-family: PingFangSC-Regular, Georgia, "Nimbus Roman No9 L", "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif CN", STSong, "AR PL New Sung", "AR PL SungtiL GB", NSimSun, SimSun, "TW\-Sung", "WenQuanYi Bitmap Song", "AR PL UMing CN", "AR PL UMing HK", "AR PL UMing TW", "AR PL UMing TW MBE", PMingLiU, MingLiU, serif !important; } .close-btn { @@ -24,15 +26,17 @@ body { color: white !important; } +.font-bold { + font-weight: bold; +} + .title { - font-family: PingFangSC-Semibold; font-size: 24px; letter-spacing: 1.5px; line-height: 24px; } .version { - font-family: PingFangSC-Semibold; font-size: 12px; line-height: 14px; margin-top: 6px; @@ -40,9 +44,8 @@ body { .desc { margin-top: 40px; - font-family: PingFangSC-Regular; font-size: 13px; - width: 540px; + width: 82%; margin-left: 19px; text-indent: -19px; overflow: visible !important; @@ -54,7 +57,6 @@ body { .moreInfo { margin-top: 20px; - font-family: PingFangSC-Regular; font-size: 13px; text-decoration: underline; } @@ -65,7 +67,7 @@ body { } .buttonGroup .bi-button { - font-family: PingFangSC-Medium; + font-weight: 600; font-size: 11px; text-align: center; line-height: 12px; diff --git a/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js b/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js index 1342cfb55..505a8effc 100644 --- a/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js +++ b/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js @@ -33,13 +33,13 @@ function getTitleArea() { { type: "bi.label", text: i18nText("Fine-Design_Find_New_Version"), - cls: "title", + cls: "title font-bold", textAlign: "left" }, { type: "bi.label", text: Pool.data.getVersion(), - cls: "version", + cls: "version font-bold", textAlign: "left" } ] From 0ef766f157c67e13ec1192eb9ba8ab6ebf33fdfe Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 26 Apr 2019 15:43:37 +0800 Subject: [PATCH 03/15] REPORT-16550 REPORT-16547 --- .../java/com/fr/design/mainframe/vcs/common/VcsHelper.java | 2 +- .../com/fr/design/mainframe/vcs/ui/FileVersionDialog.java | 5 +++-- .../com/fr/design/mainframe/vcs/ui/FileVersionsPanel.java | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) 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 4fc99731a..d5c8c0165 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 @@ -119,7 +119,7 @@ public class VcsHelper { @Override public void run() { - String fileName = VcsHelper.getEditingFilename(); + String fileName = getEditingFilename(); VcsOperator operator = WorkContext.getCurrent().get(VcsOperator.class); VcsEntity entity = operator.getFileVersionByIndex(fileName, 0); int latestFileVersion = 0; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionDialog.java index cb7234640..33076a07f 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionDialog.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionDialog.java @@ -36,7 +36,7 @@ public class FileVersionDialog extends UIDialog { private UITextField textField; - public FileVersionDialog(Frame frame) { + public FileVersionDialog(Frame frame, final String fileName) { super(frame); setUndecorated(true); setModal(true); @@ -63,7 +63,7 @@ public class FileVersionDialog extends UIDialog { public void actionPerformed(ActionEvent e) { FileVersionDialog.this.setVisible(false); Date date = dateEditor.getValue(); - List vcsEntities = WorkContext.getCurrent().get(VcsOperator.class).getFilterVersions(date, new Date(date.getTime() + DELAY), textField.getText()); + List vcsEntities = WorkContext.getCurrent().get(VcsOperator.class).getFilterVersions(fileName, date, new Date(date.getTime() + DELAY), textField.getText()); FileVersionTable.getInstance().updateModel(1, vcsEntities); } @@ -91,4 +91,5 @@ public class FileVersionDialog extends UIDialog { public void checkValid() throws Exception { } + } 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 2e68e0e33..7f9fc56fe 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 @@ -2,6 +2,7 @@ package com.fr.design.mainframe.vcs.ui; import com.fr.base.GraphHelper; import com.fr.design.base.mode.DesignModeContext; +import com.fr.design.base.mode.DesignerMode; import com.fr.design.dialog.BasicPane; import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.file.MutilTempalteTabPane; @@ -100,7 +101,7 @@ public class FileVersionsPanel extends BasicPane { } private void showFilterPane() { - versionDialog = new FileVersionDialog(DesignerContext.getDesignerFrame()); + versionDialog = new FileVersionDialog(DesignerContext.getDesignerFrame(), templatePath); versionDialog.setVisible(true); } @@ -153,7 +154,7 @@ public class FileVersionsPanel extends BasicPane { WestRegionContainerPane.getInstance().replaceUpPane( isExit ? DesignerFrameFileDealerPane.getInstance() : this); - DesignModeContext.switchTo(isExit ? com.fr.design.base.mode.DesignerMode.NORMAL : com.fr.design.base.mode.DesignerMode.VCS); + DesignModeContext.switchTo(isExit ? DesignerMode.NORMAL : DesignerMode.VCS); // MutilTempalteTabPane & NewTemplatePane 是否可点 ToolBarNewTemplatePane.getInstance().setButtonGray(!isExit); From d240a14b0f730a86358b217dbc024ea07286e2dd Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 26 Apr 2019 15:43:43 +0800 Subject: [PATCH 04/15] =?UTF-8?q?REPORT-16458=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=B8=AD=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E5=BC=B9=E6=A1=86=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= =?UTF-8?q?=3D>=E6=98=BE=E7=A4=BA=E6=9B=B4=E5=A4=9A=E6=96=B0=E7=89=B9?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/com/fr/design/ui/update/push/pushUpdate.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js b/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js index 505a8effc..f42fb1ac7 100644 --- a/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js +++ b/designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.js @@ -126,13 +126,7 @@ function getShowItems() { var buttonGroup = getButtonGroup(); - var showItems = [title, closeButton, descArea]; - if (descList.length > MAX_DESC_NUM) { - showItems.push(moreInfo); - } - showItems.push(buttonGroup); - - return showItems; + return [title, closeButton, descArea, moreInfo, buttonGroup]; } window.addEventListener("load", function (ev) { From cdd0cea75b33bd54232fb367ac1d962032e10c4a Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 26 Apr 2019 17:27:13 +0800 Subject: [PATCH 05/15] bug fix --- .../fr/design/mainframe/vcs/ui/FileVersionCellEditor.java | 5 +++-- designer-realize/src/main/java/com/fr/start/Designer.java | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java index bdb4bc1ee..a7f7f5ef0 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java @@ -35,15 +35,16 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { String fileOfVersion; + VcsOperator vcsOperator = WorkContext.getCurrent().get(VcsOperator.class); Component editor = row == 0 ? firstRowPanel : renderAndEditor; if (isSelected) { return editor; } else if (row == 0) { String path = DesignerFrameFileDealerPane.getInstance().getSelectedOperation().getFilePath(); - fileOfVersion = WorkContext.getCurrent().get(VcsOperator.class).getFileOfCurrent(path.replaceFirst("/", "")); + fileOfVersion = vcsOperator.getFileOfCurrent(path.replaceFirst("/", "")); } else { renderAndEditor.update((VcsEntity) value); - fileOfVersion = WorkContext.getCurrent().get(VcsOperator.class).getFileOfFileVersion(((VcsEntity) value).getFilename(), ((VcsEntity) value).getVersion()); + fileOfVersion = vcsOperator.getFileOfFileVersion(((VcsEntity) value).getFilename(), ((VcsEntity) value).getVersion()); } diff --git a/designer-realize/src/main/java/com/fr/start/Designer.java b/designer-realize/src/main/java/com/fr/start/Designer.java index daf0046d7..5c81ee258 100644 --- a/designer-realize/src/main/java/com/fr/start/Designer.java +++ b/designer-realize/src/main/java/com/fr/start/Designer.java @@ -11,6 +11,7 @@ import com.fr.design.actions.file.newReport.NewWorkBookAction; import com.fr.design.actions.server.ServerConfigManagerAction; import com.fr.design.actions.server.StyleListAction; import com.fr.design.actions.server.WidgetManagerAction; +import com.fr.design.base.mode.DesignModeContext; import com.fr.design.constants.UIConstants; import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.file.HistoryTemplateListPane; @@ -363,12 +364,12 @@ public class Designer extends BaseDesigner { @Override protected void refreshLargeToolbarState() { - JTemplate jt = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); if (jt == null) { return; } - saveButton.setEnabled(!jt.isSaved() && !DesignerMode.isVcsMode()); - MutilTempalteTabPane.getInstance().refreshOpenedTemplate(HistoryTemplateListPane.getInstance().getHistoryList()); + saveButton.setEnabled(!jt.isSaved() && !DesignModeContext.isVcsMode()); + MutilTempalteTabPane.getInstance().refreshOpenedTemplate(HistoryTemplateListCache.getInstance().getHistoryList()); MutilTempalteTabPane.getInstance().repaint(); if (DesignerEnvManager.getEnvManager().isSupportUndo()) { undo.setEnabled(jt.canUndo()); From f7c9083c3779515750073f45e361afff16f95bef Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 26 Apr 2019 17:34:16 +0800 Subject: [PATCH 06/15] =?UTF-8?q?REPORT-15314=20103=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=94=B6=E9=9B=86=3D>=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=8A=A5=E9=94=99&=E4=BF=AE=E6=AD=A3=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E5=88=B6=E4=BD=9C=E5=AE=8C=E6=88=90=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/template/info/DesignerOpenHistory.java | 12 ++++++++++++ .../design/mainframe/template/info/TemplateInfo.java | 2 +- .../template/info/TemplateInfoCollector.java | 11 +++++++++-- .../template/info/DesignerOpenHistoryTest.java | 12 ++++++++++++ 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/template/info/DesignerOpenHistory.java b/designer-base/src/main/java/com/fr/design/mainframe/template/info/DesignerOpenHistory.java index 096b6d16a..560431f1b 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/template/info/DesignerOpenHistory.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/template/info/DesignerOpenHistory.java @@ -48,6 +48,18 @@ class DesignerOpenHistory implements XMLReadable, XMLWriter { history[0] = today; } + /** + * 设计器在 dayCount 时间内启动超过 X 次(目前定的 X = 3) + */ + boolean isOpenEnoughTimesInPeriod(int dayCount) { + boolean enoughTimes = StringUtils.isNotEmpty(history[LENGTH - 1]); + if (!enoughTimes) { + return false; + } + return getHistorySpanDayCount() < dayCount; + } + + /** * 获取历史记录中囊括的日子数。即最早的历史记录 history[LENGTH - 1],到最晚的记录 history[0] 之间的时间跨度 */ diff --git a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfo.java b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfo.java index ffd9aaf3b..900210bd0 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfo.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfo.java @@ -211,7 +211,7 @@ class TemplateInfo implements XMLReadable, XMLWriter { // 条件 2. 设计器在这段未编辑的时间内启动超过 X 次(目前定的 X = 3)。即"设计器最近 X 次启动的时间跨度" < "未编辑时间"; return idleDayCount > COMPLETE_DAY_COUNT - && DesignerOpenHistory.getInstance().getHistorySpanDayCount() < idleDayCount; + && DesignerOpenHistory.getInstance().isOpenEnoughTimesInPeriod(idleDayCount); } String getConsumingMapJsonString() { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java index e7fc95594..0996c260c 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java @@ -20,6 +20,7 @@ import java.io.FileOutputStream; import java.io.FileReader; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -101,16 +102,22 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { removeTestTemplates(); + List removeLaterList = new ArrayList<>(); + for (String key : templateInfoMap.keySet()) { TemplateInfo templateInfo = templateInfoMap.get(key); if (templateInfo.isReadyForSend()) { if (SendHelper.sendTemplateInfo(templateInfo)) { - // 清空记录 - removeFromTemplateInfoList(templateInfo.getTemplateID()); + removeLaterList.add(key); } } } + // 清空记录 + for (String key : removeLaterList) { + removeFromTemplateInfoList(key); + } + saveInfo(); } diff --git a/designer-base/src/test/java/com/fr/design/mainframe/template/info/DesignerOpenHistoryTest.java b/designer-base/src/test/java/com/fr/design/mainframe/template/info/DesignerOpenHistoryTest.java index e3f63ddc3..3e95cfec7 100644 --- a/designer-base/src/test/java/com/fr/design/mainframe/template/info/DesignerOpenHistoryTest.java +++ b/designer-base/src/test/java/com/fr/design/mainframe/template/info/DesignerOpenHistoryTest.java @@ -87,6 +87,18 @@ public class DesignerOpenHistoryTest { } } + @Test + public void testOpenEnoughTimesInPeriod() { + assertTrue(openHistory.isOpenEnoughTimesInPeriod(15)); + assertFalse(openHistory.isOpenEnoughTimesInPeriod(3)); + + Reflect.on(openHistory).set("history", new String[] {"2019-05-03", "2019-05-02", ""}); + assertFalse(openHistory.isOpenEnoughTimesInPeriod(15)); + + Reflect.on(openHistory).set("history", new String[] {"2019-05-03", "", ""}); + assertFalse(openHistory.isOpenEnoughTimesInPeriod(15)); + } + @Test public void testHasOpenedToday() { assertFalse(openHistory.hasOpenedToday()); From 662f95bb59a2a2d439853c916b3a157ef8c48d04 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 09:25:50 +0800 Subject: [PATCH 07/15] REPORT-16547 --- .../src/main/java/com/fr/design/mainframe/DesktopCardPane.java | 2 +- .../src/main/java/com/fr/design/mainframe/JTemplate.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java index 58cd014e0..94a1427b0 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java @@ -30,7 +30,7 @@ public class DesktopCardPane extends BasicPane implements TargetModifiedListener // 判断是否切换设计器状态到禁止拷贝剪切 if (jt.getTarget().getAttrMark(DesignBanCopyAttrMark.XML_TAG) != null) { DesignModeContext.switchTo(DesignerMode.BAN_COPY_AND_CUT); - } else { + } else if (!DesignModeContext.isVcsMode()){ DesignModeContext.switchTo(DesignerMode.NORMAL); } DesignerFrameFileDealerPane.getInstance().setCurrentEditingTemplate(jt); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 87d0f9d35..e8f1b0093 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -112,7 +112,7 @@ public abstract class JTemplate> // 判断是否切换设计器状态到禁止拷贝剪切 if (t.getAttrMark(DesignBanCopyAttrMark.XML_TAG) != null) { DesignModeContext.switchTo(com.fr.design.base.mode.DesignerMode.BAN_COPY_AND_CUT); - } else { + } else if (!DesignModeContext.isVcsMode()) { DesignModeContext.switchTo(com.fr.design.base.mode.DesignerMode.NORMAL); } this.template = t; From c662ed60d83c09f439ad33a994e8afb40dbf28e6 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 11:17:36 +0800 Subject: [PATCH 08/15] REPORT-16547 bug fix --- .../src/main/java/com/fr/design/mainframe/JTemplate.java | 3 --- designer-realize/src/main/java/com/fr/start/Designer.java | 7 +++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index e8f1b0093..6fd7ee007 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -543,9 +543,6 @@ public abstract class JTemplate> return false; } collectInfo(); - if (DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable()) { - VcsHelper.dealWithVcs(this); - } return this.saveFile(); } diff --git a/designer-realize/src/main/java/com/fr/start/Designer.java b/designer-realize/src/main/java/com/fr/start/Designer.java index 5c81ee258..6026ebad8 100644 --- a/designer-realize/src/main/java/com/fr/start/Designer.java +++ b/designer-realize/src/main/java/com/fr/start/Designer.java @@ -32,6 +32,7 @@ import com.fr.design.mainframe.bbs.UserInfoLabel; import com.fr.design.mainframe.bbs.UserInfoPane; import com.fr.design.mainframe.template.info.TemplateInfoCollector; import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus; +import com.fr.design.mainframe.vcs.common.VcsHelper; import com.fr.design.menu.KeySetUtils; import com.fr.design.menu.MenuDef; import com.fr.design.menu.SeparatorDef; @@ -274,6 +275,9 @@ public class Designer extends BaseDesigner { jt.stopEditing(); jt.saveTemplate(); jt.requestFocus(); + if (DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable()) { + VcsHelper.dealWithVcs(jt); + } } }); return saveButton; @@ -332,6 +336,9 @@ public class Designer extends BaseDesigner { return; } WebPreviewUtils.preview(jt); + if (DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable()) { + VcsHelper.dealWithVcs(jt); + } } @Override From 1486834f7311f41be970e18a786962650b9716ac Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 11:23:13 +0800 Subject: [PATCH 09/15] REPORT-16547 --- .../com/fr/design/mainframe/vcs/common/VcsHelper.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 d5c8c0165..7e54c370e 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 @@ -99,10 +99,14 @@ public class VcsHelper { } public static boolean needDeleteVersion(VcsEntity entity) { - if (entity == null || !DesignerEnvManager.getEnvManager().getVcsConfigManager().isUseInterval()) { + VcsConfigManager configManager = DesignerEnvManager.getEnvManager().getVcsConfigManager(); + if (entity == null || !configManager.isUseInterval()) { return false; } - return new Date().getTime() - entity.getTime().getTime() < DesignerEnvManager.getEnvManager().getVcsConfigManager().getSaveInterval() * MINUTE && StringUtils.isBlank(entity.getCommitMsg()); + if (configManager.isSaveCommit() && StringUtils.isNotBlank(entity.getCommitMsg())) { + return false; + } + return new Date().getTime() - entity.getTime().getTime() < DesignerEnvManager.getEnvManager().getVcsConfigManager().getSaveInterval() * MINUTE; } public static boolean needInit() { From ac21c53a5daceb1067f63dfaeb34967bec89177a Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 11:53:24 +0800 Subject: [PATCH 10/15] REPORT-16559 --- .../fr/design/mainframe/vcs/common/VcsHelper.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) 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 7e54c370e..968d03fbd 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 @@ -35,11 +35,6 @@ public class VcsHelper { private static final int MINUTE = 60 * 1000; private final static String VCS_PLUGIN_ID = "com.fr.plugin.vcs.v10"; - - public final static String CURRENT_USERNAME = WorkContext.getCurrent().isLocal() - ? Toolkit.i18nText("Fine-Design_Vcs_Local_User") - : WorkContext.getCurrent().getConnection().getUserName(); - public final static Color TABLE_SELECT_BACKGROUND = new Color(0xD8F2FD); public final static Color COPY_VERSION_BTN_COLOR = new Color(0x419BF9); @@ -71,6 +66,12 @@ public class VcsHelper { return fileTree.getSelectionPaths().length - fileTree.getSelectedTemplatePaths().length; } + public static String getCurrentUsername() { + return WorkContext.getCurrent().isLocal() + ? Toolkit.i18nText("Fine-Design_Vcs_Local_User") + : WorkContext.getCurrent().getConnection().getUserName(); + } + private static int selectedTemplateCounts() { TemplateFileTree fileTree = TemplateTreePane.getInstance().getTemplateFileTree(); if (fileTree.getSelectionPaths() == null) { @@ -131,11 +132,11 @@ public class VcsHelper { latestFileVersion = entity.getVersion(); } if (jt.getEditingFILE() instanceof VcsCacheFileNodeFile) { - operator.saveVersionFromCache(VcsHelper.CURRENT_USERNAME, fileName, StringUtils.EMPTY, latestFileVersion + 1); + operator.saveVersionFromCache(getCurrentUsername(), fileName, StringUtils.EMPTY, latestFileVersion + 1); String path = DesignerFrameFileDealerPane.getInstance().getSelectedOperation().getFilePath(); FileVersionTable.getInstance().updateModel(1, WorkContext.getCurrent().get(VcsOperator.class).getVersions(path.replaceFirst("/", ""))); } else { - operator.saveVersion(VcsHelper.CURRENT_USERNAME, fileName, StringUtils.EMPTY, latestFileVersion + 1); + operator.saveVersion(getCurrentUsername(), fileName, StringUtils.EMPTY, latestFileVersion + 1); } VcsEntity oldEntity = WorkContext.getCurrent().get(VcsOperator.class).getFileVersionByIndex(fileName, 1); if (VcsHelper.needDeleteVersion(oldEntity)) { From 6fd40efe1649d627eef9ffb2b2a068a73f0ac36f Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 14:23:26 +0800 Subject: [PATCH 11/15] REPORT-16559 --- .../java/com/fr/design/mainframe/vcs/common/VcsHelper.java | 2 +- .../fr/design/mainframe/vcs/ui/EditFileVersionDialog.java | 7 +++---- .../fr/design/mainframe/vcs/ui/FileVersionRowPanel.java | 5 +++-- 3 files changed, 7 insertions(+), 7 deletions(-) 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 968d03fbd..05ff041d6 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 @@ -40,7 +40,7 @@ public class VcsHelper { public final static EmptyBorder EMPTY_BORDER = new EmptyBorder(10, 10, 0, 10); - + public final static EmptyBorder EMPTY_BORDER_MEDIUM = new EmptyBorder(5, 10, 0, 10); public final static EmptyBorder EMPTY_BORDER_BOTTOM = new EmptyBorder(10, 10, 10, 10); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java index f6533de4d..76bededaa 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java @@ -8,16 +8,15 @@ import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; import com.fr.design.utils.gui.GUICoreUtils; -import com.fr.locale.InterProviderFactory; -import com.fr.report.ReportContext; import com.fr.report.entity.VcsEntity; +import com.fr.workspace.WorkContext; +import com.fr.workspace.server.vcs.VcsOperator; import javax.swing.JPanel; import java.awt.BorderLayout; import java.awt.Component; import java.awt.FlowLayout; import java.awt.Frame; -import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -80,7 +79,7 @@ public class EditFileVersionDialog extends UIDialog { @Override public void actionPerformed(ActionEvent e) { entity.setCommitMsg(msgTestArea.getText()); - ReportContext.getInstance().getVcsController().saveOrUpdateFileVersion(entity); + WorkContext.getCurrent().get(VcsOperator.class).updateVersion(entity); setVisible(false); } }); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java index 657e990cc..c81e45c38 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java @@ -16,6 +16,7 @@ import javax.swing.Box; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingConstants; +import javax.swing.border.EmptyBorder; import javax.swing.text.BadLocationException; import javax.swing.text.Style; import javax.swing.text.StyleConstants; @@ -43,13 +44,13 @@ public class FileVersionRowPanel extends JPanel { // version + username Box upPane = Box.createHorizontalBox(); - upPane.setBorder(VcsHelper.EMPTY_BORDER); + upPane.setBorder(VcsHelper.EMPTY_BORDER_MEDIUM); upPane.add(versionLabel); upPane.add(Box.createHorizontalGlue()); // msg - msgLabel.setBorder(VcsHelper.EMPTY_BORDER); + msgLabel.setBorder(VcsHelper.EMPTY_BORDER_MEDIUM); msgLabel.setOpaque(false); msgLabel.setBackground(new Color(0, 0, 0, 0)); msgLabel.setEditable(false); From 1a6853f2abe048472faa96c6a7710053ac6c2dd5 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 14:24:36 +0800 Subject: [PATCH 12/15] rt --- .../java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java index c81e45c38..e814a9b94 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionRowPanel.java @@ -16,7 +16,6 @@ import javax.swing.Box; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingConstants; -import javax.swing.border.EmptyBorder; import javax.swing.text.BadLocationException; import javax.swing.text.Style; import javax.swing.text.StyleConstants; From babcaf299d55e82495fb1f3947d41fe463b1d5f5 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 14:35:09 +0800 Subject: [PATCH 13/15] REPORT-16559 --- .../design/mainframe/vcs/common/VcsHelper.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) 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 05ff041d6..05e18e691 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 @@ -30,20 +30,11 @@ import static com.fr.stable.StableUtils.pathJoin; */ public class VcsHelper { - private final static String VCS_DIR = "vcs"; - public final static String VCS_CACHE_DIR = pathJoin(VCS_DIR, "cache"); - private static final int MINUTE = 60 * 1000; - private final static String VCS_PLUGIN_ID = "com.fr.plugin.vcs.v10"; - public final static Color TABLE_SELECT_BACKGROUND = new Color(0xD8F2FD); public final static Color COPY_VERSION_BTN_COLOR = new Color(0x419BF9); - - public final static EmptyBorder EMPTY_BORDER = new EmptyBorder(10, 10, 0, 10); public final static EmptyBorder EMPTY_BORDER_MEDIUM = new EmptyBorder(5, 10, 0, 10); public final static EmptyBorder EMPTY_BORDER_BOTTOM = new EmptyBorder(10, 10, 10, 10); - - public final static Icon VCS_LIST_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/vcs_list.png"); public final static Icon VCS_BACK_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/vcs_back.png"); public final static Icon VCS_FILTER_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/icon_filter@1x.png"); @@ -51,6 +42,10 @@ public class VcsHelper { public final static Icon VCS_DELETE_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/icon_delete.png"); public final static Icon VCS_USER_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/icon_user@1x.png"); public final static Icon VCS_REVERT = IOUtils.readIcon("/com/fr/design/images/vcs/icon_revert.png"); + private final static String VCS_DIR = "vcs"; + public final static String VCS_CACHE_DIR = pathJoin(VCS_DIR, "cache"); + private static final int MINUTE = 60 * 1000; + private final static String VCS_PLUGIN_ID = "com.fr.plugin.vcs.v10"; private static int containsFolderCounts() { TemplateFileTree fileTree = TemplateTreePane.getInstance().getTemplateFileTree(); @@ -67,7 +62,7 @@ public class VcsHelper { } public static String getCurrentUsername() { - return WorkContext.getCurrent().isLocal() + return WorkContext.getCurrent().isLocal() ? Toolkit.i18nText("Fine-Design_Vcs_Local_User") : WorkContext.getCurrent().getConnection().getUserName(); } @@ -117,6 +112,7 @@ public class VcsHelper { /** * 版本控制 + * * @param jt */ public static void dealWithVcs(final JTemplate jt) { From 52d74fd0ecd1df91609ce3e73e1b9eab65fc8e44 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 17:54:22 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE=E9=A1=B9=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/vcs/VcsConfigManager.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/VcsConfigManager.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/VcsConfigManager.java index bbb6e9d9b..f61bba67a 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/VcsConfigManager.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/VcsConfigManager.java @@ -11,10 +11,10 @@ import com.fr.stable.xml.XMLableReader; public class VcsConfigManager implements XMLReadable, XMLWriter { public static final String XML_TAG = "VcsConfigManager"; private static volatile VcsConfigManager instance = new VcsConfigManager(); - private boolean vcsEnable; - private boolean saveCommit; - private boolean useInterval; - private int saveInterval; + private boolean vcsEnable = true; + private boolean saveCommit = true; + private boolean useInterval = true; + private int saveInterval = 60; public static VcsConfigManager getInstance() { return instance; From 630c6f369cd65f957914fcecf65bb56fd480ec51 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 27 Apr 2019 18:18:11 +0800 Subject: [PATCH 15/15] =?UTF-8?q?REPORT-16556=20@xiaoxia=20=E5=A4=A7?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E8=BF=9B=E5=85=A5=E6=A8=A1=E7=89=88=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=AF=94=E8=BE=83=E6=85=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/DesignerFrameFileDealerPane.java | 5 ----- 1 file changed, 5 deletions(-) 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 265e7dfe6..f2f53fead 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 @@ -299,11 +299,6 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt boolean isCurrentEditing = isCurrentEditing(path); - // 如果模板正在编辑,保存后再打开版本管理 - if (isCurrentEditing) { - saveCurrentEditingTemplate(); - } - // 如果模板已经打开了,关掉,避免出现2个同名tab(1个是模板,1个是版本) closeOpenedTemplate(path, isCurrentEditing); FileVersionsPanel fileVersionTablePanel = FileVersionsPanel.getInstance();