fix: delete profile item command

This commit is contained in:
GyDi
2022-01-08 14:21:12 +08:00
parent c1cc560458
commit 2d8b80bfa9
2 changed files with 26 additions and 7 deletions

View File

@@ -107,13 +107,23 @@ pub fn select_profile(
}
}
/// todo: need to check
/// delete profile item
#[tauri::command]
pub fn delete_profile(index: usize, profiles: State<'_, ProfilesState>) -> Result<(), String> {
match profiles.0.lock() {
Ok(mut profiles) => profiles.delete_item(index),
Err(_) => Err("can not get profiles lock".into()),
pub fn delete_profile(
index: usize,
clash_state: State<'_, ClashState>,
profiles_state: State<'_, ProfilesState>,
) -> Result<(), String> {
let mut profiles = profiles_state.0.lock().unwrap();
match profiles.delete_item(index) {
Ok(change) => match change {
true => {
let clash = clash_state.0.lock().unwrap();
profiles.activate(clash.info.clone())
}
false => Ok(()),
},
Err(err) => Err(err),
}
}