close elevation request dialog on submit to avoid frequent request
Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
parent
85b5c60d60
commit
54310b925d
@ -812,6 +812,8 @@ void showRequestElevationDialog(
|
||||
} else {
|
||||
bind.sessionElevateDirect(sessionId: sessionId);
|
||||
}
|
||||
close();
|
||||
showWaitUacDialog(sessionId, dialogManager, "wait-uac");
|
||||
}
|
||||
|
||||
return CustomAlertDialog(
|
||||
|
@ -1891,42 +1891,17 @@ impl Connection {
|
||||
}
|
||||
}
|
||||
}
|
||||
#[cfg(windows)]
|
||||
Some(misc::Union::ElevationRequest(r)) => match r.union {
|
||||
Some(elevation_request::Union::Direct(_)) => {
|
||||
#[cfg(windows)]
|
||||
{
|
||||
let mut err = "No need to elevate".to_string();
|
||||
if !crate::platform::is_installed() && !portable_client::running() {
|
||||
err = portable_client::start_portable_service(
|
||||
portable_client::StartPara::Direct,
|
||||
)
|
||||
.err()
|
||||
.map_or("".to_string(), |e| e.to_string());
|
||||
}
|
||||
let mut misc = Misc::new();
|
||||
misc.set_elevation_response(err);
|
||||
let mut msg = Message::new();
|
||||
msg.set_misc(misc);
|
||||
self.send(msg).await;
|
||||
}
|
||||
self.handle_elevation_request(portable_client::StartPara::Direct)
|
||||
.await;
|
||||
}
|
||||
Some(elevation_request::Union::Logon(_r)) => {
|
||||
#[cfg(windows)]
|
||||
{
|
||||
let mut err = "No need to elevate".to_string();
|
||||
if !crate::platform::is_installed() && !portable_client::running() {
|
||||
err = portable_client::start_portable_service(
|
||||
portable_client::StartPara::Logon(_r.username, _r.password),
|
||||
)
|
||||
.err()
|
||||
.map_or("".to_string(), |e| e.to_string());
|
||||
}
|
||||
let mut misc = Misc::new();
|
||||
misc.set_elevation_response(err);
|
||||
let mut msg = Message::new();
|
||||
msg.set_misc(misc);
|
||||
self.send(msg).await;
|
||||
}
|
||||
Some(elevation_request::Union::Logon(r)) => {
|
||||
self.handle_elevation_request(portable_client::StartPara::Logon(
|
||||
r.username, r.password,
|
||||
))
|
||||
.await;
|
||||
}
|
||||
_ => {}
|
||||
},
|
||||
@ -2009,6 +1984,21 @@ impl Connection {
|
||||
true
|
||||
}
|
||||
|
||||
#[cfg(windows)]
|
||||
async fn handle_elevation_request(&mut self, para: portable_client::StartPara) {
|
||||
let mut err = "No need to elevate".to_string();
|
||||
if !crate::platform::is_installed() && !portable_client::running() {
|
||||
err = portable_client::start_portable_service(para)
|
||||
.err()
|
||||
.map_or("".to_string(), |e| e.to_string());
|
||||
}
|
||||
let mut misc = Misc::new();
|
||||
misc.set_elevation_response(err);
|
||||
let mut msg = Message::new();
|
||||
msg.set_misc(misc);
|
||||
self.send(msg).await;
|
||||
}
|
||||
|
||||
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
||||
fn change_resolution(&mut self, r: &Resolution) {
|
||||
if self.keyboard {
|
||||
|
Loading…
x
Reference in New Issue
Block a user