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:
parent
e68ab20420
commit
2764219867
@ -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",
|
||||||
|
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user