wrkdir as member of FileExplorer

This commit is contained in:
ChristianVisintin
2020-12-17 08:45:50 +01:00
parent d95cda3dfc
commit 7a115e5dc3
5 changed files with 76 additions and 122 deletions

View File

@@ -50,7 +50,6 @@ impl FileTransferActivity {
/// Draw UI
pub(super) fn draw(&mut self) {
let mut ctx: Context = self.context.take().unwrap();
let local_wrkdir: PathBuf = ctx.local.pwd();
let _ = ctx.terminal.draw(|f| {
// Prepare chunks
let chunks = Layout::default()
@@ -77,17 +76,12 @@ impl FileTransferActivity {
remote_state.select(Some(self.remote.index));
// Draw tabs
f.render_stateful_widget(
self.draw_local_explorer(local_wrkdir, tabs_chunks[0].width),
self.draw_local_explorer(tabs_chunks[0].width),
tabs_chunks[0],
&mut localhost_state,
);
// Get pwd
let remote_wrkdir: PathBuf = match self.client.pwd() {
Ok(p) => p,
Err(_) => PathBuf::from("/"),
};
f.render_stateful_widget(
self.draw_remote_explorer(remote_wrkdir, tabs_chunks[1].width),
self.draw_remote_explorer(tabs_chunks[1].width),
tabs_chunks[1],
&mut remote_state,
);
@@ -153,7 +147,7 @@ impl FileTransferActivity {
/// ### draw_local_explorer
///
/// Draw local explorer list
pub(super) fn draw_local_explorer(&self, local_wrkdir: PathBuf, width: u16) -> List {
pub(super) fn draw_local_explorer(&self, width: u16) -> List {
let hostname: String = match hostname::get() {
Ok(h) => {
let hostname: String = h.as_os_str().to_string_lossy().to_string();
@@ -188,7 +182,7 @@ impl FileTransferActivity {
"{}:{} ",
hostname,
FileTransferActivity::elide_wrkdir_path(
local_wrkdir.as_path(),
self.local.wrkdir.as_path(),
hostname.as_str(),
width
)
@@ -202,7 +196,7 @@ impl FileTransferActivity {
/// ### draw_remote_explorer
///
/// Draw remote explorer list
pub(super) fn draw_remote_explorer(&self, remote_wrkdir: PathBuf, width: u16) -> List {
pub(super) fn draw_remote_explorer(&self, width: u16) -> List {
let files: Vec<ListItem> = self
.remote
.files
@@ -229,7 +223,7 @@ impl FileTransferActivity {
"{}:{} ",
self.params.address,
FileTransferActivity::elide_wrkdir_path(
remote_wrkdir.as_path(),
self.remote.wrkdir.as_path(),
self.params.address.as_str(),
width
)