瀏覽代碼

feat: support display current profile when the mouse is placed on the tray icon #782 (#938)

lxk955 1 年之前
父節點
當前提交
9e2c864117
共有 2 個文件被更改,包括 16 次插入3 次删除
  1. 1 0
      src-tauri/src/cmds.rs
  2. 15 3
      src-tauri/src/core/tray.rs

+ 1 - 0
src-tauri/src/cmds.rs

@@ -65,6 +65,7 @@ pub async fn patch_profiles_config(profiles: IProfiles) -> CmdResult {
     match CoreManager::global().update_config().await {
         Ok(_) => {
             handle::Handle::refresh_clash();
+            let _ = handle::Handle::update_systray_part();
             Config::profiles().apply();
             wrap_err!(Config::profiles().data().save_file())?;
             Ok(())

+ 15 - 3
src-tauri/src/core/tray.rs

@@ -260,13 +260,25 @@ impl Tray {
             map.insert(false, "off");
             map
         };
-
+        
+        let mut current_profile_name = "None".to_string();
+        let profiles = Config::profiles();
+        let profiles = profiles.latest();
+        if let Some(current_profile_uid) = profiles.get_current() {
+            let current_profile = profiles.get_item(&current_profile_uid);
+            current_profile_name = match &current_profile.unwrap().name {
+                Some(profile_name) => profile_name.to_string(),
+                None => current_profile_name,
+            };
+        };
         let _ = tray.set_tooltip(&format!(
-            "Clash Verge {version}\n{}: {}\n{}: {}",
+            "Clash Verge {version}\n{}: {}\n{}: {}\n{}: {}",
             t!("System Proxy", "系统代理"),
             switch_map[system_proxy],
             t!("TUN Mode", "Tun 模式"),
-            switch_map[tun_mode]
+            switch_map[tun_mode],
+            t!("Curent Profile", "当前订阅"),
+            current_profile_name
         ));
 
         Ok(())