reload remote dir func

This commit is contained in:
ChristianVisintin
2020-11-27 16:47:22 +01:00
parent 91557a079d
commit 8e4314cc6f

View File

@@ -43,6 +43,7 @@ use crossterm::event::{KeyCode, KeyModifiers};
use crossterm::terminal::{disable_raw_mode, enable_raw_mode}; use crossterm::terminal::{disable_raw_mode, enable_raw_mode};
use std::collections::VecDeque; use std::collections::VecDeque;
use std::io::Stdout; use std::io::Stdout;
use std::path::PathBuf;
use std::time::Instant; use std::time::Instant;
use tui::{ use tui::{
backend::CrosstermBackend, backend::CrosstermBackend,
@@ -234,17 +235,11 @@ impl FileTransferActivity {
Ok(_) => { Ok(_) => {
// Set state to explorer // Set state to explorer
self.input_mode = InputMode::Explorer; self.input_mode = InputMode::Explorer;
// Get current entries self.reload_remote_dir();
if let Ok(pwd) = self.client.pwd() {
match self.client.list_dir(pwd.as_path()) {
Ok(entries) => self.remote.files = entries,
Err(err) => self.log(LogLevel::Error, format!("Unable to get files from remote at '{}': {}", pwd.display(), err.msg()).as_ref())
}
}
} }
Err(err) => { Err(err) => {
// Set popup fatal error // Set popup fatal error
self.input_mode = InputMode::Popup(PopupType::Fatal(err.msg())); self.input_mode = InputMode::Popup(PopupType::Fatal(format!("{}", err)));
} }
} }
} }
@@ -264,6 +259,24 @@ impl FileTransferActivity {
self.disconnected = true; self.disconnected = true;
} }
fn reload_remote_dir(&mut self) {
// Get current entries
if let Ok(pwd) = self.client.pwd() {
match self.client.list_dir(pwd.as_path()) {
Ok(entries) => self.remote.files = entries,
Err(err) => self.log(
LogLevel::Error,
format!(
"Unable to get files from remote at '{}': {}",
pwd.display(),
err
)
.as_ref(),
),
}
}
}
/// ### log /// ### log
/// ///
/// Add message to log events /// Add message to log events