mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-04-18 08:21:34 +08:00
fix(tray): remove checkmark from proxy group entries
This commit is contained in:
parent
19a31450e5
commit
28f8bb9199
@ -5,7 +5,7 @@ use tauri_plugin_mihomo::models::Proxies;
|
|||||||
use tokio::fs;
|
use tokio::fs;
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
pub mod speed_rate;
|
pub mod speed_rate;
|
||||||
use crate::config::{IProfilePreview, IVerge, PrfSelected};
|
use crate::config::{IProfilePreview, IVerge};
|
||||||
use crate::core::service;
|
use crate::core::service;
|
||||||
use crate::module::lightweight;
|
use crate::module::lightweight;
|
||||||
use crate::process::AsyncHandler;
|
use crate::process::AsyncHandler;
|
||||||
@ -633,7 +633,6 @@ fn create_profile_menu_item(
|
|||||||
fn create_subcreate_proxy_menu_item(
|
fn create_subcreate_proxy_menu_item(
|
||||||
app_handle: &AppHandle,
|
app_handle: &AppHandle,
|
||||||
proxy_mode: &str,
|
proxy_mode: &str,
|
||||||
current_profile_selected: &[PrfSelected],
|
|
||||||
proxy_group_order_map: Option<HashMap<String, usize>>,
|
proxy_group_order_map: Option<HashMap<String, usize>>,
|
||||||
proxy_nodes_data: Option<Proxies>,
|
proxy_nodes_data: Option<Proxies>,
|
||||||
) -> Vec<Submenu<Wry>> {
|
) -> Vec<Submenu<Wry>> {
|
||||||
@ -643,13 +642,11 @@ fn create_subcreate_proxy_menu_item(
|
|||||||
// TODO: 应用启动时,内核还未启动完全,无法获取代理节点信息
|
// TODO: 应用启动时,内核还未启动完全,无法获取代理节点信息
|
||||||
if let Some(proxy_nodes_data) = proxy_nodes_data {
|
if let Some(proxy_nodes_data) = proxy_nodes_data {
|
||||||
for (group_name, group_data) in proxy_nodes_data.proxies.iter() {
|
for (group_name, group_data) in proxy_nodes_data.proxies.iter() {
|
||||||
// Filter groups based on mode
|
// Filter groups based on mode and hidden flag
|
||||||
let should_show = match proxy_mode {
|
let should_show = match proxy_mode {
|
||||||
"global" => group_name == "GLOBAL",
|
"global" => group_name == "GLOBAL",
|
||||||
_ => group_name != "GLOBAL",
|
_ => group_name != "GLOBAL",
|
||||||
} &&
|
} && !group_data.hidden.unwrap_or_default();
|
||||||
// Check if the group is hidden
|
|
||||||
!group_data.hidden.unwrap_or_default();
|
|
||||||
|
|
||||||
if !should_show {
|
if !should_show {
|
||||||
continue;
|
continue;
|
||||||
@ -701,23 +698,7 @@ fn create_subcreate_proxy_menu_item(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine if group is active
|
let group_display_name = group_name.to_string();
|
||||||
let is_group_active = match proxy_mode {
|
|
||||||
"global" => group_name == "GLOBAL" && !now_proxy.is_empty(),
|
|
||||||
"direct" => false,
|
|
||||||
_ => {
|
|
||||||
current_profile_selected
|
|
||||||
.iter()
|
|
||||||
.any(|s| s.name.as_deref() == Some(group_name))
|
|
||||||
&& !now_proxy.is_empty()
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let group_display_name = if is_group_active {
|
|
||||||
format!("✓ {}", group_name)
|
|
||||||
} else {
|
|
||||||
group_name.to_string()
|
|
||||||
};
|
|
||||||
|
|
||||||
let group_items_refs: Vec<&dyn IsMenuItem<Wry>> = group_items
|
let group_items_refs: Vec<&dyn IsMenuItem<Wry>> = group_items
|
||||||
.iter()
|
.iter()
|
||||||
@ -816,17 +797,6 @@ async fn create_tray_menu(
|
|||||||
|
|
||||||
i18n::sync_locale().await;
|
i18n::sync_locale().await;
|
||||||
|
|
||||||
// 获取当前配置文件的选中代理组信息
|
|
||||||
let current_profile_selected = {
|
|
||||||
let profiles_config = Config::profiles().await;
|
|
||||||
let profiles_ref = profiles_config.latest_arc();
|
|
||||||
profiles_ref
|
|
||||||
.get_current()
|
|
||||||
.and_then(|uid| profiles_ref.get_item(uid).ok())
|
|
||||||
.and_then(|profile| profile.selected.clone())
|
|
||||||
.unwrap_or_default()
|
|
||||||
};
|
|
||||||
|
|
||||||
let proxy_nodes_data = handle::Handle::mihomo().await.get_proxies().await.ok();
|
let proxy_nodes_data = handle::Handle::mihomo().await.get_proxies().await.ok();
|
||||||
|
|
||||||
let runtime_proxy_groups_order = cmd::get_runtime_config()
|
let runtime_proxy_groups_order = cmd::get_runtime_config()
|
||||||
@ -948,7 +918,6 @@ async fn create_tray_menu(
|
|||||||
let proxy_sub_menus = create_subcreate_proxy_menu_item(
|
let proxy_sub_menus = create_subcreate_proxy_menu_item(
|
||||||
app_handle,
|
app_handle,
|
||||||
current_proxy_mode,
|
current_proxy_mode,
|
||||||
¤t_profile_selected,
|
|
||||||
proxy_group_order_map,
|
proxy_group_order_map,
|
||||||
proxy_nodes_data,
|
proxy_nodes_data,
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user