feat: manage clash config

This commit is contained in:
GyDi
2022-01-21 02:31:44 +08:00
parent 0bd29d71be
commit d49fd37656
6 changed files with 122 additions and 85 deletions

View File

@@ -41,14 +41,11 @@ fn main() -> std::io::Result<()> {
}
"restart_clash" => {
let clash_state = app_handle.state::<states::ClashState>();
let profiles_state = app_handle.state::<states::ProfilesState>();
let mut clash = clash_state.0.lock().unwrap();
match clash.restart_sidecar() {
let mut profiles = profiles_state.0.lock().unwrap();
match clash.restart_sidecar(&mut profiles) {
Ok(_) => {
let profiles = app_handle.state::<states::ProfilesState>();
let profiles = profiles.0.lock().unwrap();
if let Err(err) = profiles.activate(clash.info.clone()) {
log::error!("{}", err);
}
let window = app_handle.get_window("main").unwrap();
window.emit("restart_clash", "yes").unwrap();
}