Merge branch 'release-v1.1.13' of https://gitee.com/jcnc-org/JNotepad into develop

# Conflicts:
#	src/main/java/org/jcnc/jnotepad/component/stage/setting/DeveloperDebugStage.java
#	src/main/java/org/jcnc/jnotepad/component/stage/setting/SetStage.java
#	src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java
#	src/main/resources/i18n/i18n.properties
This commit is contained in:
gewuyou 2023-10-05 22:39:12 +08:00
commit fe32898fef
6 changed files with 101 additions and 4 deletions

View File

@ -11,6 +11,9 @@ public class TextConstants {
public static final String TITLE = "title"; public static final String TITLE = "title";
public static final String SAVE = "SAVE"; public static final String SAVE = "SAVE";
public static final String FILE = "FILE"; public static final String FILE = "FILE";
public static final String RUN = "RUN";
public static final String DE_BUG = "DE_BUG";
public static final String NEW = "NEW"; public static final String NEW = "NEW";
public static final String OPEN = "OPEN"; public static final String OPEN = "OPEN";
public static final String OPEN_DIRECTORY = "OPEN_DIRECTORY"; public static final String OPEN_DIRECTORY = "OPEN_DIRECTORY";

View File

@ -12,6 +12,10 @@ import org.jcnc.jnotepad.component.stage.setting.SetStage;
* @author 许轲 * @author 许轲
*/ */
public class SetBtn implements EventHandler<ActionEvent> { public class SetBtn implements EventHandler<ActionEvent> {
/**
* 标志变量跟踪Stage是否已创建
*/
private boolean isStageCreated = false;
/** /**
* 打开设置窗口处理事件 * 打开设置窗口处理事件
@ -20,6 +24,11 @@ public class SetBtn implements EventHandler<ActionEvent> {
*/ */
@Override @Override
public void handle(ActionEvent event) { public void handle(ActionEvent event) {
SetStage.getInstance().openSetStage(); if (!isStageCreated) {
SetStage.getInstance().openSetStage();
// 设置标志变量为true表示Stage已创建
isStageCreated = true;
}
} }
} }

View File

@ -32,9 +32,12 @@ public class TopMenuBarManager extends AbstractManager<Menu> {
LanguageTopMenu languageTopMenu = LanguageTopMenu.getInstance(); LanguageTopMenu languageTopMenu = LanguageTopMenu.getInstance();
SettingTopMenu settingTopMenu = SettingTopMenu.getInstance(); SettingTopMenu settingTopMenu = SettingTopMenu.getInstance();
RunTopMenu runTopMenu=RunTopMenu.getInstance();
PluginTopMenu pluginTopMenu = PluginTopMenu.getInstance();
HelpTopMenu helpTopMenu = HelpTopMenu.getInstance(); HelpTopMenu helpTopMenu = HelpTopMenu.getInstance();
PluginTopMenu pluginTopMenu = PluginTopMenu.getInstance();
private TopMenuBarManager() { private TopMenuBarManager() {
} }
@ -61,6 +64,8 @@ public class TopMenuBarManager extends AbstractManager<Menu> {
// 初始化插件菜单 // 初始化插件菜单
pluginTopMenu.initMenu(); pluginTopMenu.initMenu();
runTopMenu.initMenu();
// 刷新顶部菜单栏 // 刷新顶部菜单栏
refreshTopMenuBar(); refreshTopMenuBar();
// 初始化快捷键 // 初始化快捷键
@ -73,12 +78,18 @@ public class TopMenuBarManager extends AbstractManager<Menu> {
public void registerTopMenuBar() { public void registerTopMenuBar() {
// 文件菜单 // 文件菜单
registerNode(fileTopMenu.getMenu()); registerNode(fileTopMenu.getMenu());
// 设置菜单 // 设置菜单
registerNode(topMenuBar.getSetMenu()); registerNode(topMenuBar.getSetMenu());
// 帮助菜单
registerNode(helpTopMenu.getMenu());
// 插件菜单 // 插件菜单
registerNode(topMenuBar.getPluginMenu()); registerNode(topMenuBar.getPluginMenu());
// 运行菜单
registerNode(runTopMenu.getMenu());
// 帮助菜单
registerNode(helpTopMenu.getMenu());
} }

View File

@ -0,0 +1,70 @@
package org.jcnc.jnotepad.views.root.top.menubar.menu;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuItem;
import org.jcnc.jnotepad.api.core.views.top.menu.AbstractTopMenu;
import java.util.HashMap;
import java.util.Map;
import static org.jcnc.jnotepad.common.constants.TextConstants.DE_BUG;
import static org.jcnc.jnotepad.common.constants.TextConstants.RUN;
/**
* 文件菜单
*
* @author gewuyou
*/
public class RunTopMenu extends AbstractTopMenu {
private static final RunTopMenu INSTANCE = new RunTopMenu();
private final Map<String, MenuItem> runMenuItems = new HashMap<>();
public static RunTopMenu getInstance() {
return INSTANCE;
}
/**
* 获取菜单名称
*
* @return 菜单名称
*/
@Override
public String getMenuName() {
return RUN;
}
/**
* 获取菜单
*
* @return 菜单
*/
@Override
public Menu getMenu() {
return topMenuBar.getRunMenu();
}
/**
* 获取菜单项集合
*
* @return 菜单项集合
*/
@Override
public Map<String, MenuItem> getMenuItems() {
return runMenuItems;
}
/**
* 注册顶部菜单
*/
@Override
protected void registerTopMenu() {
// 运行
registerMenuItem(topMenuBar.getRunItem(), RUN, "runItem", null);
// 调试
registerMenuItem(topMenuBar.getDeBugItem(), DE_BUG, "deBugItem", null);
}
}

View File

@ -13,6 +13,8 @@ title=JNotepad
OPEN=Open OPEN=Open
OPEN_DIRECTORY=Open Directory OPEN_DIRECTORY=Open Directory
HELP=Help HELP=Help
RUN=Run
DE_BUG=Debug
OPEN_CONFIGURATION_FILE=Open Configuration File OPEN_CONFIGURATION_FILE=Open Configuration File
RENAME=Rename RENAME=Rename
TOP=Window Top TOP=Window Top

View File

@ -11,6 +11,8 @@ title=JNotepad
OPEN=打开 OPEN=打开
OPEN_DIRECTORY=打开文件夹 OPEN_DIRECTORY=打开文件夹
HELP=帮助 HELP=帮助
RUN=运行
DE_BUG=调试
ABOUT=关于 ABOUT=关于
DEVELOPER=开发者 DEVELOPER=开发者
OPEN_CONFIGURATION_FILE=打开配置文件 OPEN_CONFIGURATION_FILE=打开配置文件