From 0175cfbfb6f5129f47f923de507e769dc5622f25 Mon Sep 17 00:00:00 2001 From: veeso Date: Fri, 18 Jun 2021 14:22:35 +0200 Subject: [PATCH] Code enhancements --- src/ui/activities/filetransfer/actions/mod.rs | 9 ++---- src/ui/activities/filetransfer/session.rs | 32 +++++++++---------- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/src/ui/activities/filetransfer/actions/mod.rs b/src/ui/activities/filetransfer/actions/mod.rs index dcd33d9..10fab58 100644 --- a/src/ui/activities/filetransfer/actions/mod.rs +++ b/src/ui/activities/filetransfer/actions/mod.rs @@ -78,8 +78,7 @@ impl FileTransferActivity { let files: Vec<&FsEntry> = files .iter() .map(|x| self.local().get(*x)) // Usize to Option - .filter(|x| x.is_some()) // Get only some values - .map(|x| x.unwrap()) // Option to FsEntry + .flatten() .collect(); SelectedEntry::from(files) } @@ -97,8 +96,7 @@ impl FileTransferActivity { let files: Vec<&FsEntry> = files .iter() .map(|x| self.remote().get(*x)) // Usize to Option - .filter(|x| x.is_some()) // Get only some values - .map(|x| x.unwrap()) // Option to FsEntry + .flatten() .collect(); SelectedEntry::from(files) } @@ -118,8 +116,7 @@ impl FileTransferActivity { let files: Vec<&FsEntry> = files .iter() .map(|x| self.found().as_ref().unwrap().get(*x)) // Usize to Option - .filter(|x| x.is_some()) // Get only some values - .map(|x| x.unwrap()) // Option to FsEntry + .flatten() .collect(); SelectedEntry::from(files) } diff --git a/src/ui/activities/filetransfer/session.rs b/src/ui/activities/filetransfer/session.rs index bb3ef26..855ca5b 100644 --- a/src/ui/activities/filetransfer/session.rs +++ b/src/ui/activities/filetransfer/session.rs @@ -252,18 +252,17 @@ impl FileTransferActivity { // Reset states self.transfer.reset(); // Calculate total size of transfer - let mut total_transfer_size: usize = 0; - for entry in entries.iter() { - total_transfer_size += self.get_total_transfer_size_local(entry); - } + let total_transfer_size: usize = entries + .iter() + .map(|x| self.get_total_transfer_size_local(x)) + .sum(); self.transfer.full.init(total_transfer_size); // Mount progress bar self.mount_progress_bar(format!("Uploading {} entries...", entries.len())); // Send recurse - for entry in entries.iter() { - // Send - self.filetransfer_send_recurse(entry, curr_remote_path, None); - } + entries + .iter() + .for_each(|x| self.filetransfer_send_recurse(x, curr_remote_path, None)); // Umount progress bar self.umount_progress_bar(); Ok(()) @@ -569,18 +568,17 @@ impl FileTransferActivity { // Reset states self.transfer.reset(); // Calculate total size of transfer - let mut total_transfer_size: usize = 0; - for entry in entries.iter() { - total_transfer_size += self.get_total_transfer_size_remote(entry); - } + let total_transfer_size: usize = entries + .iter() + .map(|x| self.get_total_transfer_size_remote(x)) + .sum(); self.transfer.full.init(total_transfer_size); // Mount progress bar - self.mount_progress_bar(format!("Uploading {} entries...", entries.len())); + self.mount_progress_bar(format!("Downloading {} entries...", entries.len())); // Send recurse - for entry in entries.iter() { - // Send - self.filetransfer_recv_recurse(entry, curr_remote_path, None); - } + entries + .iter() + .for_each(|x| self.filetransfer_recv_recurse(x, curr_remote_path, None)); // Umount progress bar self.umount_progress_bar(); Ok(())