(
state: State<'_, AppState>,
app: tauri::AppHandle,
request: SetMacosEditMenuModeRequest,
)
| 298 | |
| 299 | #[tauri::command] |
| 300 | pub async fn set_macos_edit_menu_mode( |
| 301 | state: State<'_, AppState>, |
| 302 | app: tauri::AppHandle, |
| 303 | request: SetMacosEditMenuModeRequest, |
| 304 | ) -> Result<(), String> { |
| 305 | #[cfg(target_os = "macos")] |
| 306 | { |
| 307 | let current_mode = *state.macos_edit_menu_mode.read().await; |
| 308 | if current_mode == request.mode { |
| 309 | return Ok(()); |
| 310 | } |
| 311 | |
| 312 | { |
| 313 | let mut edit_mode = state.macos_edit_menu_mode.write().await; |
| 314 | *edit_mode = request.mode; |
| 315 | } |
| 316 | |
| 317 | let language = state |
| 318 | .config_service |
| 319 | .get_config::<String>(Some("app.language")) |
| 320 | .await |
| 321 | .unwrap_or_else(|_| "zh-CN".to_string()); |
| 322 | let menubar_mode = if state.workspace_path.read().await.is_some() { |
| 323 | crate::macos_menubar::MenubarMode::Workspace |
| 324 | } else { |
| 325 | crate::macos_menubar::MenubarMode::Startup |
| 326 | }; |
| 327 | |
| 328 | crate::macos_menubar::set_macos_menubar_with_mode( |
| 329 | &app, |
| 330 | &language, |
| 331 | menubar_mode, |
| 332 | request.mode, |
| 333 | ) |
| 334 | .map_err(|error| error.to_string())?; |
| 335 | } |
| 336 | |
| 337 | #[cfg(not(target_os = "macos"))] |
| 338 | { |
| 339 | let _ = (&state, &app, &request); |
| 340 | } |
| 341 | |
| 342 | Ok(()) |
| 343 | } |
| 344 | |
| 345 | #[derive(Debug, Serialize, Deserialize)] |
| 346 | #[serde(rename_all = "camelCase")] |
nothing calls this directly
no test coverage detected