From 1e58d789a0da70d8091c90de82ae237ba4c09d3d Mon Sep 17 00:00:00 2001 From: roger Date: Wed, 24 Aug 2022 14:06:45 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-78757=20=E7=A7=BB=E5=8A=A8=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=EF=BC=8C=E6=97=A0=E5=8C=B9=E9=85=8D=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E9=97=AE=E9=A2=98=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/DefaultTemplateTreeDefineProcessor.java | 9 +++++++-- .../design/mainframe/DesignerFrameFileDealerPane.java | 10 ++++++++++ .../main/java/com/fr/design/mainframe/JTemplate.java | 2 +- .../control/pane/TemplateDirSearchRemindPane.java | 7 +++---- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/file/DefaultTemplateTreeDefineProcessor.java b/designer-base/src/main/java/com/fr/design/file/DefaultTemplateTreeDefineProcessor.java index ad7062752..3a8af493f 100644 --- a/designer-base/src/main/java/com/fr/design/file/DefaultTemplateTreeDefineProcessor.java +++ b/designer-base/src/main/java/com/fr/design/file/DefaultTemplateTreeDefineProcessor.java @@ -24,6 +24,7 @@ import com.fr.file.FileNodeFILE; import com.fr.file.filetree.FileNode; import com.fr.general.ComparatorUtils; import com.fr.log.FineLoggerFactory; +import com.fr.stable.ArrayUtils; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.collections.CollectionUtils; @@ -244,7 +245,7 @@ public class DefaultTemplateTreeDefineProcessor extends AbstractTemplateTreeDefi if (pasteNodes.isEmpty()) { //提示:复制的文件都不能黏贴 FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), - Toolkit.i18nText("Fine-Design_Basic_Unable_Delete_Locked_File"), + Toolkit.i18nText("Fine-Design_Basic_Confirm_Paste_Unlock_File"), Toolkit.i18nText("Fine-Design_Basic_Alert"), WARNING_MESSAGE); return; @@ -508,6 +509,10 @@ public class DefaultTemplateTreeDefineProcessor extends AbstractTemplateTreeDefi private void copyDir(String sourceDir, String targetDir) { FileNode[] fileNodes = getFileTree().listFile(sourceDir); + if (ArrayUtils.isEmpty(fileNodes)) { + //空目录:相当于新建一个目录 + DesignerFrameFileDealerPane.getInstance().getSelectedOperation().mkdir(targetDir); + } for (FileNode fileNode : fileNodes) { if (fileNode.isDirectory()) { copyDir(StableUtils.pathJoin(fileNode.getParent(), fileNode.getName()), StableUtils.pathJoin(targetDir, fileNode.getName())); @@ -520,7 +525,7 @@ public class DefaultTemplateTreeDefineProcessor extends AbstractTemplateTreeDefi //检查源文件是不是还存在 if (!WorkContext.getWorkResource().exist(sourcePath)) { FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), - Toolkit.i18nText("Fine-Design_Basic_Source_File_Not_Exist"), + Toolkit.i18nText("Fine-Design_Basic_Source_File_Not_Exist", sourcePath), Toolkit.i18nText("Fine-Design_Basic_Alert"), WARNING_MESSAGE); } else { 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 d0d2eece5..c2a2a9c60 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 @@ -207,6 +207,16 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt selectedOperation.refresh(); } + /** + * 刷新根目录并退出搜索模式 + */ + public void refreshAndOutOfSearch() { + if (TemplateTreeSearchManager.getInstance().isInSearchMode()) { + TemplateTreeSearchManager.getInstance().outOfSearchMode(); + } + refresh(); + } + private JPanel createUpToolBarPane() { JPanel panel = new JPanel(new BorderLayout()); panel.add(toolBar, BorderLayout.CENTER); 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 29cfcadbb..a44562114 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 @@ -1787,7 +1787,7 @@ public abstract class JTemplate> HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().template.getTemplateID())) { refreshToolArea(); } - DesignerFrameFileDealerPane.getInstance().refresh(); + DesignerFrameFileDealerPane.getInstance().refreshAndOutOfSearch(); DesignerFrameFileDealerPane.getInstance().stateChange(); } }); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateDirSearchRemindPane.java b/designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateDirSearchRemindPane.java index 5c0dbc65a..9feefcb51 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateDirSearchRemindPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateDirSearchRemindPane.java @@ -99,18 +99,17 @@ public class TemplateDirSearchRemindPane extends JPanel implements TreeSearchSta scrollPane = new UIScrollPane(templateFileTree); scrollPane.setBorder(null); - notFoundPane = FRGUIPaneFactory.createVerticalFlowLayout_Pane(true, FlowLayout.LEADING, 0, 5); + notFoundPane = FRGUIPaneFactory.createVerticalFlowLayout_Pane(false, FlowLayout.CENTER, 0, 5); UILabel emptyPicLabel = new UILabel(); emptyPicLabel.setIcon(IconUtils.readIcon("com/fr/base/images/share/no_match_icon.png")); emptyPicLabel.setHorizontalAlignment(SwingConstants.CENTER); - emptyPicLabel.setPreferredSize(new Dimension(240, 100)); + emptyPicLabel.setPreferredSize(new Dimension(570, 100)); UILabel textLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Tree_Search_Not_Match"), SwingConstants.CENTER); textLabel.setForeground(Color.gray); textLabel.setHorizontalAlignment(SwingConstants.CENTER); - textLabel.setPreferredSize(new Dimension(240, 20)); + textLabel.setPreferredSize(new Dimension(570, 20)); notFoundPane.add(emptyPicLabel); notFoundPane.add(textLabel); - notFoundPane.setBorder(BorderFactory.createEmptyBorder(80, 0, 0, 0)); cardLayout = new CardLayout(); this.setLayout(cardLayout);