mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 04:43:44 +08:00
fix: when the service is not installed, the tray hides the Tun mode
This commit is contained in:
parent
1b2509d5bc
commit
772e01ad40
@ -220,6 +220,69 @@ fn create_tray_menu(
|
|||||||
"Tun 模式"
|
"Tun 模式"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let open_window = &MenuItem::with_id(
|
||||||
|
app_handle,
|
||||||
|
"open_window",
|
||||||
|
t!("Dashboard", "打开面板", use_zh),
|
||||||
|
true,
|
||||||
|
None::<&str>,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let rule_mode = &MenuItem::with_id(
|
||||||
|
app_handle,
|
||||||
|
"rule_mode",
|
||||||
|
t!("Rule Mode", rule_mode_text, use_zh),
|
||||||
|
true,
|
||||||
|
None::<&str>,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let global_mode = &MenuItem::with_id(
|
||||||
|
app_handle,
|
||||||
|
"global_mode",
|
||||||
|
t!("Global Mode", global_mode_text, use_zh),
|
||||||
|
true,
|
||||||
|
None::<&str>,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let direct_mode = &MenuItem::with_id(
|
||||||
|
app_handle,
|
||||||
|
"direct_mode",
|
||||||
|
t!("Direct Mode", direct_mode_text, use_zh),
|
||||||
|
true,
|
||||||
|
None::<&str>,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let system_proxy = &MenuItem::with_id(
|
||||||
|
app_handle,
|
||||||
|
"system_proxy",
|
||||||
|
t!("System Proxy", system_proxy_text, use_zh),
|
||||||
|
true,
|
||||||
|
None::<&str>,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let tun_mode = &MenuItem::with_id(
|
||||||
|
app_handle,
|
||||||
|
"tun_mode",
|
||||||
|
t!("TUN Mode", tun_mode_text, use_zh),
|
||||||
|
true,
|
||||||
|
None::<&str>,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let copy_env = &MenuItem::with_id(
|
||||||
|
app_handle,
|
||||||
|
"copy_env",
|
||||||
|
t!("Copy Env", "复制环境变量", use_zh),
|
||||||
|
true,
|
||||||
|
None::<&str>,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
let open_app_dir = &MenuItem::with_id(
|
let open_app_dir = &MenuItem::with_id(
|
||||||
app_handle,
|
app_handle,
|
||||||
"open_app_dir",
|
"open_app_dir",
|
||||||
@ -246,6 +309,14 @@ fn create_tray_menu(
|
|||||||
None::<&str>,
|
None::<&str>,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
let open_dir = &Submenu::with_id_and_items(
|
||||||
|
app_handle,
|
||||||
|
"open_dir",
|
||||||
|
t!("Open Dir", "打开目录", use_zh),
|
||||||
|
true,
|
||||||
|
&[open_app_dir, open_core_dir, open_logs_dir],
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
let restart_clash = &MenuItem::with_id(
|
let restart_clash = &MenuItem::with_id(
|
||||||
app_handle,
|
app_handle,
|
||||||
@ -274,112 +345,70 @@ fn create_tray_menu(
|
|||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let menu = tauri::menu::MenuBuilder::new(app_handle)
|
let more = &Submenu::with_id_and_items(
|
||||||
.item(
|
app_handle,
|
||||||
&MenuItem::with_id(
|
"more",
|
||||||
app_handle,
|
t!("More", "更多", use_zh),
|
||||||
"open_window",
|
true,
|
||||||
t!("Dashboard", "打开面板", use_zh),
|
&[restart_clash, restart_app, app_version],
|
||||||
true,
|
)
|
||||||
None::<&str>,
|
.unwrap();
|
||||||
)
|
|
||||||
.unwrap(),
|
let quit = &MenuItem::with_id(
|
||||||
)
|
app_handle,
|
||||||
.item(&PredefinedMenuItem::separator(app_handle).unwrap())
|
"quit",
|
||||||
.item(
|
t!("Quit", "退出", use_zh),
|
||||||
&MenuItem::with_id(
|
true,
|
||||||
app_handle,
|
Some("CmdOrControl+Q"),
|
||||||
"rule_mode",
|
)
|
||||||
t!("Rule Mode", rule_mode_text, use_zh),
|
.unwrap();
|
||||||
true,
|
|
||||||
None::<&str>,
|
let separator = &PredefinedMenuItem::separator(app_handle).unwrap();
|
||||||
)
|
let enable = {
|
||||||
.unwrap(),
|
Config::verge()
|
||||||
)
|
.latest()
|
||||||
.item(
|
.enable_service_mode
|
||||||
&MenuItem::with_id(
|
.unwrap_or(false)
|
||||||
app_handle,
|
};
|
||||||
"global_mode",
|
|
||||||
t!("Global Mode", global_mode_text, use_zh),
|
let menu = if enable {
|
||||||
true,
|
tauri::menu::MenuBuilder::new(app_handle)
|
||||||
None::<&str>,
|
.items(&[
|
||||||
)
|
open_window,
|
||||||
.unwrap(),
|
separator,
|
||||||
)
|
rule_mode,
|
||||||
.item(
|
global_mode,
|
||||||
&MenuItem::with_id(
|
direct_mode,
|
||||||
app_handle,
|
separator,
|
||||||
"direct_mode",
|
system_proxy,
|
||||||
t!("Direct Mode", direct_mode_text, use_zh),
|
tun_mode,
|
||||||
true,
|
copy_env,
|
||||||
None::<&str>,
|
open_dir,
|
||||||
)
|
more,
|
||||||
.unwrap(),
|
separator,
|
||||||
)
|
quit,
|
||||||
.item(&PredefinedMenuItem::separator(app_handle).unwrap())
|
])
|
||||||
.item(
|
.build()
|
||||||
&MenuItem::with_id(
|
.unwrap()
|
||||||
app_handle,
|
} else {
|
||||||
"system_proxy",
|
tauri::menu::MenuBuilder::new(app_handle)
|
||||||
t!("System Proxy", system_proxy_text, use_zh),
|
.items(&[
|
||||||
true,
|
open_window,
|
||||||
None::<&str>,
|
separator,
|
||||||
)
|
rule_mode,
|
||||||
.unwrap(),
|
global_mode,
|
||||||
)
|
direct_mode,
|
||||||
.item(
|
separator,
|
||||||
&MenuItem::with_id(
|
system_proxy,
|
||||||
app_handle,
|
copy_env,
|
||||||
"tun_mode",
|
open_dir,
|
||||||
t!("TUN Mode", tun_mode_text, use_zh),
|
more,
|
||||||
true,
|
separator,
|
||||||
None::<&str>,
|
quit,
|
||||||
)
|
])
|
||||||
.unwrap(),
|
.build()
|
||||||
)
|
.unwrap()
|
||||||
.item(
|
};
|
||||||
&MenuItem::with_id(
|
|
||||||
app_handle,
|
|
||||||
"copy_env",
|
|
||||||
t!("Copy Env", "复制环境变量", use_zh),
|
|
||||||
true,
|
|
||||||
None::<&str>,
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
)
|
|
||||||
.item(
|
|
||||||
&Submenu::with_id_and_items(
|
|
||||||
app_handle,
|
|
||||||
"open_dir",
|
|
||||||
t!("Open Dir", "打开目录", use_zh),
|
|
||||||
true,
|
|
||||||
&[open_app_dir, open_core_dir, open_logs_dir],
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
)
|
|
||||||
.item(
|
|
||||||
&Submenu::with_id_and_items(
|
|
||||||
app_handle,
|
|
||||||
"more",
|
|
||||||
t!("More", "更多", use_zh),
|
|
||||||
true,
|
|
||||||
&[restart_clash, restart_app, app_version],
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
)
|
|
||||||
.item(&PredefinedMenuItem::separator(app_handle).unwrap())
|
|
||||||
.item(
|
|
||||||
&MenuItem::with_id(
|
|
||||||
app_handle,
|
|
||||||
"quit",
|
|
||||||
t!("Quit", "退出", use_zh),
|
|
||||||
true,
|
|
||||||
Some("CmdOrControl+Q"),
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
)
|
|
||||||
.build()
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
Ok(menu)
|
Ok(menu)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user