diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 4aee3a024e..dbfe4f441d 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -59,6 +59,7 @@ import com.fr.plugin.observer.PluginEvent; import com.fr.plugin.observer.PluginEventListener; import com.fr.plugin.observer.PluginEventType; import com.fr.stable.ArrayUtils; +import com.fr.stable.ProductConstants; import com.fr.stable.StringUtils; import javax.swing.*; @@ -316,23 +317,26 @@ public abstract class ToolBarMenuDock { } public MenuDef createFileMenuDef(ToolBarMenuDockPlus plus) { - boolean notVcs = !DesignerMode.isVcsMode(); - MenuDef menuDef = new MenuDef(Inter.getLocText("FR-Designer_File"), 'F'); + if (DesignerMode.isVcsMode()) { + MenuDef menuDef = VcsScene.createFileMenuDef(plus); + insertMenu(menuDef, MenuHandler.FILE); + return menuDef; + } + MenuDef menuDef = new MenuDef(Inter.getLocText("FR-Designer_File"), 'F'); ShortCut[] scs = new ShortCut[0]; - if (!BaseUtils.isAuthorityEditing() && notVcs) { + if (!BaseUtils.isAuthorityEditing()) { scs = createNewFileShortCuts(); } if (!ArrayUtils.isEmpty(scs)) { menuDef.addShortCut(scs); } - if (notVcs) { - menuDef.addShortCut(openTemplateAction()); - menuDef.addShortCut(new OpenRecentReportMenuDef()); - addCloseCurrentTemplateAction(menuDef); - } + menuDef.addShortCut(openTemplateAction()); + menuDef.addShortCut(new OpenRecentReportMenuDef()); + + addCloseCurrentTemplateAction(menuDef); scs = plus.shortcut4FileMenu(); if (!ArrayUtils.isEmpty(scs)) { @@ -343,9 +347,8 @@ public abstract class ToolBarMenuDock { addPreferenceAction(menuDef); - if (notVcs) { - addSwitchExistEnvAction(menuDef); - } + addSwitchExistEnvAction(menuDef); + menuDef.addShortCut(new ExitDesignerAction()); insertMenu(menuDef, MenuHandler.FILE); @@ -577,7 +580,22 @@ public abstract class ToolBarMenuDock { } public NewTemplatePane getNewTemplatePane() { - return ToolBarNewTemplatePane.getInstance(); + return new NewTemplatePane() { + @Override + public Icon getNew() { + return BaseUtils.readIcon("/com/fr/design/images/buttonicon/addicon.png"); + } + + @Override + public Icon getMouseOverNew() { + return BaseUtils.readIcon("/com/fr/design/images/buttonicon/add_press.png"); + } + + @Override + public Icon getMousePressNew() { + return BaseUtils.readIcon("/com/fr/design/images/buttonicon/add_press.png"); + } + }; } protected void insertMenu(MenuDef menuDef, String anchor) { diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/VcsScene.java b/designer_base/src/com/fr/design/mainframe/toolbar/VcsScene.java new file mode 100644 index 0000000000..6da207b9ea --- /dev/null +++ b/designer_base/src/com/fr/design/mainframe/toolbar/VcsScene.java @@ -0,0 +1,39 @@ +package com.fr.design.mainframe.toolbar; + +import com.fr.base.BaseUtils; +import com.fr.design.actions.file.ExitDesignerAction; +import com.fr.design.actions.file.PreferenceAction; +import com.fr.design.menu.MenuDef; +import com.fr.design.menu.SeparatorDef; +import com.fr.design.menu.ShortCut; +import com.fr.general.Inter; +import com.fr.stable.ArrayUtils; + +/** + * Created by hzzz on 2017/12/28. + */ +public class VcsScene { + + public static MenuDef createFileMenuDef(ToolBarMenuDockPlus plus) { + MenuDef menuDef = new MenuDef(Inter.getLocText("FR-Designer_File"), 'F'); + + ShortCut[] scs = new ShortCut[0]; + if (!ArrayUtils.isEmpty(scs)) { + menuDef.addShortCut(scs); + } + + scs = plus.shortcut4FileMenu(); + if (!ArrayUtils.isEmpty(scs)) { + menuDef.addShortCut(SeparatorDef.DEFAULT); + menuDef.addShortCut(scs); + menuDef.addShortCut(SeparatorDef.DEFAULT); + } + + if (!BaseUtils.isAuthorityEditing()) { + menuDef.addShortCut(new PreferenceAction()); + } + + menuDef.addShortCut(new ExitDesignerAction()); + return menuDef; + } +}