diff --git a/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java b/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java index 67176e3..839f58c 100644 --- a/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java +++ b/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java @@ -96,6 +96,12 @@ public class ApplicationManager { primaryStage.setWidth(scene.getWidth()); primaryStage.setHeight(scene.getHeight()); primaryStage.getIcons().add(UiUtil.getAppIcon()); + primaryStage.focusedProperty().addListener((observable, oldValue, newValue) -> { + if (Boolean.TRUE.equals(newValue)) { + CenterTabPaneManager instance = CenterTabPaneManager.getInstance(); + instance.checkFileTabStatus(instance.getSelected()); + } + }); } /** diff --git a/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java b/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java index 686ec0f..771f6db 100644 --- a/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java +++ b/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java @@ -134,7 +134,7 @@ public class PluginManager { /** * 执行加载的插件 - * todo 待移除 + * @deprecated 待删除 */ public void executePlugins() { for (PluginDescriptor pluginDescriptor : pluginDescriptors) { @@ -202,7 +202,7 @@ public class PluginManager { appDialog.close(); // 执行重启操作 ApplicationRestarter.restart(); - }, null); + }, null, "重启", "以后再说"); } } diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java index c579d7e..dd6bb36 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java @@ -3,10 +3,8 @@ package org.jcnc.jnotepad.views.manager; import javafx.collections.ObservableList; import javafx.scene.control.Tab; import javafx.stage.Stage; -import org.jcnc.jnotepad.app.manager.ApplicationManager; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; import org.jcnc.jnotepad.common.util.FileUtil; -import org.jcnc.jnotepad.common.util.LogUtil; import org.jcnc.jnotepad.common.util.PopUpUtil; import org.jcnc.jnotepad.controller.config.AppConfigController; import org.jcnc.jnotepad.model.enums.CacheExpirationTime; @@ -67,11 +65,6 @@ public class CenterTabPaneManager { bottomStatusBoxManager.updateWhenTabSelected(); } ); - ApplicationManager.getInstance().getPrimaryStage().focusedProperty().addListener((observable, oldValue, newValue) -> { - if (Boolean.TRUE.equals(newValue)) { - checkFileTabStatus(getSelected()); - } - }); } @@ -80,10 +73,8 @@ public class CenterTabPaneManager { * * @apiNote 该方法检查当前文件是否被修改,如果被修改,则返回true */ - private void checkFileTabStatus(CenterTab tab) { + public void checkFileTabStatus(CenterTab tab) { if (tab.isRelevance()) { - LogUtil.getLogger(this.getClass()).info("当前标签页关联文件"); - // 获取当前文本域对象 LineNumberTextArea lineNumberTextArea = tab.getLineNumberTextArea(); // 获取当前标签页对应文件上次修改时间