From 249333b96177e178583bdfa3389d0f84743cb471 Mon Sep 17 00:00:00 2001 From: gewuyou <1063891901@qq.com> Date: Sun, 8 Oct 2023 22:56:26 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=94=20=E5=AE=8C=E5=96=84=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E9=A1=B5=E5=8F=B3=E9=94=AE=E8=8F=9C=E5=8D=95=E7=9A=84?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/jcnc/jnotepad/util/TabUtil.java | 5 +++++ .../jnotepad/views/manager/CenterTabPaneManager.java | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/org/jcnc/jnotepad/util/TabUtil.java b/src/main/java/org/jcnc/jnotepad/util/TabUtil.java index dba22f9..d6517ea 100644 --- a/src/main/java/org/jcnc/jnotepad/util/TabUtil.java +++ b/src/main/java/org/jcnc/jnotepad/util/TabUtil.java @@ -324,6 +324,11 @@ public class TabUtil { CenterTabPaneManager.getInstance().addNewTab(tab); } + /** + * Updates the context menu for a given tab in the center tab pane. + * + * @param tab The tab for which the context menu is being updated. + */ public static void updateTabContextMenu(CenterTab tab) { ContextMenuBuilder builder = new ContextMenuBuilder(); CenterTabPaneManager centerTabPaneManager = CenterTabPaneManager.getInstance(); 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 80d7d4b..a9acc11 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java @@ -14,12 +14,15 @@ import org.jcnc.jnotepad.util.PopUpUtil; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTabPane; import org.jcnc.jnotepad.views.root.top.menubar.TopMenuBar; +import org.kordamp.ikonli.javafx.FontIcon; import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import static org.kordamp.ikonli.antdesignicons.AntDesignIconsFilled.PUSHPIN; + /** * 中心标签页窗格管理类 * @@ -305,6 +308,13 @@ public class CenterTabPaneManager { */ public void updateTabPinnedState(CenterTab tab, CheckMenuItem checkMenuItem) { tab.setFixed(!tab.isFixed()); + if (tab.isFixed()) { + FontIcon icon = FontIcon.of(PUSHPIN); + icon.setRotate(-45); + tab.setGraphic(icon); + } else { + tab.setGraphic(new FontIcon()); + } checkMenuItem.setSelected(tab.isFixed()); }