mirror of
https://github.com/octopusYan/alist-gui.git
synced 2024-11-23 12:36:43 +08:00
fix: 托盘初始化时与主界面状态同步
This commit is contained in:
parent
329c484f4c
commit
654b13e150
@ -76,7 +76,7 @@ public class SystemTrayManager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
initTrayIcon();
|
initTrayIcon(AListManager.isRunning());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!isShowing())
|
if (!isShowing())
|
||||||
@ -95,11 +95,12 @@ public class SystemTrayManager {
|
|||||||
|
|
||||||
//========================================={ private }===========================================
|
//========================================={ private }===========================================
|
||||||
|
|
||||||
private static void initTrayIcon() {
|
private static void initTrayIcon(boolean running) {
|
||||||
if (trayIcon != null) return;
|
if (trayIcon != null) return;
|
||||||
|
|
||||||
// 系统托盘图标
|
// 系统托盘图标
|
||||||
Image image = Toolkit.getDefaultToolkit().getImage(WindowsUtil.class.getResource("/assets/logo-disabled.png"));
|
URL resource = WindowsUtil.class.getResource(STR."/assets/logo\{running ? "" : "-disabled"}.png");
|
||||||
|
Image image = Toolkit.getDefaultToolkit().getImage(resource);
|
||||||
trayIcon = new TrayIcon(image);
|
trayIcon = new TrayIcon(image);
|
||||||
|
|
||||||
// 设置图标尺寸自动适应
|
// 设置图标尺寸自动适应
|
||||||
@ -129,7 +130,7 @@ public class SystemTrayManager {
|
|||||||
if (event.isPopupTrigger()) {
|
if (event.isPopupTrigger()) {
|
||||||
// 弹出菜单
|
// 弹出菜单
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
initPopupMenu();
|
initPopupMenu(running);
|
||||||
popupMenu.show(event);
|
popupMenu.show(event);
|
||||||
});
|
});
|
||||||
} else if (event.getButton() == MouseEvent.BUTTON1) {
|
} else if (event.getButton() == MouseEvent.BUTTON1) {
|
||||||
@ -143,12 +144,15 @@ public class SystemTrayManager {
|
|||||||
/**
|
/**
|
||||||
* 构建托盘菜单
|
* 构建托盘菜单
|
||||||
*/
|
*/
|
||||||
private static void initPopupMenu() {
|
private static void initPopupMenu(boolean running) {
|
||||||
if (popupMenu != null) return;
|
if (popupMenu != null) return;
|
||||||
|
|
||||||
MenuItem start = PopupMenu.menuItem(getString("main.control.start"), _ -> AListManager.openScheme());
|
MenuItem start = PopupMenu.menuItem(
|
||||||
|
getString(STR."main.control.\{running ? "stop" : "start"}"),
|
||||||
|
_ -> AListManager.openScheme()
|
||||||
|
);
|
||||||
MenuItem browser = PopupMenu.menuItem(getString("main.more.browser"), _ -> AListManager.openScheme());
|
MenuItem browser = PopupMenu.menuItem(getString("main.more.browser"), _ -> AListManager.openScheme());
|
||||||
browser.setDisable(true);
|
browser.setDisable(!running);
|
||||||
|
|
||||||
AListManager.runningProperty().addListener((_, _, newValue) -> {
|
AListManager.runningProperty().addListener((_, _, newValue) -> {
|
||||||
start.setText(getString(STR."main.control.\{newValue ? "stop" : "start"}"));
|
start.setText(getString(STR."main.control.\{newValue ? "stop" : "start"}"));
|
||||||
@ -183,4 +187,4 @@ public class SystemTrayManager {
|
|||||||
private static Stage stage() {
|
private static Stage stage() {
|
||||||
return WindowsUtil.getStage();
|
return WindowsUtil.getStage();
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user