1
0
mirror of https://github.com/lencx/ChatGPT.git synced 2024-10-01 01:06:13 -04:00

feat: config tray (#178)

This commit is contained in:
lencx 2023-01-09 13:15:54 +08:00
parent e68ab20420
commit 2764219867
2 changed files with 21 additions and 0 deletions

View File

@ -68,6 +68,14 @@ pub fn init() -> Menu {
titlebar titlebar
}; };
let system_tray =
CustomMenuItem::new("system_tray".to_string(), "System Tray");
let system_tray_menu = if chat_conf.tray {
system_tray.selected()
} else {
system_tray
};
let preferences_menu = Submenu::new( let preferences_menu = Submenu::new(
"Preferences", "Preferences",
Menu::with_items([ Menu::with_items([
@ -80,6 +88,7 @@ pub fn init() -> Menu {
titlebar_menu.into(), titlebar_menu.into(),
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
CustomMenuItem::new("hide_dock_icon".to_string(), "Hide Dock Icon").into(), CustomMenuItem::new("hide_dock_icon".to_string(), "Hide Dock Icon").into(),
system_tray_menu.into(),
CustomMenuItem::new("inject_script".to_string(), "Inject Script") CustomMenuItem::new("inject_script".to_string(), "Inject Script")
.accelerator("CmdOrCtrl+J") .accelerator("CmdOrCtrl+J")
.into(), .into(),
@ -280,6 +289,15 @@ pub fn menu_handler(event: WindowMenuEvent<tauri::Wry>) {
.unwrap(); .unwrap();
tauri::api::process::restart(&app.env()); tauri::api::process::restart(&app.env());
} }
"system_tray" => {
let chat_conf = conf::ChatConfJson::get_chat_conf();
ChatConfJson::amend(
&serde_json::json!({ "tray": !chat_conf.tray }),
None,
)
.unwrap();
tauri::api::process::restart(&app.env());
}
"theme_light" | "theme_dark" | "theme_system" => { "theme_light" | "theme_dark" | "theme_system" => {
let theme = match menu_id { let theme = match menu_id {
"theme_dark" => "Dark", "theme_dark" => "Dark",

View File

@ -20,6 +20,7 @@ pub const DEFAULT_CHAT_CONF: &str = r#"{
"stay_on_top": false, "stay_on_top": false,
"auto_update": "Prompt", "auto_update": "Prompt",
"theme": "Light", "theme": "Light",
"tray": true,
"titlebar": true, "titlebar": true,
"popup_search": true, "popup_search": true,
"global_shortcut": "", "global_shortcut": "",
@ -33,6 +34,7 @@ pub const DEFAULT_CHAT_CONF_MAC: &str = r#"{
"stay_on_top": false, "stay_on_top": false,
"auto_update": "Prompt", "auto_update": "Prompt",
"theme": "Light", "theme": "Light",
"tray": true,
"titlebar": false, "titlebar": false,
"popup_search": true, "popup_search": true,
"global_shortcut": "", "global_shortcut": "",
@ -53,6 +55,7 @@ pub struct ChatConfJson {
pub theme: String, pub theme: String,
// auto update policy, Prompt/Silent/Disable // auto update policy, Prompt/Silent/Disable
pub auto_update: String, pub auto_update: String,
pub tray: bool,
pub popup_search: bool, pub popup_search: bool,
pub stay_on_top: bool, pub stay_on_top: bool,
pub default_origin: String, pub default_origin: String,