custom show tray icon

Closes #1569

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-10-15 19:16:20 +08:00
parent c10c4a6f89
commit 112a06f92a
5 changed files with 21 additions and 5 deletions

View File

@@ -58,6 +58,7 @@ class MainController extends GetxController
late final optTabletNav = Pref.optTabletNav;
late bool directExitOnBack = Pref.directExitOnBack;
late bool showTrayIcon = Pref.showTrayIcon;
late bool minimizeOnExit = Pref.minimizeOnExit;
late bool pauseOnMinimize = Pref.pauseOnMinimize;
late bool isPlaying = false;

View File

@@ -45,8 +45,10 @@ class _MainAppState extends State<MainApp>
windowManager
..addListener(this)
..setPreventClose(true);
trayManager.addListener(this);
_handleTray();
if (_mainController.showTrayIcon) {
trayManager.addListener(this);
_handleTray();
}
}
}
@@ -131,7 +133,7 @@ class _MainAppState extends State<MainApp>
@override
void onWindowClose() {
if (_mainController.minimizeOnExit) {
if (_mainController.showTrayIcon && _mainController.minimizeOnExit) {
windowManager.hide();
_onHideWindow();
} else {

View File

@@ -36,7 +36,7 @@ import 'package:get/get.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
List<SettingsModel> get styleSettings => [
if (Utils.isDesktop)
if (Utils.isDesktop) ...[
const SettingsModel(
settingsType: SettingsType.sw1tch,
title: '显示窗口标题栏',
@@ -45,6 +45,15 @@ List<SettingsModel> get styleSettings => [
defaultVal: true,
needReboot: true,
),
const SettingsModel(
settingsType: SettingsType.sw1tch,
title: '显示托盘图标',
leading: Icon(Icons.donut_large_rounded),
setKey: SettingBoxKey.showTrayIcon,
defaultVal: true,
needReboot: true,
),
],
SettingsModel(
settingsType: SettingsType.sw1tch,
title: '横屏适配',

View File

@@ -149,7 +149,8 @@ abstract class SettingBoxKey {
windowPosition = 'windowPosition',
isWindowMaximized = 'isWindowMaximized',
showWindowTitleBar = 'showWindowTitleBar',
desktopVolume = 'desktopVolume';
desktopVolume = 'desktopVolume',
showTrayIcon = 'showTrayIcon';
static const String subtitlePreferenceV2 = 'subtitlePreferenceV2',
enableDragSubtitle = 'enableDragSubtitle',

View File

@@ -861,4 +861,7 @@ abstract class Pref {
static bool get enableTapDm =>
_setting.get(SettingBoxKey.enableTapDm, defaultValue: true);
static bool get showTrayIcon =>
_setting.get(SettingBoxKey.showTrayIcon, defaultValue: true);
}