refactor windows specific session, file transfer and waiting for image (#7184)

* refactor windows specific session, file transfer and waiting for image

1. File transfer doesn't show directory until correct session id is ensured
2. Fix file transfer, caused by `pi.username = self.lc.read().unwrap().get_username(&pi);` in `handle_peer_info` override empty username and `get_active_username` doesn't return currect session username
* Fix home directory not change when session changed, or wrong home directory
* Fix show empty remote directory rather than error messagbox when current session is in login screen
3. Show `Connected, waiting for image` after user choose the same
   session id

Signed-off-by: 21pages <pages21@163.com>

* update translations

Signed-off-by: 21pages <pages21@163.com>

* Update connection.rs

---------

Signed-off-by: 21pages <pages21@163.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
This commit is contained in:
21pages
2024-02-19 10:32:13 +08:00
committed by GitHub
parent 0f44de7dc3
commit bf5abdb520
47 changed files with 553 additions and 121 deletions

View File

@@ -1150,6 +1150,7 @@ pub struct LoginConfigHandler {
pub adapter_luid: Option<i64>,
pub mark_unsupported: Vec<CodecFormat>,
pub selected_windows_session_id: Option<u32>,
pub peer_info: Option<PeerInfo>,
}
impl Deref for LoginConfigHandler {
@@ -1518,6 +1519,7 @@ impl LoginConfigHandler {
}
let mut n = 0;
let mut msg = OptionMessage::new();
// Version 1.2.5 can remove this, and OptionMessage is not needed for file transfer
msg.support_windows_specific_session = BoolOption::Yes.into();
n += 1;