|
@@ -4,6 +4,7 @@ import 'package:get/get.dart';
|
|
|
import 'package:naiyouwl/app/bean/proxie.dart';
|
|
|
import 'package:naiyouwl/app/controller/controllers.dart';
|
|
|
import 'package:naiyouwl/app/utils/utils.dart';
|
|
|
+import 'package:naiyouwl/app/utils/win_console.dart';
|
|
|
import 'package:tray_manager/tray_manager.dart';
|
|
|
import 'package:url_launcher/url_launcher.dart';
|
|
|
import 'package:window_manager/window_manager.dart';
|
|
@@ -13,6 +14,7 @@ class TrayController extends GetxController with TrayListener {
|
|
|
late Menu trayMenu;
|
|
|
var disabledTun = false.obs;
|
|
|
var show = false.obs;
|
|
|
+ var isSHow = false;
|
|
|
|
|
|
Future<void> initTray() async {
|
|
|
await trayManager.setIcon('assets/images/logo/logo.ico');
|
|
@@ -23,6 +25,11 @@ class TrayController extends GetxController with TrayListener {
|
|
|
|
|
|
Future<void> updateTray() async {
|
|
|
final visible = await windowManager.isVisible();
|
|
|
+
|
|
|
+ if(Platform.isWindows){
|
|
|
+ isSHow = true;
|
|
|
+ }
|
|
|
+
|
|
|
final disabled = controllers.service.coreStatus.value != RunningState.running;
|
|
|
|
|
|
var disabledSerivce = false;
|
|
@@ -88,7 +95,11 @@ class TrayController extends GetxController with TrayListener {
|
|
|
MenuItem.separator(),
|
|
|
|
|
|
MenuItem(label: 'tray_exit'.tr, onClick: handleClickExit),
|
|
|
+
|
|
|
+ isSHow == true ? MenuItem(label: "显示控制台", onClick: handleClickConsoleShow) : MenuItem(disabled: true,label: "显示控制台", onClick: handleClickConsoleShow)
|
|
|
]);
|
|
|
+
|
|
|
+
|
|
|
await trayManager.setContextMenu(trayMenu);
|
|
|
}
|
|
|
|
|
@@ -104,7 +115,14 @@ class TrayController extends GetxController with TrayListener {
|
|
|
await trayManager.popUpContextMenu();
|
|
|
show.value = false;
|
|
|
}
|
|
|
-
|
|
|
+ Future<void> handleClickConsoleShow(MenuItem menuItem) async {
|
|
|
+ isSHow = false;
|
|
|
+ if (menuItem.checked == true) {
|
|
|
+ showConsole();
|
|
|
+ } else {
|
|
|
+ hideConsole();
|
|
|
+ }
|
|
|
+ }
|
|
|
Future<void> handleClickShow(MenuItem menuItem) async {
|
|
|
show.value = false;
|
|
|
if (menuItem.checked == true) {
|