From bb29d0a370cdab10541e46ad8a0e8620823c367c Mon Sep 17 00:00:00 2001 From: zack Date: Thu, 9 May 2019 20:12:25 +0800 Subject: [PATCH 01/19] =?UTF-8?q?REPORT-14831=20=E6=96=B0=E5=A4=9A?= =?UTF-8?q?=E9=80=89=E4=B8=8B=E6=8B=89=E6=A0=91=E6=8F=92=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E9=AB=98=E7=BA=A7=E5=B1=9E=E6=80=A7=E5=9B=BD=E9=99=85=E5=8C=96?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/designer/creator/XTreeEditor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java b/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java index c5672b389..bde83a176 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java @@ -73,7 +73,7 @@ public class XTreeEditor extends XWidgetCreator { crp = (CRPropertyDescriptor[]) ArrayUtils.add(crp, new CRPropertyDescriptor("ajax", this.data.getClass()).setI18NName( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Load_By_Async")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, - "Advanced")); + "Fine-Design_Basic_Advanced")); crp = this.addAllowEdit(crp); crp = this.addCustomData(crp); From 6f1747409bbf134703936018c9020b9c0dac3201 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 May 2019 10:58:13 +0800 Subject: [PATCH 02/19] =?UTF-8?q?REPORT-16986=20=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=88=B6=E4=BD=9C=E5=9F=8B=E7=82=B9=E7=9A=84tpl.info=E9=87=8C?= =?UTF-8?q?=EF=BC=8C=E7=94=A8=E6=88=B7=E5=A6=82=E6=9E=9C=E6=98=AF=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E5=90=8D=E4=BC=9A=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/info/TemplateInfoCollector.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) 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 0996c260c..342213e0f 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 @@ -12,12 +12,14 @@ import com.fr.stable.xml.XMLTools; import com.fr.stable.xml.XMLWriter; import com.fr.stable.xml.XMLableReader; import com.fr.third.javax.xml.stream.XMLStreamException; -import com.fr.workspace.WorkContext; +import com.fr.third.org.apache.commons.io.FileUtils; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.FileReader; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -133,7 +135,8 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { return; } try { - XMLableReader xmlReader = XMLableReader.createXMLableReader(new FileReader(getInfoFile())); + InputStreamReader isReader = new InputStreamReader(new FileInputStream(getInfoFile()), StandardCharsets.UTF_8); + XMLableReader xmlReader = XMLableReader.createXMLableReader(isReader); xmlReader.readXMLObject(this); } catch (XMLStreamException e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); @@ -160,8 +163,12 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { */ private void saveInfo() { try { - FileOutputStream out = new FileOutputStream(getInfoFile()); + ByteArrayOutputStream out = new ByteArrayOutputStream(); XMLTools.writeOutputStreamXML(this, out); + out.flush(); + out.close(); + String fileContent = new String(out.toByteArray(), StandardCharsets.UTF_8); + FileUtils.writeStringToFile(getInfoFile(), fileContent, StandardCharsets.UTF_8); } catch (Exception ex) { FineLoggerFactory.getLogger().error(ex.getMessage()); } From 97040ebdc92b62d61f1ee781f12b1e9fac940347 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 10 May 2019 11:07:43 +0800 Subject: [PATCH 03/19] report-16674 --- .../mainframe/vcs/ui/FileVersionCellEditor.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 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 a7f7f5ef0..1e5b27e54 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 @@ -8,6 +8,7 @@ import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.vcs.common.VcsHelper; import com.fr.design.mainframe.vcs.common.VcsCacheFileNodeFile; import com.fr.file.filetree.FileNode; +import com.fr.general.ComparatorUtils; import com.fr.report.entity.VcsEntity; import com.fr.stable.StringUtils; import com.fr.workspace.WorkContext; @@ -53,9 +54,13 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe //先关闭当前打开的模板版本 JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); jt.stopEditing(); - MutilTempalteTabPane.getInstance().setIsCloseCurrent(true); - MutilTempalteTabPane.getInstance().closeFormat(jt); - MutilTempalteTabPane.getInstance().closeSpecifiedTemplate(jt); + //只有模板一样是关闭当前模板 + if (ComparatorUtils.equals(fileOfVersion, jt.getPath())) { + MutilTempalteTabPane.getInstance().setIsCloseCurrent(true); + MutilTempalteTabPane.getInstance().closeFormat(jt); + MutilTempalteTabPane.getInstance().closeSpecifiedTemplate(jt); + } + //再打开cache中的模板 DesignerContext.getDesignerFrame().openTemplate(new VcsCacheFileNodeFile(new FileNode(fileOfVersion, false))); From 15bcbf85fbe2ccae63adb06dc2be18ddc8d3e8fd Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 10 May 2019 11:08:53 +0800 Subject: [PATCH 04/19] rt --- .../com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1e5b27e54..ac525128a 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 @@ -54,7 +54,7 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe //先关闭当前打开的模板版本 JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); jt.stopEditing(); - //只有模板一样是关闭当前模板 + //只有模板路径一致时关闭当前模板 if (ComparatorUtils.equals(fileOfVersion, jt.getPath())) { MutilTempalteTabPane.getInstance().setIsCloseCurrent(true); MutilTempalteTabPane.getInstance().closeFormat(jt); From d89a2bedde93343e581e4894ee9303520f0c7724 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 May 2019 11:43:30 +0800 Subject: [PATCH 05/19] =?UTF-8?q?REPORT-16986=20=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=88=B6=E4=BD=9C=E5=9F=8B=E7=82=B9=E7=9A=84tpl.info=E9=87=8C?= =?UTF-8?q?=EF=BC=8C=E7=94=A8=E6=88=B7=E5=A6=82=E6=9E=9C=E6=98=AF=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E5=90=8D=E4=BC=9A=E4=B9=B1=E7=A0=81=3D>=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/info/TemplateInfoCollector.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) 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 342213e0f..330b9304a 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 @@ -1,6 +1,7 @@ package com.fr.design.mainframe.template.info; import com.fr.base.FRContext; +import com.fr.base.io.XMLReadHelper; import com.fr.design.DesignerEnvManager; import com.fr.log.FineLoggerFactory; import com.fr.stable.ProductConstants; @@ -18,7 +19,8 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.InputStreamReader; +import java.io.IOException; +import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; @@ -134,14 +136,24 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { if (!getInfoFile().exists()) { return; } - try { - InputStreamReader isReader = new InputStreamReader(new FileInputStream(getInfoFile()), StandardCharsets.UTF_8); - XMLableReader xmlReader = XMLableReader.createXMLableReader(isReader); - xmlReader.readXMLObject(this); - } catch (XMLStreamException e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); + + XMLableReader reader = null; + try (InputStream in = new FileInputStream(getInfoFile())) { + // XMLableReader 还是应该考虑实现 Closable 接口的,这样就能使用 try-with 语句了 + reader = XMLReadHelper.createXMLableReader(in, XMLPrintWriter.XML_ENCODER); + reader.readXMLObject(this); } catch (FileNotFoundException e) { // do nothing + } catch (XMLStreamException | IOException e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } finally { + try { + if (reader != null) { + reader.close(); + } + } catch (XMLStreamException e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } } } From 48bd73570563b3ea41d6ff3355aeb3ba0b59d9a3 Mon Sep 17 00:00:00 2001 From: Hades Date: Fri, 10 May 2019 14:14:49 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E6=97=A0jira=20=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=94=99=E8=AF=AFimport?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/SheetNameTabPane.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java b/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java index 5df1f5686..9fdc9d5a8 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java @@ -27,7 +27,6 @@ import com.fr.base.vcs.DesignerMode; import com.fr.design.actions.UpdateAction; import com.fr.design.constants.UIConstants; import com.fr.design.file.HistoryTemplateListCache; -import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButtonUI; import com.fr.design.menu.MenuDef; @@ -45,7 +44,6 @@ import com.fr.report.poly.PolyWorkSheet; import com.fr.report.report.TemplateReport; import com.fr.report.worksheet.WorkSheet; import com.fr.stable.ProductConstants; -import org.apache.tools.ant.taskdefs.Sleep; /** * NameTabPane of sheets From daf44aa345cc9a76ad48bdd4e636f6b532cf9e63 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 May 2019 16:42:43 +0800 Subject: [PATCH 07/19] =?UTF-8?q?REPORT-16604=20=E3=80=9010.0.3=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91=E8=AE=BE=E8=AE=A1=E5=99=A8-=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=97=A5=E5=BF=97=E6=8E=A8=E9=80=81-=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/com/fr/design/ui/update/push/pushUpdate.css | 4 ++-- 1 file changed, 2 insertions(+), 2 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 521c8cdbb..58c03ecba 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 @@ -5,7 +5,7 @@ body { 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; + font-family: "PingFang SC", "Microsoft YaHei", "Myriad Pro", "OpenSans", Verdana, SimSun, sans-serif !important; } .close-btn { @@ -27,7 +27,7 @@ body { } .font-bold { - font-weight: bold; + font-weight: 500; } .title { From f26a81ba2de01287f3fb8086e9e0f8ddb6024e95 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 10 May 2019 17:44:23 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/vcs/ui/FileVersionFirstRowPanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionFirstRowPanel.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionFirstRowPanel.java index 9d892ba53..ff0a93fa8 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionFirstRowPanel.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionFirstRowPanel.java @@ -15,7 +15,7 @@ public class FileVersionFirstRowPanel extends JPanel { super(new BorderLayout()); Box upPane = Box.createVerticalBox(); upPane.setBorder(new EmptyBorder(5, 10, 5, 10)); - upPane.add(new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Local_User"))); + upPane.add(new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Current"))); add(upPane, BorderLayout.CENTER); } } From 9227466ccfee24c385c3a2adb67518420fb03747 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 10 May 2019 18:21:25 +0800 Subject: [PATCH 09/19] =?UTF-8?q?REPORT-17014=20@xiaoxia=20=E6=A8=A1?= =?UTF-8?q?=E7=89=88=E7=89=88=E6=9C=AC=E6=8E=A7=E5=88=B6=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E6=97=B6=EF=BC=8C=E8=A7=A6=E5=8F=91=E6=A8=A1?= =?UTF-8?q?=E7=89=88=E4=BF=9D=E5=AD=98=E3=80=82=E7=A6=81=E7=94=A8=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=90=8E=E6=9F=A5=E7=9C=8B=E6=A8=A1=E7=89=88=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=91=E7=8E=B0=E6=9C=89=E7=89=88=E6=9C=AC=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 bc6c4d372..98e9a330f 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 @@ -164,7 +164,7 @@ public class VcsHelper implements JTemplateActionListener { */ @Override public void templateSaved(JTemplate jt) { - if (DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable() && !FineClusterConfig.getInstance().isCluster()) { + if (needInit() && DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable() && !FineClusterConfig.getInstance().isCluster()) { fireVcs(jt); } } From 10e6adb481a826329a4a08e2a0c9748875f52da2 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 12 May 2019 00:05:48 +0800 Subject: [PATCH 10/19] =?UTF-8?q?REPORT-14835=20=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/vcs/ui/EditFileVersionDialog.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 76bededaa..dba7c8bde 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 @@ -7,8 +7,11 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; +import com.fr.design.mainframe.DesignerFrameFileDealerPane; import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.log.FineLoggerFactory; import com.fr.report.entity.VcsEntity; +import com.fr.stable.StringUtils; import com.fr.workspace.WorkContext; import com.fr.workspace.server.vcs.VcsOperator; @@ -81,6 +84,13 @@ public class EditFileVersionDialog extends UIDialog { entity.setCommitMsg(msgTestArea.getText()); WorkContext.getCurrent().get(VcsOperator.class).updateVersion(entity); setVisible(false); + String path = DesignerFrameFileDealerPane.getInstance().getSelectedOperation().getFilePath(); + FileVersionTable table = FileVersionTable.getInstance(); + try { + table.updateModel(table.getSelectedRow(), WorkContext.getCurrent().get(VcsOperator.class).getVersions(path.replaceFirst("/", StringUtils.EMPTY))); + } catch (Exception e1) { + FineLoggerFactory.getLogger().error(e1.getMessage()); + } } }); From 8e9457b51cd8281c758178f2a3dcc3609f5cdda9 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 12 May 2019 00:33:37 +0800 Subject: [PATCH 11/19] rt --- .../fr/design/mainframe/vcs/ui/EditFileVersionDialog.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) 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 dba7c8bde..105a9b872 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 @@ -86,11 +86,7 @@ public class EditFileVersionDialog extends UIDialog { setVisible(false); String path = DesignerFrameFileDealerPane.getInstance().getSelectedOperation().getFilePath(); FileVersionTable table = FileVersionTable.getInstance(); - try { - table.updateModel(table.getSelectedRow(), WorkContext.getCurrent().get(VcsOperator.class).getVersions(path.replaceFirst("/", StringUtils.EMPTY))); - } catch (Exception e1) { - FineLoggerFactory.getLogger().error(e1.getMessage()); - } + table.updateModel(table.getSelectedRow(), WorkContext.getCurrent().get(VcsOperator.class).getVersions(path.replaceFirst("/", StringUtils.EMPTY))); } }); From 2f97d162d8108c47a2c4fd7db6d09e9423832613 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 12 May 2019 11:52:11 +0800 Subject: [PATCH 12/19] =?UTF-8?q?REPORT-16570=20@xiaoxia=20windows?= =?UTF-8?q?=E4=B8=8B=E6=A8=A1=E6=9D=BF=E7=89=88=E6=9C=AC=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=A4=87=E6=B3=A8=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/mainframe/vcs/common/VcsHelper.java | 1 + .../com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java | 2 +- .../com/fr/design/mainframe/vcs/ui/FileVersionCellRender.java | 3 ++- 3 files changed, 4 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 98e9a330f..d58737627 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 @@ -44,6 +44,7 @@ public class VcsHelper implements JTemplateActionListener { 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"); + public final static int OFFSET = 2; 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; 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 ac525128a..125d4bc4e 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 @@ -68,7 +68,7 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe double height = editor.getPreferredSize().getHeight(); if (table.getRowHeight(row) != height) { - table.setRowHeight(row, (int) height); + table.setRowHeight(row, (int) height + VcsHelper.OFFSET); } return editor; } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellRender.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellRender.java index c1cc23fc4..40fa02c1f 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellRender.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellRender.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.vcs.ui; +import com.fr.design.mainframe.vcs.common.VcsHelper; import com.fr.report.entity.VcsEntity; import javax.swing.JPanel; @@ -34,7 +35,7 @@ public class FileVersionCellRender implements TableCellRenderer { double height = editor.getPreferredSize().getHeight(); if (table.getRowHeight(row) != height) { - table.setRowHeight(row, (int) height); + table.setRowHeight(row, (int) height + VcsHelper.OFFSET); } return editor; } From ece42cfde57a328a6d91ace87843ceb6e1bc883b Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 12 May 2019 17:02:58 +0800 Subject: [PATCH 13/19] =?UTF-8?q?REPORT-14835=20=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d58737627..fa649b66a 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 @@ -115,7 +115,7 @@ public class VcsHelper implements JTemplateActionListener { public boolean needInit() { PluginContext context = PluginManager.getContext(VCS_PLUGIN_ID); - return context == null || !context.isActive(); + return context == null || !context.isRunning(); } /** From a4c3e17d919159827aac3e4358fffcbd9ee9f000 Mon Sep 17 00:00:00 2001 From: Hades Date: Sun, 12 May 2019 20:45:31 +0800 Subject: [PATCH 14/19] =?UTF-8?q?REPORT-16711=20=E3=80=9010.0.3=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91=E6=9D=83=E9=99=90=E8=AE=BE=E7=BD=AE=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E4=BB=8E=E5=8F=82=E6=95=B0=E9=9D=A2=E6=9D=BF=E6=8E=A7?= =?UTF-8?q?=E4=BB=B6=E5=88=87=E6=8D=A2=E5=88=B0a1=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=A0=BC=20=20&&=20REPORT-16847=E3=80=90=E6=A6=82=E7=8E=87?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E3=80=91=20=E6=8C=89=E9=92=AE=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E9=94=99=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/ibutton/UIToggleButton.java | 40 ++++++++++++++++--- .../fr/design/mainframe/ElementCasePane.java | 12 ++++-- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java index 4b8975235..9f12bd5ed 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java @@ -29,6 +29,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ private boolean isEventBannded = false; private String toggleButtonName = ""; private GlobalNameListener globalNameListener = null; + private Icon[] icons; public UIToggleButton() { this(StringUtils.EMPTY); @@ -53,9 +54,9 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ * @param icons */ public UIToggleButton(Icon[] icons) { - super(icons[0], null, icons[1]); - setSelectedIcon(icons[1]); + super(icons[0], null, null); setExtraPainted(true); + this.icons = icons; addActionListener(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -73,10 +74,10 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ * @param icons */ public UIToggleButton(Icon[] icons, boolean needRelease) { - super(icons[0], null, icons[1]); + super(icons[0], null, null); setBorderPainted(true); - setSelectedIcon(icons[1]); setExtraPainted(true); + this.icons = icons; if (!needRelease) { addActionListener(new AbstractAction() { @Override @@ -92,6 +93,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ addMouseListener(getMouseListener()); } + @Override public void setGlobalName(String name){ toggleButtonName = name ; } @@ -100,6 +102,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ * * @return */ + @Override public boolean isSelected() { return isSelected; } @@ -115,9 +118,11 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ super.setSelected(isSelected); if (this.isSelected != isSelected) { this.isSelected = isSelected; - repaint(); + refresh(isSelected); } } + + @Override protected void initListener(){ if(shouldResponseChangeListener()){ this.addChangeListener(new ChangeListener() { @@ -138,10 +143,29 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ if (this.isSelected != isSelected) { this.isSelected = isSelected; fireSelectedChanged(); - repaint(); + refresh(isSelected); } } + + + private void refresh(final boolean isSelected) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + if (icons != null) { + if (isSelected) { + UIToggleButton.this.setIcon(icons[1]); + } else { + UIToggleButton.this.setIcon(icons[0]); + } + } + UIToggleButton.this.repaint(); + } + }); + } + + protected MouseListener getMouseListener() { return new MouseAdapter() { @Override @@ -157,6 +181,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ this.isEventBannded = ban; } + @Override protected void fireStateChanged() { } @@ -187,6 +212,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ } } + @Override protected void paintOtherBorder(Graphics g) { Graphics2D g2d = (Graphics2D) g; g2d.setStroke(UIConstants.BS); @@ -200,6 +226,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ * * @return 如果需要响应观察者事件则返回true,否则返回false */ + @Override public boolean shouldResponseChangeListener() { return true; } @@ -208,6 +235,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ * * @param listener 观察者监听事件 */ + @Override public void registerNameListener(GlobalNameListener listener) { globalNameListener = listener; } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePane.java b/designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePane.java index db91d0a39..b16aa1b42 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePane.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePane.java @@ -174,6 +174,7 @@ public abstract class ElementCasePane extends Tar private CellSelection cellNeedTOFormat = null; private FormatBrushAction formatBrushAction; private ActionListener keyListener = new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (!formatBrush.isSelected()) { DesignerContext.setFormatState(DesignerContext.FORMAT_STATE_ONCE); @@ -188,6 +189,7 @@ public abstract class ElementCasePane extends Tar } }; private ActionListener escKey = new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { cancelFormatBrush(); } @@ -212,6 +214,7 @@ public abstract class ElementCasePane extends Tar /** * 取消格式化 */ + @Override public void cancelFormat() { return; } @@ -240,7 +243,6 @@ public abstract class ElementCasePane extends Tar verScrollBar = new DynamicScrollBar(Adjustable.VERTICAL, this, this.resolution); horScrollBar = new DynamicScrollBar(Adjustable.HORIZONTAL, this, this.resolution); this.add(RGridLayout.VerticalBar, this.verScrollBar); -// this.add(RGridLayout.HorizontalBar, this.horScrollBar); // Init input/action map defaultly. initInputActionMap(); @@ -253,7 +255,7 @@ public abstract class ElementCasePane extends Tar initFormatBrush(); } - + @Override public int getMenuState() { return DesignState.WORK_SHEET; } @@ -265,6 +267,7 @@ public abstract class ElementCasePane extends Tar formatBrush.setSelected(DesignerContext.getFormatState() != DesignerContext.FORMAT_STATE_NULL); formatBrush.removeActionListener(formatBrushAction); formatBrush.addMouseListener(new MouseAdapter() { + @Override public void mouseClicked(MouseEvent e) { //如果没有格式刷,点击时就是想使用格式刷 if (e.getClickCount() == 1) { @@ -528,8 +531,8 @@ public abstract class ElementCasePane extends Tar FineLoggerFactory.getLogger().info("Nothing to release"); } this.selection = selection; - fireSelectionChanged(); } + fireSelectionChanged(); } @@ -1210,6 +1213,7 @@ public abstract class ElementCasePane extends Tar /** * 请求焦点 */ + @Override public void requestFocus() { super.requestFocus(); this.getGrid().requestFocus(); @@ -1338,6 +1342,7 @@ public abstract class ElementCasePane extends Tar * * @return 返回正在编辑的状态. */ + @Override public EditingState createEditingState() { return new ElementCaseEditingState(this.selection, this.verScrollBar.getValue(), this.horScrollBar.getValue(), this.resolution); } @@ -1380,7 +1385,6 @@ public abstract class ElementCasePane extends Tar ElementCasePane.this.getVerticalScrollBar().setValue(this.verticalValue); ElementCasePane.this.getHorizontalScrollBar().setValue(this.horizontalValue); -// ElementCasePane.this.setResolution(this.resolution); HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setScale(this.resolution); // 重绘. ElementCasePane.this.repaint(); From 9a06cbb35ee87ed754a9a7c68872f92136fb678d Mon Sep 17 00:00:00 2001 From: Hades Date: Sun, 12 May 2019 21:19:04 +0800 Subject: [PATCH 15/19] update --- .../main/java/com/fr/design/gui/ibutton/UIToggleButton.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java index 9f12bd5ed..12f39a7ab 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java @@ -30,6 +30,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ private String toggleButtonName = ""; private GlobalNameListener globalNameListener = null; private Icon[] icons; + private final int ICON_COUNT = 2; public UIToggleButton() { this(StringUtils.EMPTY); @@ -126,6 +127,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ protected void initListener(){ if(shouldResponseChangeListener()){ this.addChangeListener(new ChangeListener() { + @Override public void stateChanged(ChangeEvent e) { if (uiObserverListener == null) { return; @@ -153,7 +155,8 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - if (icons != null) { + Icon[] icons = UIToggleButton.this.icons; + if (icons != null && icons.length == ICON_COUNT) { if (isSelected) { UIToggleButton.this.setIcon(icons[1]); } else { From 85fa5185eb7e509b963e9ed1561e96c0cce6cc48 Mon Sep 17 00:00:00 2001 From: Hades Date: Mon, 13 May 2019 09:53:32 +0800 Subject: [PATCH 16/19] update --- .../main/java/com/fr/design/gui/ibutton/UIToggleButton.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java index 12f39a7ab..cf932be41 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java @@ -25,12 +25,13 @@ import com.fr.stable.StringUtils; * @since 2012-5-11下午4:28:24 */ public class UIToggleButton extends UIButton implements GlobalNameObserver{ + + private final int ICON_COUNT = 2; private boolean isSelected; private boolean isEventBannded = false; private String toggleButtonName = ""; private GlobalNameListener globalNameListener = null; private Icon[] icons; - private final int ICON_COUNT = 2; public UIToggleButton() { this(StringUtils.EMPTY); From 4570299e84014a098e8623f9c3b7fc9b3f125eec Mon Sep 17 00:00:00 2001 From: Hades Date: Mon, 13 May 2019 10:08:06 +0800 Subject: [PATCH 17/19] update --- .../src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java index cf932be41..45c878419 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java @@ -26,7 +26,7 @@ import com.fr.stable.StringUtils; */ public class UIToggleButton extends UIButton implements GlobalNameObserver{ - private final int ICON_COUNT = 2; + private static final int ICON_COUNT = 2; private boolean isSelected; private boolean isEventBannded = false; private String toggleButtonName = ""; From a27d8abd0fe26a1f836b77f2df204324f9a861be Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 13 May 2019 10:27:52 +0800 Subject: [PATCH 18/19] =?UTF-8?q?REPORT-14835=20=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/actions/file/PreferenceAction.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferenceAction.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferenceAction.java index eb652abb8..08273202d 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferenceAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferenceAction.java @@ -4,9 +4,10 @@ import com.fr.design.DesignerEnvManager; import com.fr.design.actions.UpdateAction; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerFrame; +import com.fr.design.mainframe.DesignerFrameFileDealerPane; import com.fr.design.mainframe.JTemplate; import com.fr.design.menu.KeySetUtils; @@ -38,9 +39,10 @@ public class PreferenceAction extends UpdateAction { preferencePane.update(DesignerEnvManager.getEnvManager()); DesignerEnvManager.loadLogSetting(); DesignerEnvManager.getEnvManager().saveXMLFile(); - JTemplate jt = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); jt.refreshToolArea(); preferencePane.showRestartDialog(); + DesignerFrameFileDealerPane.getInstance().refreshDockingView(); } }); From d3379ae2561e99426c4dcef6da949f984a49b557 Mon Sep 17 00:00:00 2001 From: kerry Date: Mon, 13 May 2019 16:59:34 +0800 Subject: [PATCH 19/19] =?UTF-8?q?REPORT-15987=20=E8=BF=99=E8=BE=B9?= =?UTF-8?q?=E4=B9=9F=E4=B8=80=E8=B5=B7=E6=94=B9=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/mobile/ui/DownMenuStyleDefinePane.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/DownMenuStyleDefinePane.java b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/DownMenuStyleDefinePane.java index ff76e5fed..c5e19e881 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/DownMenuStyleDefinePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/DownMenuStyleDefinePane.java @@ -2,7 +2,6 @@ package com.fr.design.mainframe.mobile.ui; import com.fr.base.GraphHelper; import com.fr.base.Icon; -import com.fr.base.IconManager; import com.fr.design.constants.LayoutConstants; import com.fr.design.designer.IntervalConstants; import com.fr.design.gui.ilable.UILabel; @@ -11,6 +10,7 @@ import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.widget.UITitleSplitLine; import com.fr.design.mainframe.widget.preview.MobileTemplatePreviewPane; import com.fr.form.ui.CardSwitchButton; +import com.fr.form.ui.WidgetInfoConfig; import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.general.FRFont; import com.fr.general.cardtag.mobile.DownMenuStyle; @@ -40,6 +40,7 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf { super(tagLayout); } + @Override protected void createExtraConfPane(JPanel centerPane) { JPanel panel = FRGUIPaneFactory.createVerticalFlowLayout_Pane(true, FlowLayout.LEADING, 0, 0); panel.setBorder(BorderFactory.createEmptyBorder(0, 20, 5, 20)); @@ -134,12 +135,13 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf { private static final int GAP = 6; private static final String PAINT_ICON = "fund_white"; private static final String ICON_PATH = "/com/fr/web/images/fund_white.png"; - private LineDescription splitLine; + private transient LineDescription splitLine; public DownMenuStylePreviewPane() { this.setBackground(Color.decode("#3888EE")); } + @Override public void repaint() { super.repaint(); } @@ -172,7 +174,7 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf { g2d.setColor(oldColor); } Icon icon = new Icon(PAINT_ICON, ICON_PATH); - g2d.drawImage(IconManager.getIconManager().getDefaultIconImage(icon), (eachWidth - ICON_OFFSET) / 2, (panelHeight - ICON_OFFSET - GAP - fontHeight) / 2, null); + g2d.drawImage(WidgetInfoConfig.getInstance().getIconManager().getDefaultIconImage(icon), (eachWidth - ICON_OFFSET) / 2, (panelHeight - ICON_OFFSET - GAP - fontHeight) / 2, null); g2d.drawString(displayName, (eachWidth - width) / 2, (panelHeight + ICON_OFFSET + GAP - fontHeight) / 2 + ascent); Stroke oldStroke = g2d.getStroke(); if (splitLine.getLineStyle() != 0) { @@ -187,6 +189,7 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf { } + @Override public void populateConfig(MobileTemplateStyle templateStyle) { super.populateConfig(templateStyle); this.splitLine = ((DownMenuStyle) templateStyle).getSplitLine();